aboutsummaryrefslogtreecommitdiff
path: root/id
diff options
context:
space:
mode:
authorFlorian Reimair <florian.reimair@iaik.tugraz.at>2015-08-11 15:42:13 +0200
committerFlorian Reimair <florian.reimair@iaik.tugraz.at>2015-08-11 15:42:13 +0200
commitebe02bc990d362e39a37906385d7e470235e2627 (patch)
treeb5513c0ccf37f201810ecea4a7af5c21dec60739 /id
parent2ec0757b66d9e23c4c29c9ca59c94acd6a9b46c4 (diff)
parent04381eb4e2d67ced539b34747403bb06cdf36c53 (diff)
downloadmoa-id-spss-ebe02bc990d362e39a37906385d7e470235e2627.tar.gz
moa-id-spss-ebe02bc990d362e39a37906385d7e470235e2627.tar.bz2
moa-id-spss-ebe02bc990d362e39a37906385d7e470235e2627.zip
Merge branch 'samlengine_update' into moa-2.1-Snapshot
Diffstat (limited to 'id')
-rw-r--r--id/ConfigWebTool/pom.xml20
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java15
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/PVP2Utils.java5
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/servlets/Authenticate.java51
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java13
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java48
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java2
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java26
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java6
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java29
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java3
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java2
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java6
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java57
-rw-r--r--id/ConfigWebTool/src/main/resources/applicationResources_de.properties4
-rw-r--r--id/ConfigWebTool/src/main/resources/applicationResources_en.properties4
-rw-r--r--id/history.txt43
-rw-r--r--id/oa/pom.xml6
-rw-r--r--id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/Authenticate.java10
-rw-r--r--id/oa/src/main/webapp/WEB-INF/web.xml4
-rw-r--r--id/pom.xml11
-rw-r--r--id/readme_2.2.0.txt390
-rw-r--r--id/readme_2.2.1.txt451
-rw-r--r--id/readme_2.2.txt394
-rw-r--r--id/server/auth/pom.xml43
-rw-r--r--id/server/auth/src/main/webapp/WEB-INF/applicationContext.xml23
-rw-r--r--id/server/auth/src/main/webapp/WEB-INF/urlrewrite.xml2
-rw-r--r--id/server/auth/src/main/webapp/WEB-INF/web.xml333
-rw-r--r--id/server/auth/src/main/webapp/common/MOA.css617
-rw-r--r--id/server/auth/src/main/webapp/common/logo_digAT.pngbin0 -> 22964 bytes
-rw-r--r--id/server/auth/src/main/webapp/common/main.css253
-rw-r--r--id/server/auth/src/main/webapp/index.html193
-rw-r--r--id/server/auth/src/main/webapp/template_handyBKU.html2
-rw-r--r--id/server/auth/src/main/webapp/template_localBKU.html2
-rw-r--r--id/server/auth/src/main/webapp/template_onlineBKU.html2
-rw-r--r--id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/loginFormFull.html2
-rw-r--r--id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/sendAssertionFormFull.html2
-rw-r--r--id/server/data/deploy/conf/moa-id-configuration/moa-id-configtool.properties2
-rw-r--r--id/server/data/deploy/conf/moa-id-configuration/transforms/TransformsInfoAuthBlockTable_DE_2.1.xml7
-rw-r--r--id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html16
-rw-r--r--id/server/data/deploy/conf/moa-id/htmlTemplates/sendAssertionFormFull.html2
-rw-r--r--id/server/data/deploy/conf/moa-id/htmlTemplates/slo_template.html2
-rw-r--r--id/server/data/deploy/conf/moa-id/moa-id.properties7
-rw-r--r--id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_VIDP.xml4
-rw-r--r--id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming.xml8
-rw-r--r--id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming_attr.xml6
-rw-r--r--id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_outgoing.xml38
-rw-r--r--id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockTable_DE_2.1.xml7
-rw-r--r--id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml4
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt34
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cerbin0 -> 1029 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cerbin0 -> 1159 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt36
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer23
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cerbin0 -> 1167 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cerbin0 -> 1159 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cerbin0 -> 1159 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-test-premium-Enc-05.20141215-20141209.SerNo165fb7.crt36
-rw-r--r--id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_DE_2.1.xml7
-rw-r--r--id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt34
-rw-r--r--id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cerbin0 -> 1029 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cerbin0 -> 1029 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt36
-rw-r--r--id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer23
-rw-r--r--id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungMitTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cerbin0 -> 1167 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungOhneTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cerbin0 -> 1167 bytes
-rw-r--r--id/server/doc/handbook/additional/additional.html261
-rw-r--r--id/server/doc/handbook/application/application.html74
-rw-r--r--id/server/doc/handbook/common/LogoBKA.pngbin8062 -> 0 bytes
-rw-r--r--id/server/doc/handbook/common/MOA.css611
-rw-r--r--id/server/doc/handbook/common/logo_digAT.pngbin0 -> 22964 bytes
-rw-r--r--id/server/doc/handbook/config/config.html809
-rw-r--r--id/server/doc/handbook/index.html31
-rw-r--r--id/server/doc/handbook/install/install.html100
-rw-r--r--id/server/doc/handbook/interfederation/interfederation.html136
-rw-r--r--id/server/doc/handbook/intro/intro.html94
-rw-r--r--id/server/doc/handbook/moduledevinfo/ProcessDefinition.xsd53
-rw-r--r--id/server/doc/handbook/moduledevinfo/moduledevinfo.html388
-rw-r--r--id/server/doc/handbook/protocol/protocol.html330
-rw-r--r--id/server/doc/htmlTemplates/BKU-selection.html2
-rw-r--r--id/server/doc/htmlTemplates/sendAssertion.html2
-rw-r--r--id/server/idserverlib/.gitignore1
-rw-r--r--id/server/idserverlib/pom.xml194
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java15
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java136
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationSessionCleaner.java2
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java2
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java4
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java92
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/StartAuthenticationBuilder.java33
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java20
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/AbstractAuthServletTask.java378
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/AuthModule.java42
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/TaskExecutionException.java57
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/DefaultAuthModuleImpl.java28
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/CertificateReadRequestTask.java103
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/CreateIdentityLinkFormTask.java120
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GetForeignIDTask.java185
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GetMISSessionIDTask.java183
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/PrepareAuthBlockSignatureTask.java104
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyAuthenticationBlockTask.java250
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyCertificateTask.java163
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyIdentityLinkTask.java102
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/registration/ModuleRegistration.java149
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/IdentityLinkAssertionParser.java6
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java15
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AuthServlet.java83
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java96
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetForeignIDServlet.java4
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java7
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java82
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorWithLocalSigningServlet.java4
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/ProcessEngineSignalServlet.java101
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java4
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyCertificateServlet.java10
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java10
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKResponseProcessor.java9
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java3
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProvider.java2
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigLoader.java4
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java68
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java1
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/data/BPKDecryptionParameters.java14
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java2
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationData.java28
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationRoleFactory.java35
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/IAuthData.java7
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java29
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java255
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ExecutionContextImpl.java79
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ExpressionEvaluationContextImpl.java44
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessDefinitionParser.java224
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessDefinitionParserException.java35
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessEngine.java98
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessEngineImpl.java356
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessExecutionException.java36
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessInstance.java164
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessInstanceState.java30
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/ExecutionContext.java63
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/ExpressionEvaluationContext.java23
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/ExpressionEvaluator.java25
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/Task.java23
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStore.java89
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAO.java43
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAOImpl.java90
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/EndEvent.java42
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/ProcessDefinition.java158
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/ProcessNode.java69
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/StartEvent.java45
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/TaskInfo.java94
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/Transition.java136
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/spring/SpringExpressionEvaluator.java61
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/AbstractAuthSourceServlet.java116
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/MoaIdTask.java74
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/SpringWebExpressionEvaluator.java143
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/support/SecureRandomHolder.java35
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/PVPConstants.java4
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java10
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java21
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/MandateProfRepDescAttributeBuilder.java35
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/SchemaValidationException.java52
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/filter/SchemaValidationException.java43
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/filter/SignatureValidationException.java58
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/loginFormFull.html2
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java18
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java14
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerificationEngine.java86
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/InterfederatedIDPPublicServiceFilter.java1
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/MetadataSignatureFilter.java5
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/SchemaValidationFilter.java109
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java4
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java11
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java11
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java78
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AuthenticationRequest.java11
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/ConsentEvaluator.java46
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java112
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateContainer.java3
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateRetrievalRequest.java63
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/PhyPersonMandateContainer.java3
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKPVPUtilits.java2
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/MandateAttributeRequestProvider.java24
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/PVPAuthenticationProvider.java55
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/SignedDocAttributeRequestProvider.java7
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/AuthenticationSessionStoreage.java22
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/IdentityLinkReSigner.java10
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/PVPtoSTORKMapper.java31
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/ServletUtils.java3
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISMandate.java8
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java4
-rw-r--r--id/server/idserverlib/src/main/java/iaik/IAIKRuntimeException.java18
-rw-r--r--id/server/idserverlib/src/main/resources/META-INF/services/at.gv.egovernment.moa.id.auth.modules.AuthModule2
-rw-r--r--id/server/idserverlib/src/main/resources/at/gv/egovernment/moa/id/auth/modules/internal/DefaultAuthentication.process.xml44
-rw-r--r--id/server/idserverlib/src/main/resources/at/gv/egovernment/moa/id/process/ProcessDefinition.xsd53
-rw-r--r--id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties13
-rw-r--r--id/server/idserverlib/src/main/resources/resources/properties/pvp-stork_mapping.properties28
-rw-r--r--id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html2
-rw-r--r--id/server/idserverlib/src/main/resources/resources/templates/sendAssertionFormFull.html2
-rw-r--r--id/server/idserverlib/src/main/resources/resources/templates/slo_template.html2
-rw-r--r--id/server/idserverlib/src/main/resources/resources/templates/stork2_consent.html20
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/ExpressionContextAdapter.java52
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/SimplePojo.java41
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionAwareProcessEngineTest.java116
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionEvaluatorTest.java54
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/CreateSAML1AssertionTask.java59
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/GetIdentityLinkTask.java54
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/SelectBKUTask.java33
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/SignAuthBlockTask.java57
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/ValidateIdentityLinkTask.java42
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/ValidateSignedAuthBlockTask.java47
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/BooleanStringExpressionEvaluator.java24
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/HalloWeltTask.java19
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/HelloWorldTask.java19
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/ProcessDefinitionParserTest.java137
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/ProcessEngineTest.java108
-rw-r--r--id/server/idserverlib/src/test/java/test/tlenz/simpletest.java22
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/hibernate.configuration.test.properties12
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SampleProcessDefinitionForSAML1Authentication.xml54
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SampleProcessDefinitionWithExpression1.xml19
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionAwareProcessEngineTest-context.xml13
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionEvaluatorTest-context.xml14
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/task/IdentityLink_Max_Mustermann.xml52
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/task/SAML1Assertion.xml487
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/task/SignedAuthBlock.xml179
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_MultipleStartEvents.xml22
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_NoStartEvents.xml16
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_TransitionLoop.xml21
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_TransitionRefsTransition.xml19
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_TransitionStartsFromEndEvent.xml19
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/SampleProcessDefinition1.xml18
-rw-r--r--id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/SampleProcessDefinition2.xml21
-rw-r--r--id/server/legacy-backup/mw-messages-api/.classpath27
-rw-r--r--id/server/legacy-backup/mw-messages-api/.project36
-rw-r--r--id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.core.resources.prefs5
-rw-r--r--id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.wst.common.component6
-rw-r--r--id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.wst.common.project.facet.core.xml5
-rw-r--r--id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.wst.validation.prefs2
-rw-r--r--id/server/legacy-backup/stork2-commons/.svn/all-wcprops17
-rw-r--r--id/server/legacy-backup/stork2-commons/.svn/dir-prop-base10
-rw-r--r--id/server/legacy-backup/stork2-commons/.svn/entries99
-rw-r--r--id/server/legacy-backup/stork2-commons/.svn/text-base/Releases.svn-base62
-rw-r--r--id/server/legacy-backup/stork2-commons/.svn/text-base/pom.xml.svn-base213
-rw-r--r--id/server/legacy-backup/stork2-commons/src/.svn/all-wcprops5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/.svn/entries34
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/.svn/all-wcprops5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/.svn/entries37
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/config/.svn/all-wcprops5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/config/.svn/entries31
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/config/embedded/.svn/all-wcprops11
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/config/embedded/.svn/entries62
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/config/embedded/.svn/text-base/pepsUtil.properties.svn-base267
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/.svn/all-wcprops5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/.svn/entries31
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/.svn/all-wcprops5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/.svn/entries31
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/.svn/all-wcprops5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/.svn/entries31
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/.svn/all-wcprops5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/.svn/entries31
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/all-wcprops5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/entries34
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/all-wcprops191
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/entries1085
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeConstants.java.svn-base72
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeName.java.svn-base74
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvider.java.svn-base80
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvidersMap.java.svn-base96
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeSource.java.svn-base188
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeUtil.java.svn-base231
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CitizenConsent.java.svn-base123
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Country.java.svn-base95
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CountryCodes.java.svn-base79
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/DateUtil.java.svn-base169
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeListProcessor.java.svn-base148
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeProvidersMap.java.svn-base82
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IPersonalAttributeList.java.svn-base194
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkLogger.java.svn-base239
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkSession.java.svn-base85
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Linker.java.svn-base316
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSErrors.java.svn-base392
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSParameters.java.svn-base619
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSUtil.java.svn-base353
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSValues.java.svn-base329
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttribute.java.svn-base348
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttributeList.java.svn-base396
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryRequest.java.svn-base447
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryResponse.java.svn-base388
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnRequest.java.svn-base495
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnResponse.java.svn-base383
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutRequest.java.svn-base197
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutResponse.java.svn-base250
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKStatusCode.java.svn-base68
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKSubStatusCode.java.svn-base71
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/package-info.java.svn-base9
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/all-wcprops53
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/entries300
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/AbstractPEPSException.java.svn-base173
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/CPEPSException.java.svn-base143
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InternalErrorPEPSException.java.svn-base74
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidParameterPEPSException.java.svn-base54
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidSessionPEPSException.java.svn-base46
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/SecurityPEPSException.java.svn-base67
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/StorkPEPSException.java.svn-base53
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/package-info.java.svn-base7
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/all-wcprops41
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/entries232
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IAUService.java.svn-base215
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ICheckAttributeValue.java.svn-base37
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IDeriveAttribute.java.svn-base40
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/INormaliseValue.java.svn-base35
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ITranslatorService.java.svn-base100
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/package-info.java.svn-base8
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/resources/.svn/all-wcprops11
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/resources/.svn/entries62
-rw-r--r--id/server/legacy-backup/stork2-commons/src/main/resources/.svn/text-base/log4j.xml.svn-base19
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/.svn/all-wcprops5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/.svn/entries34
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/.svn/all-wcprops5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/.svn/entries31
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/.svn/all-wcprops5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/.svn/entries31
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/.svn/all-wcprops5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/.svn/entries31
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/.svn/all-wcprops5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/.svn/entries31
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/all-wcprops53
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/entries300
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeProvidersMapTestCase.java.svn-base134
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeSourceTestCase.java.svn-base88
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeUtilTestCase.java.svn-base537
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/DateUtilTestCase.java.svn-base294
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PEPSUtilTestCase.java.svn-base553
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeListTestCase.java.svn-base747
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeTestCase.java.svn-base182
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/package-info.java.svn-base5
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/resources/.svn/all-wcprops11
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/resources/.svn/entries62
-rw-r--r--id/server/legacy-backup/stork2-commons/src/test/resources/.svn/text-base/log4j.xml.svn-base19
-rw-r--r--id/server/legacy-backup/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareImpl.java6
-rw-r--r--id/server/moa-id-commons/pom.xml64
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBRead.java2
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/ConfigProperty.java95
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/HttpClientWithProxySupport.java61
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/ValidationHelper.java53
-rw-r--r--id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java11
-rw-r--r--id/server/modules/module-monitoring/pom.xml22
-rw-r--r--id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/auth/servlet/MonitoringServlet.java (renamed from id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/MonitoringServlet.java)10
-rw-r--r--id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/monitoring/DatabaseTestModule.java (renamed from id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/DatabaseTestModule.java)0
-rw-r--r--id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/monitoring/IdentityLinkTestModule.java (renamed from id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/IdentityLinkTestModule.java)0
-rw-r--r--id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/monitoring/TestManager.java (renamed from id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/TestManager.java)0
-rw-r--r--id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/monitoring/TestModuleInterface.java (renamed from id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/TestModuleInterface.java)0
-rw-r--r--id/server/modules/module-stork/pom.xml39
-rw-r--r--id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKAuthModuleImpl.java39
-rw-r--r--id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKProcessEngineSignalServlet.java113
-rw-r--r--id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/AbstractPepsConnectorWithLocalSigningTask.java223
-rw-r--r--id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/CreateStorkAuthRequestFormTask.java114
-rw-r--r--id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorHandleLocalSignResponseTask.java218
-rw-r--r--id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorHandleResponseWithoutSignatureTask.java447
-rw-r--r--id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorTask.java782
-rw-r--r--id/server/modules/module-stork/src/main/resources/at/gv/egovernment/moa/id/auth/modules/stork/STORK.authmodule.beans.xml14
-rw-r--r--id/server/modules/module-stork/src/main/resources/at/gv/egovernment/moa/id/auth/modules/stork/STORKAuthentication.process.xml29
-rw-r--r--id/server/modules/module-stork/src/main/resources/resources/xmldata/fakeIdL_IdL_template.xml51
-rw-r--r--id/server/modules/module-stork/src/test/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKProcessEngineSignalServletTest.java27
-rw-r--r--id/server/modules/module-stork/src/test/resources/at/gv/egovernment/moa/id/auth/modules/stork/SAMLResponse.base641
-rw-r--r--id/server/modules/pom.xml49
-rw-r--r--id/server/pom.xml77
-rw-r--r--id/server/proxy/pom.xml6
-rw-r--r--id/server/stork2-commons/.gitignore1
-rw-r--r--id/server/stork2-commons/.svn/all-wcprops17
-rw-r--r--id/server/stork2-commons/.svn/dir-prop-base10
-rw-r--r--id/server/stork2-commons/.svn/entries99
-rw-r--r--id/server/stork2-commons/.svn/text-base/Releases.svn-base73
-rw-r--r--id/server/stork2-commons/.svn/text-base/pom.xml.svn-base213
-rw-r--r--id/server/stork2-commons/pom.xml50
-rw-r--r--id/server/stork2-commons/src/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/.svn/entries34
-rw-r--r--id/server/stork2-commons/src/main/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/main/.svn/entries37
-rw-r--r--id/server/stork2-commons/src/main/config/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/main/config/.svn/entries31
-rw-r--r--id/server/stork2-commons/src/main/config/embedded/.svn/all-wcprops11
-rw-r--r--id/server/stork2-commons/src/main/config/embedded/.svn/entries62
-rw-r--r--id/server/stork2-commons/src/main/config/embedded/.svn/text-base/pepsUtil.properties.svn-base269
-rw-r--r--id/server/stork2-commons/src/main/config/embedded/pepsUtil.properties273
-rw-r--r--id/server/stork2-commons/src/main/java/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/main/java/.svn/entries31
-rw-r--r--id/server/stork2-commons/src/main/java/eu/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/main/java/eu/.svn/entries31
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/.svn/entries31
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/.svn/entries34
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/entries34
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/all-wcprops191
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/entries1085
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeConstants.java.svn-base72
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeName.java.svn-base74
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvider.java.svn-base123
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvidersMap.java.svn-base96
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeSource.java.svn-base188
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeUtil.java.svn-base231
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CitizenConsent.java.svn-base123
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Country.java.svn-base95
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CountryCodes.java.svn-base79
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/DateUtil.java.svn-base169
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeListProcessor.java.svn-base148
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeProvidersMap.java.svn-base82
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IPersonalAttributeList.java.svn-base194
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkLogger.java.svn-base239
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkSession.java.svn-base85
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Linker.java.svn-base316
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSErrors.java.svn-base392
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSParameters.java.svn-base625
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSUtil.java.svn-base391
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSValues.java.svn-base342
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttribute.java.svn-base348
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttributeList.java.svn-base396
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryRequest.java.svn-base447
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryResponse.java.svn-base388
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnRequest.java.svn-base495
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnResponse.java.svn-base383
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutRequest.java.svn-base197
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutResponse.java.svn-base250
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKStatusCode.java.svn-base68
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKSubStatusCode.java.svn-base71
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/package-info.java.svn-base9
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeConstants.java100
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeName.java141
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvider.java224
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvidersMap.java28
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeSource.java355
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeUtil.java391
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/CitizenConsent.java196
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/Country.java136
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/CountryCodes.java90
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/DateUtil.java263
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeListProcessor.java321
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeProvidersMap.java142
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IPersonalAttributeList.java336
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IStorkLogger.java444
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IStorkSession.java125
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/Linker.java135
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSErrors.java743
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSParameters.java1244
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSUtil.java709
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSValues.java641
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttribute.java677
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttributeList.java783
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryRequest.java883
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryResponse.java737
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnRequest.java951
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnResponse.java738
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutRequest.java388
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutResponse.java515
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKStatusCode.java91
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKSubStatusCode.java94
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/all-wcprops53
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/entries300
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/AbstractPEPSException.java.svn-base173
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/CPEPSException.java.svn-base143
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InternalErrorPEPSException.java.svn-base74
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidParameterPEPSException.java.svn-base54
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidSessionPEPSException.java.svn-base46
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/SecurityPEPSException.java.svn-base67
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/StorkPEPSException.java.svn-base53
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/package-info.java.svn-base7
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/AbstractPEPSException.java304
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/CPEPSException.java247
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InternalErrorPEPSException.java100
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidParameterPEPSException.java59
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidSessionPEPSException.java42
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/SecurityPEPSException.java87
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/StorkPEPSException.java56
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/package-info.java1
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/all-wcprops41
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/entries232
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IAUService.java.svn-base215
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ICheckAttributeValue.java.svn-base37
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IDeriveAttribute.java.svn-base40
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/INormaliseValue.java.svn-base35
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ITranslatorService.java.svn-base100
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/package-info.java.svn-base8
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/IAUService.java392
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/ICheckAttributeValue.java28
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/IDeriveAttribute.java31
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/INormaliseValue.java22
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/ITranslatorService.java151
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/.svn/entries31
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/all-wcprops125
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/entries708
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/AcTitleType.java.svn-base89
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/AttributeStatusType.java.svn-base61
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/CanonicalAddressType.java.svn-base264
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/Habilitation.java.svn-base89
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/HabilitationType.java.svn-base89
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/HasAccountInBankType.java.svn-base89
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/HasDegreeType.java.svn-base174
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsAcademicStaffType.java.svn-base145
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsAdminStaffType.java.svn-base89
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsCourseCoordinatorType.java.svn-base89
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsHCPType.java.svn-base145
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsHealthCareProfessionalType.java.svn-base145
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsStudentType.java.svn-base146
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsTeacherOfType.java.svn-base145
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/MandateContentType.java.svn-base233
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/MandateType.java.svn-base125
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/ObjectFactory.java.svn-base433
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/RepresentationPersonType.java.svn-base289
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/RequestedAttributeType.java.svn-base212
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/package-info.java.svn-base9
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AdditionalInformationType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AddressType.java427
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedFileDataType.java145
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedFileURLType.java149
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedImageDataType.java145
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedImageURLType.java149
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedType.java266
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachmentsType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CertificationOfTheSupplementType.java149
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ContactInformationType.java234
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CountryType.java2388
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseStructureDiagramType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitLanguageOfInstructionType.java106
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitLanguagesOfInstructionType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitStudentPerformanceType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitType.java1938
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitTypeType.java64
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitWorkPlacementType.java195
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitWorkPlacementsType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesAttendedInOtherInstitutionInMobilityProgramsType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesGroupType.java271
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesGroupsType.java208
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesUnitsType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/DiplomaSupplementType.java622
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ECTSGradingScaleType.java108
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/EHEAFrameworkType.java76
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ExtensionContentType.java119
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/FamilyNameType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GenderType.java64
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GivenNameType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GradingSchemeAndGradeDistributionGuidanceType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ImageMimeType.java100
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationIdentifyingTheHolderOfTheQualificationType.java672
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationIdentifyingTheQualificationType.java312
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheContentsAndResultsGainedType.java364
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheFunctionOfTheQualificationType.java213
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheLevelOfTheQualificationType.java620
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InstitutionType.java729
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LanguageType.java1416
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LanguagesOfInstructionAndExaminationType.java225
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LocalGradeType.java366
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MimeType.java142
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeCourseUnitType.java423
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeCoursesUnitsType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeType.java520
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ModeOfDeliveryType.java64
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ModeOfStudyType.java100
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MultilingualDiplomaSupplementType.java129
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/NameAndStatusOfAwardingInstitutionType.java162
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/NameAndStatusOfInstitutionAdministeringStudiesType.java162
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ObjectFactory.java1259
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialCertifyingType.java194
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialStampType.java102
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialsCertifyingType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ProgrammeDetailsType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ProgrammeRequirementsType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/QualificationType.java193
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/RichTextTagType.java261
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/SourceGradeType.java76
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/TitleConferredType.java57
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/package-info.java1
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/AcTitleType.java90
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/AttributeStatusType.java55
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/CanonicalAddressType.java405
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/CurrentStudiesType.java283
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/DiplomaSupplementType.java298
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/Habilitation.java90
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HabilitationType.java90
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HasAccountInBankType.java90
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HasDegreeType.java248
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsAcademicStaffType.java180
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsAdminStaffType.java90
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsCourseCoordinatorType.java90
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsHealthCareProfessionalDeprecatedType.java182
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsHealthCareProfessionalType.java182
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsStudentType.java178
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsTeacherOfType.java182
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/MandateContentType.java459
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/MandateType.java212
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/ObjectFactory.java963
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/OriginalMandateType.java98
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/RepresentationPersonType.java446
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/RequestedAttributeType.java307
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/TimeRestrictionType.java107
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/TransactionLimitRestrictionType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/package-info.java1
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AdditionalInformationType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AddressType.java272
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedFileDataType.java145
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedFileURLType.java149
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedImageDataType.java145
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedImageURLType.java149
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedType.java266
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachmentsType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CertificationOfTheSupplementType.java149
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ContactInformationType.java234
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CountryTextCodeType.java102
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CountryType.java219
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseStructureDiagramType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitLanguageOfInstructionType.java102
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitLanguagesOfInstructionType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitStudentPerformanceType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitType.java2030
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitTypeType.java52
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitWorkPlacementType.java195
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitWorkPlacementsType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesAttendedInOtherInstitutionInMobilityProgramsType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesGroupType.java271
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesGroupsType.java208
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesUnitsType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ECTSGradingScaleType.java29
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/EHEAFrameworkType.java55
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ExtensionContentType.java119
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/FamilyNameType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GenderType.java52
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GeneralDiplomaType.java622
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GivenNameType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GradingSchemeAndGradeDistributionGuidanceType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ImageMimeType.java55
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationIdentifyingTheHolderOfTheQualificationType.java471
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationIdentifyingTheQualificationType.java312
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheContentsAndResultsGainedType.java364
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheFunctionOfTheQualificationType.java213
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheLevelOfTheQualificationType.java620
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InstitutionType.java524
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LanguageType.java334
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LanguagesOfInstructionAndExaminationType.java335
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LocalGradeType.java362
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MimeType.java61
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeCourseUnitType.java419
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeCoursesUnitsType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeType.java411
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ModeOfDeliveryType.java55
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ModeOfStudyType.java55
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MultilingualGeneralDiplomaType.java129
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/NameAndStatusOfAwardingInstitutionType.java170
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/NameAndStatusOfInstitutionAdministeringStudiesType.java170
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ObjectFactory.java1211
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialCertifyingType.java202
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialStampType.java110
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialsCertifyingType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ProgrammeDetailsType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ProgrammeRequirementsType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/QualificationType.java193
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/RichTextTagType.java257
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/SourceGradeType.java55
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/TitleConferredType.java57
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/package-info.java1
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/CanonicalizationMethodType.java120
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/DSAKeyValueType.java333
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/DigestMethodType.java121
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/KeyInfoType.java150
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/KeyValueType.java83
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ManifestType.java121
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ObjectFactory.java1063
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ObjectType.java217
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/PGPDataType.java96
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/RSAKeyValueType.java95
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ReferenceType.java314
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/RetrievalMethodType.java151
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SPKIDataType.java74
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureMethodType.java123
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignaturePropertiesType.java121
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignaturePropertyType.java172
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureType.java277
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureValueType.java104
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignedInfoType.java213
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/TransformType.java124
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/TransformsType.java70
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/X509DataType.java89
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/X509IssuerSerialType.java103
-rw-r--r--id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/package-info.java1
-rw-r--r--id/server/stork2-commons/src/main/resources/.svn/all-wcprops17
-rw-r--r--id/server/stork2-commons/src/main/resources/.svn/entries96
-rw-r--r--id/server/stork2-commons/src/main/resources/.svn/text-base/StorkcomplexAttributes.xsd.svn-base305
-rw-r--r--id/server/stork2-commons/src/main/resources/.svn/text-base/log4j.xml.svn-base19
-rw-r--r--id/server/stork2-commons/src/main/resources/schema/StorkcomplexAttributes.xsd691
-rw-r--r--id/server/stork2-commons/src/main/resources/schema/diploma.xsd3244
-rw-r--r--id/server/stork2-commons/src/main/resources/schema/xmldsig-core-schema.xsd564
-rw-r--r--id/server/stork2-commons/src/test/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/test/.svn/entries34
-rw-r--r--id/server/stork2-commons/src/test/java/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/test/java/.svn/entries31
-rw-r--r--id/server/stork2-commons/src/test/java/eu/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/test/java/eu/.svn/entries31
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/.svn/entries31
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/.svn/all-wcprops5
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/.svn/entries31
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/all-wcprops59
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/entries334
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeProvidersMapTestCase.java.svn-base134
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeSourceTestCase.java.svn-base88
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeUtilTestCase.java.svn-base537
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/ComplexAttributesMarshalling.java.svn-base187
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/DateUtilTestCase.java.svn-base294
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PEPSUtilTestCase.java.svn-base553
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeListTestCase.java.svn-base747
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeTestCase.java.svn-base182
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/package-info.java.svn-base5
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeProvidersMapTestCase.java225
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeSourceTestCase.java144
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeUtilTestCase.java998
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/ComplexAttributesMarshalling.java238
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/DateUtilTestCase.java520
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PEPSUtilTestCase.java1020
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PersonalAttributeListTestCase.java1448
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PersonalAttributeTestCase.java307
-rw-r--r--id/server/stork2-commons/src/test/java/eu/stork/peps/tests/package-info.java1
-rw-r--r--id/server/stork2-commons/src/test/resources/.svn/all-wcprops11
-rw-r--r--id/server/stork2-commons/src/test/resources/.svn/entries62
-rw-r--r--id/server/stork2-commons/src/test/resources/.svn/text-base/log4j.xml.svn-base19
-rw-r--r--id/server/stork2-commons/src/test/resources/log4j.xml24
-rw-r--r--id/server/stork2-saml-engine/pom.xml58
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/SAMLEngine.java128
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/SAMLEngineUtils.java459
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/STORKSAMLEngine.java2491
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/X509PrincipalUtil.java96
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/AuthenticationAttributes.java46
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CitizenCountryCode.java45
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CustomAttributeQuery.java72
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CustomRequestAbstractType.java327
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDCrossBorderShare.java56
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDCrossSectorShare.java54
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDSectorShare.java55
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/QAAAttribute.java67
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/RequestedAttribute.java215
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/RequestedAttributes.java38
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SAMLCore.java148
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SAMLEngineSignI.java105
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPApplication.java53
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPCountry.java53
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPID.java45
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPInformation.java45
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPInstitution.java53
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPSector.java53
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/STORKSAMLCore.java910
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/VIDPAuthenticationAttributes.java75
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesBuilder.java54
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesImpl.java140
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesUnmarshaller.java15
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeBuilder.java42
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeImpl.java86
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeMarshaller.java26
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeUnmarshaller.java23
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryBuilder.java25
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryImpl.java62
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryMarshaller.java69
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryUnmarshaller.java165
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareBuilder.java16
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareImpl.java93
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareMarshaller.java14
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareUnmarshaller.java13
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareBuilder.java46
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareImpl.java92
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareMarshaller.java13
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareUnmarshaller.java15
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareBuilder.java45
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareImpl.java100
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareMarshaller.java12
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareUnmarshaller.java14
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeBuilder.java46
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeImpl.java88
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeMarshaller.java26
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeUnmarshaller.java23
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeBuilder.java51
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeImpl.java360
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeMarshaller.java76
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeUnmarshaller.java98
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesBuilder.java51
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesImpl.java121
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesMarshaller.java12
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesUnmarshaller.java37
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationBuilder.java45
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationImpl.java88
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationMarshaller.java27
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationUnmarshaller.java24
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryBuilder.java44
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryImpl.java84
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryMarshaller.java26
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryUnmarshaller.java24
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDBuilder.java42
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDImpl.java86
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDMarshaller.java26
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDUnmarshaller.java23
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationBuilder.java19
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationImpl.java140
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationMarshaller.java12
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationUnmarshaller.java41
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionBuilder.java45
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionImpl.java90
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionMarshaller.java27
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionUnmarshaller.java23
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorBuilder.java42
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorImpl.java93
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorMarshaller.java26
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorUnmarshaller.java24
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignHW.java693
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignModuleFactory.java54
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignP12.java309
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignSW.java906
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesBuilder.java19
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesImpl.java170
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesMarshaller.java12
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesUnmarshaller.java45
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/CustomAttributeQueryValidator.java65
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/ExtensionsSchemaValidator.java46
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/MultipleAssertionResponseValidator.java85
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/QAAAttributeSchemaValidator.java28
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationCreator.java212
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationEngine.java74
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationReader.java319
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationSingleton.java66
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/InstanceEngine.java74
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/package-info.java1
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/SAMLEngineException.java59
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/STORKSAMLEngineException.java223
-rw-r--r--id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/STORKSAMLEngineRuntimeException.java59
-rw-r--r--id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/SSETestUtils.java248
-rw-r--r--id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/SimpleBaseTest.java61
-rw-r--r--id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAttrQueryRequestTest.java1624
-rw-r--r--id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAttrQueryResponseTest.java1757
-rw-r--r--id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAuthRequestTest.java1681
-rw-r--r--id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkLogoutRequestTest.java129
-rw-r--r--id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkLogoutResponseTest.java223
-rw-r--r--id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkNewResponseTest.java825
-rw-r--r--id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkResponseTest.java1586
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/SamlEngine.xml124
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/SignModule_Conf0.xml28
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/SignModule_Conf1.xml14
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/SignModule_Conf2.xml14
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/SignModule_Conf3.xml14
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/SignModule_P11.xml13
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf0.xml187
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf1.xml184
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf2.xml151
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf3.xml144
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequest.xml148
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequestSdoc.xml69
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequestTagDelete.xml126
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryResponse.xml242
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequest.xml138
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequestTagDelete.xml88
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequestTagDeleteEncoded.xml88
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/logback-test.xml26
-rw-r--r--id/server/stork2-saml-engine/src/test/resources/p11Conf.cfg30
860 files changed, 56851 insertions, 81951 deletions
diff --git a/id/ConfigWebTool/pom.xml b/id/ConfigWebTool/pom.xml
index 18bd1306b..aa4c9055c 100644
--- a/id/ConfigWebTool/pom.xml
+++ b/id/ConfigWebTool/pom.xml
@@ -83,7 +83,6 @@
<dependency>
<groupId>at.gv.util</groupId>
<artifactId>egovutils</artifactId>
- <version>2.0.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.cxf</groupId>
@@ -139,8 +138,21 @@
<groupId>xalan</groupId>
<artifactId>*</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>org.bouncycastle</groupId>
+ <artifactId>bcprov-jdk15on</artifactId>
+ </exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.opensaml</groupId>
+ <artifactId>openws</artifactId>
+ <version>${openws-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.bouncycastle</groupId>
+ <artifactId>bcprov-jdk16</artifactId>
+ </dependency>
<dependency>
<groupId>javax.mail</groupId>
@@ -150,12 +162,10 @@
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
- <version>2.3.16.3</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
- <version>2.3.16.3</version>
</dependency>
<dependency>
@@ -197,8 +207,8 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
- <source>1.6</source>
- <target>1.6</target>
+ <source>1.7</source>
+ <target>1.7</target>
</configuration>
</plugin>
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java
index 332adaa80..104ea51f5 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java
@@ -32,6 +32,7 @@ import org.opensaml.xml.XMLObject;
import org.opensaml.xml.security.x509.BasicX509Credential;
import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter.SignatureValidationException;
import at.gv.egovernment.moa.id.protocols.pvp2x.verification.EntityVerifier;
public class MetaDataVerificationFilter implements MetadataFilter {
@@ -43,31 +44,31 @@ public class MetaDataVerificationFilter implements MetadataFilter {
}
- public void doFilter(XMLObject metadata) throws FilterException {
+ public void doFilter(XMLObject metadata) throws SignatureValidationException {
+
if (metadata instanceof EntitiesDescriptor) {
EntitiesDescriptor entitiesDescriptor = (EntitiesDescriptor) metadata;
-
if(entitiesDescriptor.getSignature() == null) {
- throw new FilterException("Root element of metadata file has to be signed", null);
+ throw new SignatureValidationException("Root element of metadata file has to be signed");
}
try {
processEntitiesDescriptor(entitiesDescriptor);
} catch (MOAIDException e) {
- throw new FilterException("Invalid Metadata file Root element is no EntitiesDescriptor", null);
+ throw new SignatureValidationException("Invalid signature element in EntitiesDescriptor");
}
- } if (metadata instanceof EntityDescriptor) {
+ } if (metadata instanceof EntityDescriptor) {
try {
EntityDescriptor entity = (EntityDescriptor) metadata;
if (entity.getSignature() != null)
EntityVerifier.verify(entity, this.credential);
else
- throw new FilterException("Root element of metadata file has to be signed", null);
+ throw new SignatureValidationException("Root element of metadata file has to be signed", null);
} catch (MOAIDException e) {
- throw new FilterException("Invalid Metadata file Root element is no EntitiesDescriptor", null);
+ throw new SignatureValidationException("Invalid signature element in EntityDescriptor", null);
}
}
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/PVP2Utils.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/PVP2Utils.java
index 3d66a4b19..3b2e0bd08 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/PVP2Utils.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/PVP2Utils.java
@@ -125,7 +125,10 @@ public class PVP2Utils {
log.warn("Encode PVP 2.1 message FAILED.", e);
throw new PVP2Exception("Encode PVP 2.1 message FAILED.", e);
- }
+ } catch (Exception ex) {
+ log.warn("Initialization exception", ex);
+ throw new PVP2Exception("Initializing Velocity engine FAILED.", ex);
+ }
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/servlets/Authenticate.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/servlets/Authenticate.java
index 390b8c476..a511a3c88 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/servlets/Authenticate.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/servlets/Authenticate.java
@@ -75,33 +75,42 @@ public class Authenticate extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final Logger log = LoggerFactory
- .getLogger(Authenticate.class);
- /**
- * @see HttpServlet#HttpServlet()
- */
- public Authenticate() {
- super();
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ .getLogger(Authenticate.class);
+
+ private static DocumentBuilderFactory factory = null;
+
+ static {
+ initialDocumentBuilderFactory();
+ }
+
+ synchronized private static void initialDocumentBuilderFactory() {
+ factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
+
+ }
+
+ public Document asDOMDocument(XMLObject object) throws IOException,
+ MarshallingException, TransformerException, ParserConfigurationException {
try {
- builder = factory.newDocumentBuilder();
+ DocumentBuilder builder = null;
+ synchronized (factory) {
+ builder = factory.newDocumentBuilder();
+
+ }
+
+ Document document = builder.newDocument();
+ Marshaller out = Configuration.getMarshallerFactory().getMarshaller(
+ object);
+ out.marshall(object, document);
+ return document;
+
} catch (ParserConfigurationException e) {
log.warn("PVP2 AuthenticationServlet can not be initialized.", e);
-
+ throw e;
}
+
}
-
- DocumentBuilder builder;
-
- public Document asDOMDocument(XMLObject object) throws IOException,
- MarshallingException, TransformerException {
- Document document = builder.newDocument();
- Marshaller out = Configuration.getMarshallerFactory().getMarshaller(
- object);
- out.marshall(object, document);
- return document;
- }
-
+
protected void process(HttpServletRequest request,
HttpServletResponse response, Map<String,String> legacyParameter) throws ServletException, IOException {
try {
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java
index 957479b29..8ac7b40d4 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java
@@ -437,23 +437,23 @@ public class ConfigurationProvider {
return parseVersionFromManifest();
}
- public String getCertStoreDirectory() throws CertificateException {
+ public String getCertStoreDirectory() throws ConfigurationException {
String dir = props.getProperty("general.ssl.certstore");
if (MiscUtil.isNotEmpty(dir))
return FileUtils.makeAbsoluteURL(dir, configRootDir);
else
- throw new CertificateException("No SSLCertStore configured use default JAVA TrustStore.");
+ throw new ConfigurationException("No SSLCertStore configured use default JAVA TrustStore.");
}
- public String getTrustStoreDirectory() throws CertificateException {
+ public String getTrustStoreDirectory() throws ConfigurationException {
String dir = props.getProperty("general.ssl.truststore");
if (MiscUtil.isNotEmpty(dir))
return FileUtils.makeAbsoluteURL(dir, configRootDir);
else
- throw new CertificateException("No SSLTrustStore configured use default JAVA TrustStore.");
+ throw new ConfigurationException("No SSLTrustStore configured use default JAVA TrustStore.");
}
@@ -462,6 +462,11 @@ public class ConfigurationProvider {
}
+ public boolean isPVPMetadataSchemaValidationActive() {
+ return Boolean.parseBoolean(props.getProperty("general.pvp.schemavalidation", "true"));
+
+ }
+
private void initalPVP2Login() throws ConfigurationException {
try {
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java
index 0e65b7dca..a9c914f74 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java
@@ -30,6 +30,7 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
import at.gv.egovernment.moa.id.commons.db.dao.config.BKUURLS;
import at.gv.egovernment.moa.id.commons.db.dao.config.DefaultBKUs;
@@ -40,6 +41,7 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
import at.gv.egovernment.moa.id.commons.db.dao.config.TemplateType;
import at.gv.egovernment.moa.id.commons.db.dao.config.TemplatesType;
import at.gv.egovernment.moa.id.commons.db.dao.config.TestCredentials;
+import at.gv.egovernment.moa.id.commons.db.dao.config.TestCredentialsCredentialOIDItem;
import at.gv.egovernment.moa.id.commons.db.dao.config.TransformsInfoType;
import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
@@ -207,8 +209,9 @@ public class OAAuthenticationData implements IOnlineApplicationData {
}
if (oaauth.getTestCredentials() != null) {
- enableTestCredentials = oaauth.getTestCredentials().isEnableTestCredentials();
- testCredentialOIDs = oaauth.getTestCredentials().getCredentialOID();
+ enableTestCredentials = oaauth.getTestCredentials().isEnableTestCredentials();
+ testCredentialOIDs = new ArrayList<String>();
+ testCredentialOIDs.addAll(oaauth.getTestCredentials().getCredentialOID());
}
@@ -315,12 +318,20 @@ public class OAAuthenticationData implements IOnlineApplicationData {
if (enableTestCredentials) {
TestCredentials testing = authoa.getTestCredentials();
- if (testing == null)
- testing = new TestCredentials();
-
- testing.setEnableTestCredentials(enableTestCredentials);
+ if (testing != null)
+ ConfigurationDBUtils.delete(testing);
+
+ testing = new TestCredentials();
+ authoa.setTestCredentials(testing);
+ testing.setEnableTestCredentials(enableTestCredentials);
testing.setCredentialOID(testCredentialOIDs);
+ } else {
+ TestCredentials testing = authoa.getTestCredentials();
+ if (testing != null) {
+ testing.setEnableTestCredentials(false);
+ }
+
}
return null;
@@ -576,12 +587,14 @@ public class OAAuthenticationData implements IOnlineApplicationData {
*/
public String getTestCredentialOIDs() {
String value = null;
- for (String el : testCredentialOIDs) {
- if (value == null)
- value = el;
- else
- value += "," + el;
+ if (testCredentialOIDs != null) {
+ for (String el : testCredentialOIDs) {
+ if (value == null)
+ value = el;
+ else
+ value += "," + el;
+ }
}
return value;
@@ -595,12 +608,13 @@ public class OAAuthenticationData implements IOnlineApplicationData {
* @param testCredentialOIDs the testCredentialOIDs to set
*/
public void setTestCredentialOIDs(String testCredentialOIDs) {
- String[] oidList = testCredentialOIDs.split(",");
+ if (MiscUtil.isNotEmpty(testCredentialOIDs)) {
+ String[] oidList = testCredentialOIDs.split(",");
- this.testCredentialOIDs = new ArrayList<String>();
- for (int i=0; i<oidList.length; i++)
- this.testCredentialOIDs.add(oidList[i].trim());
+ this.testCredentialOIDs = new ArrayList<String>();
+ for (int i=0; i<oidList.length; i++)
+ this.testCredentialOIDs.add(oidList[i].trim());
+ }
}
-
-
+
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java
index 150cd959e..bb7bac4f8 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java
@@ -82,7 +82,7 @@ public class OATargetConfiguration implements IOnlineApplicationData {
*/
@Override
public List<String> parse(OnlineApplication dbOA,
- AuthenticatedUser authUser, HttpServletRequest request) {
+ AuthenticatedUser authUser, HttpServletRequest request) {
String target_full = dbOA.getTarget();
if (MiscUtil.isNotEmpty(target_full)) {
if (TargetValidator.isValidTarget(target_full)) {
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java
index d13696d51..8ddeb9ebc 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java
@@ -134,21 +134,20 @@ public class AuthenticationFilter implements Filter{
log.trace("Request URL: " + requestURL);
- AuthenticationManager authManager = AuthenticationManager.getInstance();
- if (!authManager.isActiveUser(authuser)) {
- //user is not active anymore. Invalidate session and reauthenticate user
- String authID = (String) session.getAttribute(Constants.SESSION_PVP2REQUESTID);
- session.invalidate();
- authuser = null;
+ AuthenticationManager authManager = AuthenticationManager.getInstance();
+ if (!authManager.isActiveUser(authuser) && !this.isExcluded(requestURL)) {
+ if (!this.isExcluded(requestURL)) {
+ //user is not active anymore. Invalidate session and reauthenticate user
+ String authID = (String) session.getAttribute(Constants.SESSION_PVP2REQUESTID);
+ session.invalidate();
+ authuser = null;
- //TODO: set infotext
-
- session = httpServletRequest.getSession(true);
- session.setAttribute(Constants.SESSION_PVP2REQUESTID, authID);
- }
-
- if (authuser == null && !this.isExcluded(requestURL)) {
+ //TODO: set infotext
+ session = httpServletRequest.getSession(true);
+ session.setAttribute(Constants.SESSION_PVP2REQUESTID, authID);
+ }
+
if (config.isLoginDeaktivated()) {
//add dummy Daten
log.warn("Authentication is deaktivated. Dummy authentication-information are used!");
@@ -178,6 +177,7 @@ public class AuthenticationFilter implements Filter{
}
} else {
+
if (MiscUtil.isNotEmpty(getAuthenticatedPage())) {
log.debug("Unable to find authentication data. Authenticated page is given so there is no need to save original request url. " + (loginPageForward ? "Forwarding" : "Redirecting") + " to login page \"" + loginPage + "\".");
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java
index 150483dd8..e5ee5ac09 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java
@@ -60,10 +60,12 @@ public class FormDataHelper {
for (OnlineApplication dboa : dbOAs) {
- if ( !((dboa.isIsInterfederationIDP() != null && dboa.isIsInterfederationIDP()) ||
+ if ( !((dboa.isIsInterfederationIDP() != null && dboa.isIsInterfederationIDP()) ||
+ (dboa.isIsInterfederationGateway() != null && dboa.isIsInterfederationGateway()) ||
(dboa.getAuthComponentOA().getOASTORK() != null
&& dboa.getAuthComponentOA().getOASTORK().isVidpEnabled() != null
- && dboa.getAuthComponentOA().getOASTORK().isVidpEnabled()))) {
+ && dboa.getAuthComponentOA().getOASTORK().isVidpEnabled()) ||
+ (dboa.isIsInterfederationGateway() != null && dboa.isIsInterfederationGateway() ))) {
formOAs.add(addOAFormListElement(dboa, ServiceType.OA));
}
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java
index 5a9787069..82390c49c 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java
@@ -291,8 +291,21 @@ public class BasicOAAction extends BasicAction {
} else {
- if (oaid == -1) {
- onlineapplication = ConfigurationDBRead.getOnlineApplication(oaidentifier);
+ if (oaid == -1) {
+ List<OnlineApplication> oaList = ConfigurationDBRead.getAllOnlineApplications();
+
+ if (oaList != null) {
+ for (OnlineApplication el : oaList) {
+ if (el.getPublicURLPrefix().startsWith(oaidentifier) )
+ onlineapplication = el;
+
+ }
+ }
+
+ if (onlineapplication == null) {
+ onlineapplication = ConfigurationDBRead.getOnlineApplication(oaidentifier);
+
+ }
setNewOA(true);
if (onlineapplication != null) {
log.info("The OAIdentifier is not unique");
@@ -306,7 +319,17 @@ public class BasicOAAction extends BasicAction {
onlineapplication = ConfigurationDBRead.getOnlineApplication(oaid);
if (!oaidentifier.equals(onlineapplication.getPublicURLPrefix())) {
- if (ConfigurationDBRead.getOnlineApplication(oaidentifier) != null) {
+ OnlineApplication dbOA = null;
+ List<OnlineApplication> oaList = ConfigurationDBRead.getAllOnlineApplications();
+ for (OnlineApplication el : oaList) {
+ if (el.getPublicURLPrefix().startsWith(oaidentifier) )
+ dbOA = el;
+
+ }
+ if (dbOA == null)
+ dbOA = ConfigurationDBRead.getOnlineApplication(oaidentifier);
+
+ if ( (dbOA != null && !dbOA.getHjid().equals(oaid))) {
log.info("The OAIdentifier is not unique");
throw new BasicOAActionException(
LanguageHelper.getErrorString("validation.general.oaidentifier.notunique", request),
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
index 31c29aef0..4236c0d13 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
@@ -241,6 +241,9 @@ public class EditGeneralConfigAction extends BasicAction {
}
MOAIDConfiguration dbconfig = ConfigurationDBRead.getMOAIDConfiguration();
+ if (dbconfig == null)
+ dbconfig = new MOAIDConfiguration();
+
AuthComponentGeneral dbauth = dbconfig.getAuthComponentGeneral();
if (dbauth == null) {
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java
index 7f7f083c9..335dbc91e 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java
@@ -133,7 +133,7 @@ public class ListOAsAction extends BasicAction {
} else {
if (ValidationHelper.containsPotentialCSSCharacter(friendlyname, false)) {
log.warn("SearchOA textfield contains potential XSS characters");
- addActionError(LanguageHelper.getErrorString("validation.general.oafriendlyname",
+ addActionError(LanguageHelper.getErrorString("validation.general.oafriendlyname.valid",
new Object[] {ValidationHelper.getPotentialCSSCharacter(false)}, request));
return Constants.STRUTS_SUCCESS;
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java
index fd40bd447..fd4226c5b 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java
@@ -147,12 +147,14 @@ public class OAAuthenticationDataValidation {
}
}
- if (form.isEnableTestCredentials()) {
+ if (form.isEnableTestCredentials()
+ && form.getTestCredialOIDList() != null && !form.getTestCredialOIDList().isEmpty()) {
for (String el : form.getTestCredialOIDList()) {
- if (!el.startsWith(MOAIDAuthConstants.TESTCREDENTIALROOTOID))
+ if (!el.startsWith(MOAIDAuthConstants.TESTCREDENTIALROOTOID)) {
log.warn("Test credential OID does not start with test credential root OID");
errors.add(LanguageHelper.getErrorString("validation.general.testcredentials.oid.valid",
new Object[] {el}, request ));
+ }
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java
index 40e243d0b..37a170267 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java
@@ -36,8 +36,10 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.commons.httpclient.MOAHttpClient;
import org.apache.log4j.Logger;
import org.opensaml.Configuration;
+import org.opensaml.common.xml.SAMLSchemaBuilder;
import org.opensaml.saml2.metadata.provider.HTTPMetadataProvider;
import org.opensaml.saml2.metadata.provider.MetadataFilter;
+import org.opensaml.saml2.metadata.provider.MetadataFilterChain;
import org.opensaml.saml2.metadata.provider.MetadataProviderException;
import org.opensaml.xml.io.Marshaller;
import org.opensaml.xml.io.MarshallerFactory;
@@ -58,6 +60,9 @@ import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider;
import at.gv.egovernment.moa.id.configuration.data.oa.OAPVP2Config;
import at.gv.egovernment.moa.id.configuration.exception.ConfigurationException;
import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper;
+import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter.SchemaValidationException;
+import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter.SignatureValidationException;
+import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.SchemaValidationFilter;
import at.gv.egovernment.moa.util.MiscUtil;
public class OAPVP2ConfigValidation {
@@ -126,17 +131,38 @@ public class OAPVP2ConfigValidation {
} catch (ConfigurationException e) {
log.info("No MOA specific SSL-TrustStore configured. Use default Java TrustStore.", e);
- }
+ }
+
+ List<MetadataFilter> filterList = new ArrayList<MetadataFilter>();
+ filterList.add(new MetaDataVerificationFilter(credential));
+
+ try {
+ filterList.add(new SchemaValidationFilter(
+ ConfigurationProvider.getInstance().isPVPMetadataSchemaValidationActive()));
+
+ } catch (ConfigurationException e) {
+ log.warn("Configuration access FAILED!", e);
+
+ }
+
+ MetadataFilterChain filter = new MetadataFilterChain();
+ filter.setFilters(filterList);
httpProvider =
new HTTPMetadataProvider(timer, httpClient, form.getMetaDataURL());
httpProvider.setParserPool(new BasicParserPool());
httpProvider.setRequireValidMetadata(true);
- httpProvider.setMetadataFilter(new MetaDataVerificationFilter(credential));
+ httpProvider.setMetadataFilter(filter);
httpProvider.setMinRefreshDelay(1000*60*15); //15 minutes
httpProvider.setMaxRefreshDelay(1000*60*60*24); //24 hours
+
+ httpProvider.setRequireValidMetadata(true);
+
httpProvider.initialize();
+
+
+
if (httpProvider.getMetadata() == null) {
log.info("Metadata could be received but validation FAILED.");
errors.add(LanguageHelper.getErrorString("validation.pvp2.metadata.validation", request));
@@ -157,13 +183,28 @@ public class OAPVP2ConfigValidation {
} catch (MetadataProviderException e) {
- if (e.getCause() != null && e.getCause().getCause() instanceof SSLHandshakeException) {
- log.info("SSL Server certificate not trusted.", e);
- errors.add(LanguageHelper.getErrorString("validation.pvp2.metadata.ssl", request));
+ try {
+ if (e.getCause() != null && e.getCause().getCause() instanceof SSLHandshakeException) {
+ log.info("SSL Server certificate not trusted.", e);
+ errors.add(LanguageHelper.getErrorString("validation.pvp2.metadata.ssl", request));
+
+ } else if (e.getCause() != null && e.getCause().getCause() instanceof SignatureValidationException) {
+ log.info("MetaDate verification failed", e);
+ errors.add(LanguageHelper.getErrorString("validation.pvp2.metadata.verify.sig", request));
+
+ } else if (e.getCause() != null && e.getCause().getCause() instanceof SchemaValidationException) {
+ log.info("MetaDate verification failed", e);
+ errors.add(LanguageHelper.getErrorString("validation.pvp2.metadata.verify.schema", request));
+
+ } else {
+ log.info("MetaDate verification failed", e);
+ errors.add(LanguageHelper.getErrorString("validation.pvp2.metadata.verify.general", request));
+ }
+
+ } catch (Exception e1) {
+ log.info("MetaDate verification failed", e1);
+ errors.add(LanguageHelper.getErrorString("validation.pvp2.metadata.verify.general", request));
- } else {
- log.info("MetaDate verification failed", e);
- errors.add(LanguageHelper.getErrorString("validation.pvp2.metadata.verify", request));
}
} finally {
diff --git a/id/ConfigWebTool/src/main/resources/applicationResources_de.properties b/id/ConfigWebTool/src/main/resources/applicationResources_de.properties
index 072f44981..c888a2d77 100644
--- a/id/ConfigWebTool/src/main/resources/applicationResources_de.properties
+++ b/id/ConfigWebTool/src/main/resources/applicationResources_de.properties
@@ -487,7 +487,9 @@ validation.stork.ap.attributes.valid=Ung\u00FCltige Attributconfiguration f\u00F
validation.pvp2.metadataurl.empty=Keine Metadaten URL angegeben.
validation.pvp2.metadataurl.valid=Die Metadaten URL wei\u00DFt kein g\u00FCltiges URL Format auf.
validation.pvp2.metadataurl.read=Unter der angegebenen Metadaten URL konnten keine Informationen abgerufen werden.
-validation.pvp2.metadata.verify=Die Metadaten konnten nicht mit dem angegebenen Zertifikat verifziert werden.
+validation.pvp2.metadata.verify.sig=Die Metadaten konnten nicht mit dem angegebenen Zertifikat verifziert werden.
+validation.pvp2.metadata.verify.schema=Die Schema-Validierung der Metadaten ist fehlgeschlagen.
+validation.pvp2.metadata.verify.general=Bei der Validierung der Metadaten ist ein allgemeiner Fehler aufgetreten.
validation.pvp2.certificate.format=Das angegebene PVP2 Zertifikat wei\u00DFt kein g\u00FCltiges Format auf.
validation.pvp2.certificate.notfound=Kein PVP2 Zertifikat eingef\u00FCgt.
validation.pvp2.metadata.ssl=Das SSL Serverzertifikat des Metadaten Service ist nicht vertrauensw\u00FCrdig.
diff --git a/id/ConfigWebTool/src/main/resources/applicationResources_en.properties b/id/ConfigWebTool/src/main/resources/applicationResources_en.properties
index b717377e0..43dcfeac8 100644
--- a/id/ConfigWebTool/src/main/resources/applicationResources_en.properties
+++ b/id/ConfigWebTool/src/main/resources/applicationResources_en.properties
@@ -485,7 +485,9 @@ validation.stork.ap.attributes.valid=Invalid attribute configuration for Attribu
validation.pvp2.metadataurl.empty=There is no metadata URL provided.
validation.pvp2.metadataurl.valid=The metadata URL has invalid URL format .
validation.pvp2.metadataurl.read=No information could be found under provided URL.
-validation.pvp2.metadata.verify=The metadata could not be verified with the provided certificate.
+validation.pvp2.metadata.verify.sig=The metadata could not be verified with the provided certificate.
+validation.pvp2.metadata.verify.schema=Metadata schema validation FAILED.
+validation.pvp2.metadata.verify.general=Metadata validation has an generic error.
validation.pvp2.certificate.format=The provided PVP2 certificate has invalid format.
validation.pvp2.certificate.notfound=There is no PVP2 inserted.
validation.pvp2.metadata.ssl=The SSL server certificate is not trusted.
diff --git a/id/history.txt b/id/history.txt
index b437bc0aa..1ba311273 100644
--- a/id/history.txt
+++ b/id/history.txt
@@ -1,7 +1,48 @@
Dieses Dokument zeigt die Veränderungen und Erweiterungen
von MOA-ID auf.
-Version MOA-ID Release 2.1.0: Änderungen seit Version MOA-ID 2.0.1
+Version MOA-ID Release 2.2.1: Änderungen seit Version MOA-ID 2.2.0
+- Änderungen
+ - Anpassung VIDP Code für STORK
+ - Update des TrustStore und des Certstore
+ > A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt
+ > a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt
+ > a-sign-test-premium-Enc-05.20141215-20141209.SerNo165fb7.crt
+ - Kleinere Bug-Fixes
+ - Libraries aktualisiert:
+ > mysql:mysql-connector-java 5.1.35
+ > org.slf4j:jcl-over-slf4j 1.7.12
+ > org.slf4j:jul-to-slf4j 1.7.12
+ > org.slf4j:slf4j-api 1.7.12
+ > org.slf4j:slf4j-log4j12 1.7.12
+ > apache:cxf 3.0.4
+ > org.springframework 4.1.6.RELEASE
+ > org.apache.commons.lang3 3.4
+
+
+-------------------------------------------------------------------------------
+Version MOA-ID Release 2.2.0: Änderungen seit Version MOA-ID 2.1.2
+- Neuerungen:
+ - Überarbeitung der Prozessbeschreibung für Authentifizierungsprozesse
+
+- Änderungen
+ - Anpassung VIDP Code für STORK und STORK Defaultkonfiguration
+ - Anpassung des Codes für IDP Interfederation
+ - Kleinere Bug-Fixes
+ - Libraries aktualisiert:
+ > mysql:mysql-connector-java 5.1.34
+ > opensaml:opensaml 2.6.5
+ > org.opensaml:xmltooling 1.4.5
+ > org.slf4j:jcl-over-slf4j 1.7.10
+ > org.slf4j:jul-to-slf4j 1.7.10
+ > org.slf4j:slf4j-api 1.7.10
+ > org.slf4j:slf4j-log4j12 1.7.10
+ > joda-time:joda-time 2.7
+ > apache:cxf 3.0.3
+
+
+-------------------------------------------------------------------------------
+Version MOA-ID Release 2.1.2: Änderungen seit Version MOA-ID 2.1.1
- Neuerungen:
- Einsatz als STORK <-> PVP Gateway
diff --git a/id/oa/pom.xml b/id/oa/pom.xml
index 93993c8a4..173019c1b 100644
--- a/id/oa/pom.xml
+++ b/id/oa/pom.xml
@@ -56,8 +56,8 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
- <source>1.6</source>
- <target>1.6</target>
+ <source>1.7</source>
+ <target>1.7</target>
</configuration>
</plugin>
</plugins>
@@ -110,12 +110,10 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
- <version>1.7.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
- <version>1.7.6</version>
</dependency>
<dependency>
diff --git a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/Authenticate.java b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/Authenticate.java
index 00d82296c..4bce49465 100644
--- a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/Authenticate.java
+++ b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/Authenticate.java
@@ -115,18 +115,18 @@ public class Authenticate extends HttpServlet {
authReq.setAttributeConsumingServiceIndex(0);
authReq.setIssueInstant(new DateTime());
- Subject subject = SAML2Utils.createSAMLObject(Subject.class);
- NameID name = SAML2Utils.createSAMLObject(NameID.class);
+// Subject subject = SAML2Utils.createSAMLObject(Subject.class);
+// NameID name = SAML2Utils.createSAMLObject(NameID.class);
Issuer issuer = SAML2Utils.createSAMLObject(Issuer.class);
String serviceURL = config.getPublicUrlPreFix(request);
if (!serviceURL.endsWith("/"))
serviceURL = serviceURL + "/";
- name.setValue(serviceURL);
+ //name.setValue(serviceURL);
issuer.setValue(serviceURL);
- subject.setNameID(name);
- authReq.setSubject(subject);
+// subject.setNameID(name);
+// authReq.setSubject(subject);
issuer.setFormat(NameIDType.ENTITY);
authReq.setIssuer(issuer);
diff --git a/id/oa/src/main/webapp/WEB-INF/web.xml b/id/oa/src/main/webapp/WEB-INF/web.xml
index d40f156cd..a42985c95 100644
--- a/id/oa/src/main/webapp/WEB-INF/web.xml
+++ b/id/oa/src/main/webapp/WEB-INF/web.xml
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
-<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
-
-<web-app>
<display-name>Sample OA</display-name>
<description>MOA PVP2.1 Sample OA</description>
diff --git a/id/pom.xml b/id/pom.xml
index 0753a7805..6b296e84a 100644
--- a/id/pom.xml
+++ b/id/pom.xml
@@ -77,5 +77,16 @@
</plugin>
</plugins>
</build>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ <version>3.0.1</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
</project>
diff --git a/id/readme_2.2.0.txt b/id/readme_2.2.0.txt
new file mode 100644
index 000000000..6da953e20
--- /dev/null
+++ b/id/readme_2.2.0.txt
@@ -0,0 +1,390 @@
+===============================================================================
+MOA ID Version Release 2.2.0 - Wichtige Informationen zur Installation
+===============================================================================
+
+-------------------------------------------------------------------------------
+A. Neuerungen/Änderungen
+-------------------------------------------------------------------------------
+
+Mit MOA ID Version 2.2.0 wurden folgende Neuerungen eingeführt, die jetzt
+erstmals in der Veröffentlichung enthalten sind (siehe auch history.txt im
+gleichen Verzeichnis):
+
+- Neuerungen:
+ - Überarbeitung der Prozessbeschreibung für Authentifizierungsprozesse
+
+- Änderungen
+ - Anpassung VIDP Code für STORK
+ - Kleinere Bug-Fixes
+ - Update von Libraries
+-------------------------------------------------------------------------------
+B. Durchführung eines Updates
+-------------------------------------------------------------------------------
+
+Es wird generell eine Neuinstallation lt. Handbuch empfohlen! Dennoch ist auch
+eine Aktualisierung bestehender Installationen möglich. Je nachdem von welcher
+MOA-ID Version ausgegangen wird ergibt sich eine Kombination der nachfolgend angebebenen Updateschritte.
+
+...............................................................................
+B.1 Durchführung eines Updates von Version 2.1.2 auf Version 2.2.0
+...............................................................................
+ 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.2.0.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war und
+ moa-id-configuration.war als auch das komplette Verzeichnis moa-id-auth
+ und das komplette Verzeichnis moa-id-configuration.
+
+4. Erstellen Sie eine Sicherungskopie aller "*.jar"-Dateien im Verzeichnis
+ CATALINA_HOME_ID\endorsed und loeschen Sie diese Dateien danach.
+
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+8. Kopieren der folgenden Dateien:
+ Sollte die Datei bereits vorhanden sein erstellen Sie ein Backup der
+ Datei bevor Sie diese durch die neue Version ersetzen.
+ a.) MOA_ID_AUTH_INST/conf/moa-id/stork/StorkSamlEngine_VIDP.xml ->
+ CATALINA_HOME/conf/moa-id/stork/StorkSamlEngine_VIDP.xml
+ b.) MOA_ID_AUTH_INST/conf/moa-id/stork/StorkSamlEngine_outgoing.xml ->
+ CATALINA_HOME/conf/moa-id/stork/StorkSamlEngine_outgoing.xml
+
+9. Dem STORK KeyStores unter MOA_ID_AUTH_INST/conf/moa-id/keys/storkDemoKeys.jks
+ (Passwort=local-demo) wurden neue vertrauenswürdige Zertifikate hinzugefügt.
+ Gleichen Sie bei Bedarf die Zertifikate dieses KeyStores mit Ihrem aktuell
+ verwendeten KeyStore ab.
+
+10. Update des Cert-Stores.
+ Kopieren Sie den Inhalt des Verzeichnisses
+ MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie
+ vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann
+ bejahen sie das.
+
+11. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen
+ wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile
+ beibehalten wollen, dann gehen Sie vor, wie in Punkt b).
+
+ a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen:
+
+ 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles.
+ 2) Kopieren Sie das Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss.
+
+ b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie
+ folgt vor, um die Profile auf den aktuellen Stand zu bringen:
+
+ 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den
+ entsprechenden Profilen im Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren
+ Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt
+ der einzelnen Profile aus der Distribution
+ (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden
+ Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles)
+ kopieren und dabei die vorhandenen gleichnamigen Zertifikate
+ überschreiben), also z.B: Kopieren des Inhalts von
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach
+ CATALINA_HOME\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw.
+
+
+12. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+...............................................................................
+B.2 Durchführung eines Updates von Version 2.1.1 auf Version 2.1.2
+...............................................................................
+ 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.1.2.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war und
+ moa-id-configuration.war als auch das komplette Verzeichnis moa-id-auth
+ und das komplette Verzeichnis moa-id-configuration.
+
+4. Erstellen Sie eine Sicherungskopie aller "*.jar"-Dateien im Verzeichnis
+ CATALINA_HOME_ID\endorsed und loeschen Sie diese Dateien danach.
+
+5. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\endorsed in das
+ Verzeichnis CATALINA_HOME_ID\endorsed
+
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+8. Kopieren der folgenden Dateien
+ a.) MOA_ID_AUTH_INST/conf/moa-id/stork/StorkSamlEngine_VIDP.xml ->
+ CATALINA_HOME/conf/moa-id/stork/StorkSamlEngine_VIDP.xml
+ Sollte die Datei bereits vorhanden sein erstellen Sie ein Backup der
+ Datei slo_template.html bevor Sie diese durch die neue Version ersetzen.
+
+9. Dem STORK KeyStores unter MOA_ID_AUTH_INST/conf/moa-id/keys/storkDemoKeys.jks
+ (Passwort=local-demo) wurden neue vertrauenswürdige Zertifikate hinzugefügt.
+ Gleichen Sie bei Bedarf die Zertifikate dieses KeyStores mit Ihrem aktuell
+ verwendeten KeyStore ab.
+
+10. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.3 Durchführung eines Updates von Version 2.1.0 auf Version 2.1.1
+...............................................................................
+ 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.1.0.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis
+ JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach.
+
+4. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\ext in das
+ Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.4.x wird nicht mehr
+ unterstuetzt).
+
+5. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als
+ auch das komplette Verzeichnis moa-id-auth.
+
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+8. Hinzufügen der zusätzlichen Konfigurationsparameter in der
+ MOA-ID-Configuration Konfigurationsdatei
+ CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties
+ a.) general.moaconfig.key=..... (Passwort zum Ver- und
+ Entschlüsseln von Konfigurationsparametern in der Datenbank)
+
+9. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth
+ Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties
+ a.) configuration.moaconfig.key=..... (Passwort zum Ver- und
+ Entschlüsseln von Konfigurationsparametern in der Datenbank)
+
+10. Kopieren der folgenden Dateien
+ a.) MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/slo_template.html ->
+ CATALINA_HOME/conf/moa-id/htmlTemplates/slo_template.html
+ Sollte die Datei bereits vorhanden sein erstellen Sie ein Backup der
+ Datei slo_template.html bevor Sie diese durch die neue Version ersetzen.
+
+11. Update des Cert-Stores.
+ Kopieren Sie den Inhalt des Verzeichnisses
+ MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie
+ vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann
+ bejahen sie das.
+
+12. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen
+ wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile
+ beibehalten wollen, dann gehen Sie vor, wie in Punkt b).
+
+ a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen:
+
+ 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles.
+ 2) Kopieren Sie das Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss.
+
+ b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie
+ folgt vor, um die Profile auf den aktuellen Stand zu bringen:
+
+ 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den
+ entsprechenden Profilen im Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren
+ Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt
+ der einzelnen Profile aus der Distribution
+ (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden
+ Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles)
+ kopieren und dabei die vorhandenen gleichnamigen Zertifikate
+ überschreiben), also z.B: Kopieren des Inhalts von
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach
+ CATALINA_HOME\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw.
+
+13. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.4 Durchführung eines Updates von Version 2.0.1 auf Version 2.1.0
+...............................................................................
+ 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.1.0.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als
+ auch das komplette Verzeichnis moa-id-auth.
+
+4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+6. Update der STORK Konfiguration
+ a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\stork
+ in das Verzeichnis CATALINA_HOME\conf\moa-id\stork.
+ b.) Passen Sie die STORK Konfiguration laut Handbuch -> Konfiguration ->
+ 2.4 Konfiguration des SamlEngines an.
+
+7. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Configuration Konfigurationsdatei
+ CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties
+ a.) general.ssl.certstore=certs/certstore
+ b.) general.ssl.truststore=certs/truststore
+
+8. Kopieren des folgenden zusätzlichen Ordners MOA_ID_AUTH_INST/conf/moa-id-configuration/certs
+ nach CATALINA_HOME\conf\moa-id-configuration\
+
+9. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth Konfigurationsdatei
+ CATALINA_HOME\conf\moa-id\moa-id.properties und Anpassung an das zu verwendeten Schlüsselpaar.
+ a.) protocols.pvp2.idp.ks.assertion.encryption.alias=pvp_assertion
+ protocols.pvp2.idp.ks.assertion.encryption.keypassword=password
+
+10. Kopieren der folgenden zusätzlichen Ordner aus MOA_ID_AUTH_INST/conf/moa-id/
+ nach CATALINA_HOME\conf\moa-id\
+ a.) MOA_ID_AUTH_INST/conf/moa-id/SLTemplates -> CATALINA_HOME\conf\moa-id\
+ b.) MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/slo_template.html ->
+ CATALINA_HOME/conf/moa-id/htmlTemplates/slo_template.html
+
+11. Neuinitialisieren des Datenbank Schema für die MOA-Session. Hierfür stehen
+ zwei Varianten zur Verfügung.
+ a.) Ändern Sie in der Konfigurationsdatei für das Modul MOA-ID-Auth
+ CATALINA_HOME\conf\moa-id\moa-id.properties die Zeile
+ moasession.hibernate.hbm2ddl.auto=update
+ zu
+ moasession.hibernate.hbm2ddl.auto=create
+ Danach werden die Tabellen beim nächsten Startvorgang neu generiert.
+
+ b.) Löschen Sie alle Tabellen aus dem Datenbank Schema für die MOA-Sessixson
+ Informationen per Hand. Alle Tabellen werden beim nächsten Start autmatisch neu generiert.
+
+12 . Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.5 Durchführung eines Updates von Version 2.0-RC1 auf Version 2.0.1
+...............................................................................
+
+1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.0.1.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+ Für MOA ID Proxy:
+ Entpacken Sie die Distribution von MOA-ID-Proxy (moa-id-proxy-2.0.1.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_PROXY_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als
+ auch das komplette Verzeichnis moa-id-auth.
+
+4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+6. Update des Cert-Stores.
+ Kopieren Sie den Inhalt des Verzeichnisses
+ MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie
+ vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann
+ bejahen sie das.
+
+7. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen
+ wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile
+ beibehalten wollen, dann gehen Sie vor, wie in Punkt b).
+
+ a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen:
+
+ 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles.
+ 2) Kopieren Sie das Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss.
+
+ b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie
+ folgt vor, um die Profile auf den aktuellen Stand zu bringen:
+
+ 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den
+ entsprechenden Profilen im Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren
+ Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt
+ der einzelnen Profile aus der Distribution
+ (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden
+ Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles)
+ kopieren und dabei die vorhandenen gleichnamigen Zertifikate
+ überschreiben), also z.B: Kopieren des Inhalts von
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach
+ CATALINA_HOME\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw.
+
+8. Update der Default html-Templates für die Bürgerkartenauswahl.
+
+ a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\htmlTemplates
+ in das Verzeichnis CATALINA_HOME\conf\moa-id\htmlTemplates.
+ b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id-configuration\htmlTemplates
+ in das Verzeichnis CATALINA_HOME\conf\moa-id-configuration\htmlTemplates.
+
+9. Update der STORK Konfiguration
+ a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\stork
+ in das Verzeichnis CATALINA_HOME\conf\moa-id\stork.
+ b.) Passen Sie die STORK Konfiguration laut Handbuch -> Konfiguration ->
+ 2.4 Konfiguration des SamlEngines an.
+
+10. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth Konfigurationsdatei
+ CATALINA_HOME\conf\moa-id\moa-id.properties
+
+ a.) configuration.validation.certificate.QC.ignore=false
+ b.) protocols.pvp2.assertion.encryption.active=false
+
+11. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.6 Durchführung eines Updates von Version <= 1.5.1
+...............................................................................
+
+Bitte führen Sie eine Neuinstallation von MOA ID laut Handbuch durch und passen
+Sie die mitgelieferte Musterkonfiguration entsprechend Ihren Bedürfnissen unter
+Zuhilfenahme Ihrer bisherigen Konfiguration an.
+
diff --git a/id/readme_2.2.1.txt b/id/readme_2.2.1.txt
new file mode 100644
index 000000000..123b51513
--- /dev/null
+++ b/id/readme_2.2.1.txt
@@ -0,0 +1,451 @@
+===============================================================================
+MOA ID Version Release 2.2.1 - Wichtige Informationen zur Installation
+===============================================================================
+
+-------------------------------------------------------------------------------
+A. Neuerungen/Änderungen
+-------------------------------------------------------------------------------
+
+Mit MOA ID Version 2.2.1 wurden folgende Neuerungen und Änderungen eingeführt,
+die jetzt erstmals in der Veröffentlichung enthalten sind (siehe auch
+history.txt im gleichen Verzeichnis):
+
+- Änderungen
+ - Anpassung VIDP Code für STORK
+ - Update von TrustStore und CertSTore
+ - Kleinere Bug-Fixes
+ - Update von Libraries
+
+-------------------------------------------------------------------------------
+B. Durchführung eines Updates
+-------------------------------------------------------------------------------
+
+Es wird generell eine Neuinstallation lt. Handbuch empfohlen! Dennoch ist auch
+eine Aktualisierung bestehender Installationen möglich. Je nachdem von welcher
+MOA-ID Version ausgegangen wird ergibt sich eine Kombination der nachfolgend
+angebebenen Updateschritte.
+
+...............................................................................
+B.1 Durchführung eines Updates von Version 2.2.0 auf Version 2.2.1
+...............................................................................
+1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.2.1.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war und
+ moa-id-configuration.war als auch das komplette Verzeichnis moa-id-auth
+ und das komplette Verzeichnis moa-id-configuration.
+
+4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+6. Update des Cert-Stores.
+ Kopieren Sie den Inhalt des Verzeichnisses
+ MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie
+ vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann
+ bejahen sie das.
+
+7. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen
+ wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile
+ beibehalten wollen, dann gehen Sie vor, wie in Punkt b).
+
+ a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen:
+
+ 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles.
+ 2) Kopieren Sie das Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss.
+
+ b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie
+ folgt vor, um die Profile auf den aktuellen Stand zu bringen:
+
+ 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den
+ entsprechenden Profilen im Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren
+ Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt
+ der einzelnen Profile aus der Distribution
+ (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden
+ Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles)
+ kopieren und dabei die vorhandenen gleichnamigen Zertifikate
+ überschreiben), also z.B: Kopieren des Inhalts von
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach
+ CATALINA_HOME\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw.
+
+8. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+...............................................................................
+B.1 Durchführung eines Updates von Version 2.1.2 auf Version 2.2.0
+...............................................................................
+ 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.2.0.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war und
+ moa-id-configuration.war als auch das komplette Verzeichnis moa-id-auth
+ und das komplette Verzeichnis moa-id-configuration.
+
+4. Erstellen Sie eine Sicherungskopie aller "*.jar"-Dateien im Verzeichnis
+ CATALINA_HOME_ID\endorsed und loeschen Sie diese Dateien danach.
+
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+8. Kopieren der folgenden Dateien:
+ Sollte die Datei bereits vorhanden sein erstellen Sie ein Backup der
+ Datei bevor Sie diese durch die neue Version ersetzen.
+ a.) MOA_ID_AUTH_INST/conf/moa-id/stork/StorkSamlEngine_VIDP.xml ->
+ CATALINA_HOME/conf/moa-id/stork/StorkSamlEngine_VIDP.xml
+ b.) MOA_ID_AUTH_INST/conf/moa-id/stork/StorkSamlEngine_outgoing.xml ->
+ CATALINA_HOME/conf/moa-id/stork/StorkSamlEngine_outgoing.xml
+
+9. Dem STORK KeyStores unter MOA_ID_AUTH_INST/conf/moa-id/keys/storkDemoKeys.jks
+ (Passwort=local-demo) wurden neue vertrauenswürdige Zertifikate hinzugefügt.
+ Gleichen Sie bei Bedarf die Zertifikate dieses KeyStores mit Ihrem aktuell
+ verwendeten KeyStore ab.
+
+10. Update des Cert-Stores.
+ Kopieren Sie den Inhalt des Verzeichnisses
+ MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie
+ vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann
+ bejahen sie das.
+
+11. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen
+ wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile
+ beibehalten wollen, dann gehen Sie vor, wie in Punkt b).
+
+ a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen:
+
+ 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles.
+ 2) Kopieren Sie das Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss.
+
+ b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie
+ folgt vor, um die Profile auf den aktuellen Stand zu bringen:
+
+ 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den
+ entsprechenden Profilen im Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren
+ Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt
+ der einzelnen Profile aus der Distribution
+ (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden
+ Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles)
+ kopieren und dabei die vorhandenen gleichnamigen Zertifikate
+ überschreiben), also z.B: Kopieren des Inhalts von
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach
+ CATALINA_HOME\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw.
+
+
+12. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+...............................................................................
+B.2 Durchführung eines Updates von Version 2.1.1 auf Version 2.1.2
+...............................................................................
+ 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.1.2.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war und
+ moa-id-configuration.war als auch das komplette Verzeichnis moa-id-auth
+ und das komplette Verzeichnis moa-id-configuration.
+
+4. Erstellen Sie eine Sicherungskopie aller "*.jar"-Dateien im Verzeichnis
+ CATALINA_HOME_ID\endorsed und loeschen Sie diese Dateien danach.
+
+5. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\endorsed in das
+ Verzeichnis CATALINA_HOME_ID\endorsed
+
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+8. Kopieren der folgenden Dateien
+ a.) MOA_ID_AUTH_INST/conf/moa-id/stork/StorkSamlEngine_VIDP.xml ->
+ CATALINA_HOME/conf/moa-id/stork/StorkSamlEngine_VIDP.xml
+ Sollte die Datei bereits vorhanden sein erstellen Sie ein Backup der
+ Datei slo_template.html bevor Sie diese durch die neue Version ersetzen.
+
+9. Dem STORK KeyStores unter MOA_ID_AUTH_INST/conf/moa-id/keys/storkDemoKeys.jks
+ (Passwort=local-demo) wurden neue vertrauenswürdige Zertifikate hinzugefügt.
+ Gleichen Sie bei Bedarf die Zertifikate dieses KeyStores mit Ihrem aktuell
+ verwendeten KeyStore ab.
+
+10. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.3 Durchführung eines Updates von Version 2.1.0 auf Version 2.1.1
+...............................................................................
+ 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.1.0.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis
+ JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach.
+
+4. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\ext in das
+ Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.4.x wird nicht mehr
+ unterstuetzt).
+
+5. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als
+ auch das komplette Verzeichnis moa-id-auth.
+
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+8. Hinzufügen der zusätzlichen Konfigurationsparameter in der
+ MOA-ID-Configuration Konfigurationsdatei
+ CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties
+ a.) general.moaconfig.key=..... (Passwort zum Ver- und
+ Entschlüsseln von Konfigurationsparametern in der Datenbank)
+
+9. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth
+ Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties
+ a.) configuration.moaconfig.key=..... (Passwort zum Ver- und
+ Entschlüsseln von Konfigurationsparametern in der Datenbank)
+
+10. Kopieren der folgenden Dateien
+ a.) MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/slo_template.html ->
+ CATALINA_HOME/conf/moa-id/htmlTemplates/slo_template.html
+ Sollte die Datei bereits vorhanden sein erstellen Sie ein Backup der
+ Datei slo_template.html bevor Sie diese durch die neue Version ersetzen.
+
+11. Update des Cert-Stores.
+ Kopieren Sie den Inhalt des Verzeichnisses
+ MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie
+ vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann
+ bejahen sie das.
+
+12. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen
+ wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile
+ beibehalten wollen, dann gehen Sie vor, wie in Punkt b).
+
+ a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen:
+
+ 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles.
+ 2) Kopieren Sie das Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss.
+
+ b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie
+ folgt vor, um die Profile auf den aktuellen Stand zu bringen:
+
+ 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den
+ entsprechenden Profilen im Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren
+ Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt
+ der einzelnen Profile aus der Distribution
+ (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden
+ Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles)
+ kopieren und dabei die vorhandenen gleichnamigen Zertifikate
+ überschreiben), also z.B: Kopieren des Inhalts von
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach
+ CATALINA_HOME\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw.
+
+13. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.4 Durchführung eines Updates von Version 2.0.1 auf Version 2.1.0
+...............................................................................
+ 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.1.0.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als
+ auch das komplette Verzeichnis moa-id-auth.
+
+4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+6. Update der STORK Konfiguration
+ a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\stork
+ in das Verzeichnis CATALINA_HOME\conf\moa-id\stork.
+ b.) Passen Sie die STORK Konfiguration laut Handbuch -> Konfiguration ->
+ 2.4 Konfiguration des SamlEngines an.
+
+7. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Configuration Konfigurationsdatei
+ CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties
+ a.) general.ssl.certstore=certs/certstore
+ b.) general.ssl.truststore=certs/truststore
+
+8. Kopieren des folgenden zusätzlichen Ordners MOA_ID_AUTH_INST/conf/moa-id-configuration/certs
+ nach CATALINA_HOME\conf\moa-id-configuration\
+
+9. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth Konfigurationsdatei
+ CATALINA_HOME\conf\moa-id\moa-id.properties und Anpassung an das zu verwendeten Schlüsselpaar.
+ a.) protocols.pvp2.idp.ks.assertion.encryption.alias=pvp_assertion
+ protocols.pvp2.idp.ks.assertion.encryption.keypassword=password
+
+10. Kopieren der folgenden zusätzlichen Ordner aus MOA_ID_AUTH_INST/conf/moa-id/
+ nach CATALINA_HOME\conf\moa-id\
+ a.) MOA_ID_AUTH_INST/conf/moa-id/SLTemplates -> CATALINA_HOME\conf\moa-id\
+ b.) MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/slo_template.html ->
+ CATALINA_HOME/conf/moa-id/htmlTemplates/slo_template.html
+
+11. Neuinitialisieren des Datenbank Schema für die MOA-Session. Hierfür stehen
+ zwei Varianten zur Verfügung.
+ a.) Ändern Sie in der Konfigurationsdatei für das Modul MOA-ID-Auth
+ CATALINA_HOME\conf\moa-id\moa-id.properties die Zeile
+ moasession.hibernate.hbm2ddl.auto=update
+ zu
+ moasession.hibernate.hbm2ddl.auto=create
+ Danach werden die Tabellen beim nächsten Startvorgang neu generiert.
+
+ b.) Löschen Sie alle Tabellen aus dem Datenbank Schema für die MOA-Sessixson
+ Informationen per Hand. Alle Tabellen werden beim nächsten Start autmatisch neu generiert.
+
+12 . Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.5 Durchführung eines Updates von Version 2.0-RC1 auf Version 2.0.1
+...............................................................................
+
+1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.0.1.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+ Für MOA ID Proxy:
+ Entpacken Sie die Distribution von MOA-ID-Proxy (moa-id-proxy-2.0.1.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_PROXY_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als
+ auch das komplette Verzeichnis moa-id-auth.
+
+4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+6. Update des Cert-Stores.
+ Kopieren Sie den Inhalt des Verzeichnisses
+ MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie
+ vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann
+ bejahen sie das.
+
+7. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen
+ wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile
+ beibehalten wollen, dann gehen Sie vor, wie in Punkt b).
+
+ a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen:
+
+ 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles.
+ 2) Kopieren Sie das Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss.
+
+ b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie
+ folgt vor, um die Profile auf den aktuellen Stand zu bringen:
+
+ 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den
+ entsprechenden Profilen im Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren
+ Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt
+ der einzelnen Profile aus der Distribution
+ (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden
+ Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles)
+ kopieren und dabei die vorhandenen gleichnamigen Zertifikate
+ überschreiben), also z.B: Kopieren des Inhalts von
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach
+ CATALINA_HOME\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw.
+
+8. Update der Default html-Templates für die Bürgerkartenauswahl.
+
+ a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\htmlTemplates
+ in das Verzeichnis CATALINA_HOME\conf\moa-id\htmlTemplates.
+ b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id-configuration\htmlTemplates
+ in das Verzeichnis CATALINA_HOME\conf\moa-id-configuration\htmlTemplates.
+
+9. Update der STORK Konfiguration
+ a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\stork
+ in das Verzeichnis CATALINA_HOME\conf\moa-id\stork.
+ b.) Passen Sie die STORK Konfiguration laut Handbuch -> Konfiguration ->
+ 2.4 Konfiguration des SamlEngines an.
+
+10. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth Konfigurationsdatei
+ CATALINA_HOME\conf\moa-id\moa-id.properties
+
+ a.) configuration.validation.certificate.QC.ignore=false
+ b.) protocols.pvp2.assertion.encryption.active=false
+
+11. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.6 Durchführung eines Updates von Version <= 1.5.1
+...............................................................................
+
+Bitte führen Sie eine Neuinstallation von MOA ID laut Handbuch durch und passen
+Sie die mitgelieferte Musterkonfiguration entsprechend Ihren Bedürfnissen unter
+Zuhilfenahme Ihrer bisherigen Konfiguration an.
+
diff --git a/id/readme_2.2.txt b/id/readme_2.2.txt
new file mode 100644
index 000000000..3fecc21d9
--- /dev/null
+++ b/id/readme_2.2.txt
@@ -0,0 +1,394 @@
+===============================================================================
+MOA ID Version Release 2.2.0 - Wichtige Informationen zur Installation
+===============================================================================
+
+-------------------------------------------------------------------------------
+A. Neuerungen/Änderungen
+-------------------------------------------------------------------------------
+
+Mit MOA ID Version 2.2.0 wurden folgende Neuerungen eingeführt, die jetzt
+erstmals in der Veröffentlichung enthalten sind (siehe auch history.txt im
+gleichen Verzeichnis):
+
+- Neuerungen:
+ - Überarbeitung der Prozessbeschreibung für Authentifizierungsprozesse
+
+- Änderungen
+ - Anpassung VIDP Code für STORK
+ - Kleinere Bug-Fixes
+ - Update von Libraries
+-------------------------------------------------------------------------------
+B. Durchführung eines Updates
+-------------------------------------------------------------------------------
+
+Es wird generell eine Neuinstallation lt. Handbuch empfohlen! Dennoch ist auch
+eine Aktualisierung bestehender Installationen möglich. Je nachdem von welcher
+MOA-ID Version ausgegangen wird ergibt sich eine Kombination der nachfolgend angebebenen Updateschritte.
+
+...............................................................................
+B.1 Durchführung eines Updates von Version 2.1.2 auf Version 2.2.0
+...............................................................................
+ 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.2.0.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war und
+ moa-id-configuration.war als auch das komplette Verzeichnis moa-id-auth
+ und das komplette Verzeichnis moa-id-configuration.
+
+4. Erstellen Sie eine Sicherungskopie aller "*.jar"-Dateien im Verzeichnis
+ CATALINA_HOME_ID\endorsed und loeschen Sie diese Dateien danach.
+
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+8. Kopieren der folgenden Dateien:
+ Sollte die Datei bereits vorhanden sein erstellen Sie ein Backup der
+ Datei bevor Sie diese durch die neue Version ersetzen.
+ a.) MOA_ID_AUTH_INST/conf/moa-id/stork/StorkSamlEngine_VIDP.xml ->
+ CATALINA_HOME/conf/moa-id/stork/StorkSamlEngine_VIDP.xml
+ b.) MOA_ID_AUTH_INST/conf/moa-id/stork/StorkSamlEngine_outgoing.xml ->
+ CATALINA_HOME/conf/moa-id/stork/StorkSamlEngine_outgoing.xml
+
+9. Dem STORK KeyStores unter MOA_ID_AUTH_INST/conf/moa-id/keys/storkDemoKeys.jks
+ (Passwort=local-demo) wurden neue vertrauenswürdige Zertifikate hinzugefügt.
+ Gleichen Sie bei Bedarf die Zertifikate dieses KeyStores mit Ihrem aktuell
+ verwendeten KeyStore ab.
+
+10. Update des Cert-Stores.
+ Kopieren Sie den Inhalt des Verzeichnisses
+ MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie
+ vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann
+ bejahen sie das.
+
+11. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen
+ wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile
+ beibehalten wollen, dann gehen Sie vor, wie in Punkt b).
+
+ a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen:
+
+ 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles.
+ 2) Kopieren Sie das Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss.
+
+ b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie
+ folgt vor, um die Profile auf den aktuellen Stand zu bringen:
+
+ 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den
+ entsprechenden Profilen im Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren
+ Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt
+ der einzelnen Profile aus der Distribution
+ (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden
+ Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles)
+ kopieren und dabei die vorhandenen gleichnamigen Zertifikate
+ überschreiben), also z.B: Kopieren des Inhalts von
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach
+ CATALINA_HOME\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw.
+
+12. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth
+ Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties
+ a.) protocols.pvp2.schemavalidation= "(true/false)" ...
+ Hiermit lässt sich die Schemavalidierung für PVP 2.x deaktivieren
+
+13. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+...............................................................................
+B.2 Durchführung eines Updates von Version 2.1.1 auf Version 2.1.2
+...............................................................................
+ 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.1.2.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war und
+ moa-id-configuration.war als auch das komplette Verzeichnis moa-id-auth
+ und das komplette Verzeichnis moa-id-configuration.
+
+4. Erstellen Sie eine Sicherungskopie aller "*.jar"-Dateien im Verzeichnis
+ CATALINA_HOME_ID\endorsed und loeschen Sie diese Dateien danach.
+
+5. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\endorsed in das
+ Verzeichnis CATALINA_HOME_ID\endorsed
+
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+8. Kopieren der folgenden Dateien
+ a.) MOA_ID_AUTH_INST/conf/moa-id/stork/StorkSamlEngine_VIDP.xml ->
+ CATALINA_HOME/conf/moa-id/stork/StorkSamlEngine_VIDP.xml
+ Sollte die Datei bereits vorhanden sein erstellen Sie ein Backup der
+ Datei slo_template.html bevor Sie diese durch die neue Version ersetzen.
+
+9. Dem STORK KeyStores unter MOA_ID_AUTH_INST/conf/moa-id/keys/storkDemoKeys.jks
+ (Passwort=local-demo) wurden neue vertrauenswürdige Zertifikate hinzugefügt.
+ Gleichen Sie bei Bedarf die Zertifikate dieses KeyStores mit Ihrem aktuell
+ verwendeten KeyStore ab.
+
+10. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.3 Durchführung eines Updates von Version 2.1.0 auf Version 2.1.1
+...............................................................................
+ 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.1.0.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis
+ JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach.
+
+4. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\ext in das
+ Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.4.x wird nicht mehr
+ unterstuetzt).
+
+5. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als
+ auch das komplette Verzeichnis moa-id-auth.
+
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+8. Hinzufügen der zusätzlichen Konfigurationsparameter in der
+ MOA-ID-Configuration Konfigurationsdatei
+ CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties
+ a.) general.moaconfig.key=..... (Passwort zum Ver- und
+ Entschlüsseln von Konfigurationsparametern in der Datenbank)
+
+9. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth
+ Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties
+ a.) configuration.moaconfig.key=..... (Passwort zum Ver- und
+ Entschlüsseln von Konfigurationsparametern in der Datenbank)
+
+10. Kopieren der folgenden Dateien
+ a.) MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/slo_template.html ->
+ CATALINA_HOME/conf/moa-id/htmlTemplates/slo_template.html
+ Sollte die Datei bereits vorhanden sein erstellen Sie ein Backup der
+ Datei slo_template.html bevor Sie diese durch die neue Version ersetzen.
+
+11. Update des Cert-Stores.
+ Kopieren Sie den Inhalt des Verzeichnisses
+ MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie
+ vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann
+ bejahen sie das.
+
+12. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen
+ wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile
+ beibehalten wollen, dann gehen Sie vor, wie in Punkt b).
+
+ a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen:
+
+ 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles.
+ 2) Kopieren Sie das Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss.
+
+ b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie
+ folgt vor, um die Profile auf den aktuellen Stand zu bringen:
+
+ 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den
+ entsprechenden Profilen im Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren
+ Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt
+ der einzelnen Profile aus der Distribution
+ (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden
+ Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles)
+ kopieren und dabei die vorhandenen gleichnamigen Zertifikate
+ überschreiben), also z.B: Kopieren des Inhalts von
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach
+ CATALINA_HOME\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw.
+
+13. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.4 Durchführung eines Updates von Version 2.0.1 auf Version 2.1.0
+...............................................................................
+ 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.1.0.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als
+ auch das komplette Verzeichnis moa-id-auth.
+
+4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+6. Update der STORK Konfiguration
+ a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\stork
+ in das Verzeichnis CATALINA_HOME\conf\moa-id\stork.
+ b.) Passen Sie die STORK Konfiguration laut Handbuch -> Konfiguration ->
+ 2.4 Konfiguration des SamlEngines an.
+
+7. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Configuration Konfigurationsdatei
+ CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties
+ a.) general.ssl.certstore=certs/certstore
+ b.) general.ssl.truststore=certs/truststore
+
+8. Kopieren des folgenden zusätzlichen Ordners MOA_ID_AUTH_INST/conf/moa-id-configuration/certs
+ nach CATALINA_HOME\conf\moa-id-configuration\
+
+9. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth Konfigurationsdatei
+ CATALINA_HOME\conf\moa-id\moa-id.properties und Anpassung an das zu verwendeten Schlüsselpaar.
+ a.) protocols.pvp2.idp.ks.assertion.encryption.alias=pvp_assertion
+ protocols.pvp2.idp.ks.assertion.encryption.keypassword=password
+
+10. Kopieren der folgenden zusätzlichen Ordner aus MOA_ID_AUTH_INST/conf/moa-id/
+ nach CATALINA_HOME\conf\moa-id\
+ a.) MOA_ID_AUTH_INST/conf/moa-id/SLTemplates -> CATALINA_HOME\conf\moa-id\
+ b.) MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/slo_template.html ->
+ CATALINA_HOME/conf/moa-id/htmlTemplates/slo_template.html
+
+11. Neuinitialisieren des Datenbank Schema für die MOA-Session. Hierfür stehen
+ zwei Varianten zur Verfügung.
+ a.) Ändern Sie in der Konfigurationsdatei für das Modul MOA-ID-Auth
+ CATALINA_HOME\conf\moa-id\moa-id.properties die Zeile
+ moasession.hibernate.hbm2ddl.auto=update
+ zu
+ moasession.hibernate.hbm2ddl.auto=create
+ Danach werden die Tabellen beim nächsten Startvorgang neu generiert.
+
+ b.) Löschen Sie alle Tabellen aus dem Datenbank Schema für die MOA-Sessixson
+ Informationen per Hand. Alle Tabellen werden beim nächsten Start autmatisch neu generiert.
+
+12 . Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.5 Durchführung eines Updates von Version 2.0-RC1 auf Version 2.0.1
+...............................................................................
+
+1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.0.1.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+ Für MOA ID Proxy:
+ Entpacken Sie die Distribution von MOA-ID-Proxy (moa-id-proxy-2.0.1.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_PROXY_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als
+ auch das komplette Verzeichnis moa-id-auth.
+
+4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+6. Update des Cert-Stores.
+ Kopieren Sie den Inhalt des Verzeichnisses
+ MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie
+ vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann
+ bejahen sie das.
+
+7. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen
+ wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile
+ beibehalten wollen, dann gehen Sie vor, wie in Punkt b).
+
+ a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen:
+
+ 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles.
+ 2) Kopieren Sie das Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis
+ CATALINA_HOME\conf\moa-spss.
+
+ b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie
+ folgt vor, um die Profile auf den aktuellen Stand zu bringen:
+
+ 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den
+ entsprechenden Profilen im Verzeichnis
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren
+ Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt
+ der einzelnen Profile aus der Distribution
+ (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden
+ Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles)
+ kopieren und dabei die vorhandenen gleichnamigen Zertifikate
+ überschreiben), also z.B: Kopieren des Inhalts von
+ MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach
+ CATALINA_HOME\conf\moa-spss\trustProfiles\
+ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw.
+
+8. Update der Default html-Templates für die Bürgerkartenauswahl.
+
+ a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\htmlTemplates
+ in das Verzeichnis CATALINA_HOME\conf\moa-id\htmlTemplates.
+ b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id-configuration\htmlTemplates
+ in das Verzeichnis CATALINA_HOME\conf\moa-id-configuration\htmlTemplates.
+
+9. Update der STORK Konfiguration
+ a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\stork
+ in das Verzeichnis CATALINA_HOME\conf\moa-id\stork.
+ b.) Passen Sie die STORK Konfiguration laut Handbuch -> Konfiguration ->
+ 2.4 Konfiguration des SamlEngines an.
+
+10. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth Konfigurationsdatei
+ CATALINA_HOME\conf\moa-id\moa-id.properties
+
+ a.) configuration.validation.certificate.QC.ignore=false
+ b.) protocols.pvp2.assertion.encryption.active=false
+
+11. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.6 Durchführung eines Updates von Version <= 1.5.1
+...............................................................................
+
+Bitte führen Sie eine Neuinstallation von MOA ID laut Handbuch durch und passen
+Sie die mitgelieferte Musterkonfiguration entsprechend Ihren Bedürfnissen unter
+Zuhilfenahme Ihrer bisherigen Konfiguration an.
+
diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml
index dd75ee6aa..cf394b7ad 100644
--- a/id/server/auth/pom.xml
+++ b/id/server/auth/pom.xml
@@ -112,17 +112,43 @@
<artifactId>axis-wsdl4j</artifactId>
<groupId>axis</groupId>
</exclusion>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>MOA.id.server</groupId>
<artifactId>moa-id-lib</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>eu.stork</groupId>
<artifactId>oasis-dss-api</artifactId>
<version>1.0.0-RELEASE</version>
</dependency>
+
+ <!-- Adding stork module dependency automatically adds stork capabilities. -->
+ <dependency>
+ <groupId>MOA.id.server.modules</groupId>
+ <artifactId>moa-id-module-stork</artifactId>
+ </dependency>
+
+ <!-- Adding monitoring module dependency automatically adds monitoring capabilities. -->
+ <dependency>
+ <groupId>MOA.id.server.modules</groupId>
+ <artifactId>moa-id-module-monitoring</artifactId>
+ </dependency>
<!-- transitive dependencies we don't want to include into the war -->
<dependency>
@@ -173,6 +199,23 @@
<!-- should be provided by the container or jre -->
<scope>provided</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-webmvc</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <version>1.7.10</version>
+ </dependency>
+
</dependencies>
</project>
diff --git a/id/server/auth/src/main/webapp/WEB-INF/applicationContext.xml b/id/server/auth/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 000000000..a3f834457
--- /dev/null
+++ b/id/server/auth/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
+
+ <context:annotation-config />
+
+ <bean id="processEngine" class="at.gv.egovernment.moa.id.process.ProcessEngineImpl">
+ <property name="transitionConditionExpressionEvaluator">
+ <bean class="at.gv.egovernment.moa.id.process.springweb.SpringWebExpressionEvaluator" />
+ </property>
+ </bean>
+
+ <bean id="authenticationManager" class="at.gv.egovernment.moa.id.moduls.AuthenticationManager" factory-method="getInstance" />
+
+ <!-- import auth modules -->
+ <import resource="classpath*:**/*.authmodule.beans.xml" />
+
+ <bean id="moduleRegistration" class="at.gv.egovernment.moa.id.auth.modules.registration.ModuleRegistration" factory-method="getInstance" />
+
+</beans>
diff --git a/id/server/auth/src/main/webapp/WEB-INF/urlrewrite.xml b/id/server/auth/src/main/webapp/WEB-INF/urlrewrite.xml
index 54debca81..8f01ca22b 100644
--- a/id/server/auth/src/main/webapp/WEB-INF/urlrewrite.xml
+++ b/id/server/auth/src/main/webapp/WEB-INF/urlrewrite.xml
@@ -74,7 +74,7 @@
<to type="forward">/dispatcher?mod=id_stork2&amp;action=AttributeCollector&amp;%{query-string}</to>
</rule>
<rule match-type="regex">
- <from>^/stork2/CompleteAuthentication$</from>
+ <from>^/stork2/GetConsent$</from>
<to type="forward">/dispatcher?mod=id_stork2&amp;action=ConsentEvaluator&amp;%{query-string}</to>
</rule>
<rule match-type="regex">
diff --git a/id/server/auth/src/main/webapp/WEB-INF/web.xml b/id/server/auth/src/main/webapp/WEB-INF/web.xml
index 42085b01e..5afc0dee7 100644
--- a/id/server/auth/src/main/webapp/WEB-INF/web.xml
+++ b/id/server/auth/src/main/webapp/WEB-INF/web.xml
@@ -1,279 +1,184 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
-<web-app>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+ version="3.0">
<display-name>MOA ID Auth</display-name>
<description>MOA ID Authentication Service</description>
-<!-- <servlet>
- <servlet-name>SelectBKU</servlet-name>
- <display-name>SelectBKU</display-name>
- <description>Select Bürgerkartenartenumgebung</description>
- <servlet-class>at.gv.egovernment.moa.id.auth.servlet.SelectBKUServlet</servlet-class>
- </servlet> -->
+
+ <!-- bootstrap loader for spring framework -->
+ <listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+ </listener>
+
+ <filter>
+ <filter-name>characterEncodingFilter</filter-name>
+ <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
+ <init-param>
+ <param-name>encoding</param-name>
+ <param-value>UTF-8</param-value>
+ </init-param>
+ <init-param>
+ <param-name>forceEncoding</param-name>
+ <param-value>true</param-value>
+ </init-param>
+ </filter>
+ <filter-mapping>
+ <filter-name>characterEncodingFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <!-- exposes request and response to the current thread -->
+ <filter>
+ <filter-name>requestContextFilter</filter-name>
+ <filter-class>org.springframework.web.filter.RequestContextFilter</filter-class>
+ </filter>
+ <filter-mapping>
+ <filter-name>requestContextFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <filter>
+ <filter-name>UrlRewriteFilter</filter-name>
+ <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
+ </filter>
+ <filter-mapping>
+ <filter-name>UrlRewriteFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
<servlet>
- <servlet-name>GenerateIframeTemplate</servlet-name>
- <display-name>GenerateIframeTemplate</display-name>
<description>Generate BKU Request template</description>
+ <display-name>GenerateIframeTemplate</display-name>
+ <servlet-name>GenerateIframeTemplate</servlet-name>
<servlet-class>at.gv.egovernment.moa.id.auth.servlet.GenerateIFrameTemplateServlet</servlet-class>
</servlet>
+ <servlet-mapping>
+ <servlet-name>GenerateIframeTemplate</servlet-name>
+ <url-pattern>/GenerateIframeTemplate</url-pattern>
+ </servlet-mapping>
+
<servlet>
- <servlet-name>RedirectServlet</servlet-name>
<display-name>RedirectServlet</display-name>
+ <servlet-name>RedirectServlet</servlet-name>
<servlet-class>at.gv.egovernment.moa.id.auth.servlet.RedirectServlet</servlet-class>
</servlet>
+ <servlet-mapping>
+ <servlet-name>RedirectServlet</servlet-name>
+ <url-pattern>/RedirectServlet</url-pattern>
+ </servlet-mapping>
+
+ <!-- automatically registered by module 'moa-id-module-monitoring' using @WebServlet annotation -->
+ <!--
<servlet>
- <servlet-name>MonitoringServlet</servlet-name>
<display-name>MonitoringServlet</display-name>
+ <servlet-name>MonitoringServlet</servlet-name>
<servlet-class>at.gv.egovernment.moa.id.auth.servlet.MonitoringServlet</servlet-class>
</servlet>
+ <servlet-mapping>
+ <servlet-name>MonitoringServlet</servlet-name>
+ <url-pattern>/MonitoringServlet</url-pattern>
+ </servlet-mapping>
+ -->
+
<servlet>
- <servlet-name>SSOSendAssertionServlet</servlet-name>
<display-name>SSOSendAssertionServlet</display-name>
+ <servlet-name>SSOSendAssertionServlet</servlet-name>
<servlet-class>at.gv.egovernment.moa.id.auth.servlet.SSOSendAssertionServlet</servlet-class>
- </servlet>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>SSOSendAssertionServlet</servlet-name>
+ <url-pattern>/SSOSendAssertionServlet</url-pattern>
+ </servlet-mapping>
+
<servlet>
- <servlet-name>LogOut</servlet-name>
- <display-name>LogOut</display-name>
<description>SSO LogOut</description>
+ <display-name>LogOut</display-name>
+ <servlet-name>LogOut</servlet-name>
<servlet-class>at.gv.egovernment.moa.id.auth.servlet.LogOutServlet</servlet-class>
</servlet>
+ <servlet-mapping>
+ <servlet-name>LogOut</servlet-name>
+ <url-pattern>/LogOut</url-pattern>
+ </servlet-mapping>
<servlet>
- <servlet-name>IDPSLO</servlet-name>
- <display-name>IDP-SLO</display-name>
<description>IDP Single LogOut Service</description>
+ <display-name>IDP-SLO</display-name>
+ <servlet-name>IDPSLO</servlet-name>
<servlet-class>at.gv.egovernment.moa.id.auth.servlet.IDPSingleLogOutServlet</servlet-class>
</servlet>
+ <servlet-mapping>
+ <servlet-name>IDPSLO</servlet-name>
+ <url-pattern>/idpSingleLogout</url-pattern>
+ </servlet-mapping>
<servlet>
- <servlet-name>VerifyIdentityLink</servlet-name>
- <display-name>VerifyIdentityLink</display-name>
- <description>Verify identity link coming from security layer</description>
- <servlet-class>at.gv.egovernment.moa.id.auth.servlet.VerifyIdentityLinkServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>VerifyCertificate</servlet-name>
- <display-name>VerifyCertificate</display-name>
- <description>Verify the certificate coming from security layer</description>
- <servlet-class>at.gv.egovernment.moa.id.auth.servlet.VerifyCertificateServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>GetMISSessionID</servlet-name>
- <display-name>GetMISSessionID</display-name>
- <description>Get the MIS session ID coming from security layer</description>
- <servlet-class>at.gv.egovernment.moa.id.auth.servlet.GetMISSessionIDServlet</servlet-class>
- </servlet>
-
- <servlet>
- <servlet-name>GetForeignID</servlet-name>
- <display-name>GetForeignID</display-name>
- <description>Gets the foreign eID from security layer</description>
- <servlet-class>at.gv.egovernment.moa.id.auth.servlet.GetForeignIDServlet</servlet-class>
- </servlet>
-<!-- <servlet>
- <servlet-name>ProcessInput</servlet-name>
- <display-name>ProcessInput</display-name>
- <description>Process user input needed by infobox validators</description>
- <servlet-class>at.gv.egovernment.moa.id.auth.servlet.ProcessValidatorInputServlet</servlet-class>
- </servlet> -->
- <servlet>
- <servlet-name>VerifyAuthBlock</servlet-name>
- <display-name>VerifyAuthBlock</display-name>
- <description>Verify AUTH block coming from security layer</description>
- <servlet-class>at.gv.egovernment.moa.id.auth.servlet.VerifyAuthenticationBlockServlet</servlet-class>
- </servlet>
-<!-- <servlet>
- <servlet-name>ConfigurationUpdate</servlet-name>
- <display-name>ConfigurationUpdate</display-name>
- <description>Update MOA-ID Auth configuration from the configuration
- file</description>
- <servlet-class>at.gv.egovernment.moa.id.auth.servlet.ConfigurationServlet</servlet-class>
- </servlet> -->
- <servlet>
- <servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
+ <servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
+ <servlet-mapping>
+ <servlet-name>AxisServlet</servlet-name>
+ <url-pattern>/services/*</url-pattern>
+ </servlet-mapping>
- <!-- JSP servlet -->
-<!-- <servlet>
- <servlet-name>jspservlet</servlet-name>
- <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
- </servlet> -->
- <servlet>
- <servlet-name>PEPSConnectorServlet</servlet-name>
- <display-name>PEPSConnectorServlet</display-name>
- <description>Servlet receiving STORK SAML Response Messages from
- different C-PEPS</description>
- <servlet-class>
- at.gv.egovernment.moa.id.auth.servlet.PEPSConnectorServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>PEPSConnectorWithLocalSigningServlet</servlet-name>
- <display-name>PEPSConnectorWithLocalSigningServlet</display-name>
- <description>Servlet receiving STORK SAML Response Messages from
- different C-PEPS</description>
- <servlet-class>
- at.gv.egovernment.moa.id.auth.servlet.PEPSConnectorWithLocalSigningServlet</servlet-class>
- </servlet>
-
- <!-- Dispatcher servlets
- <servlet>
- <servlet-name>AuthDispatcherServlet</servlet-name>
- <display-name>AuthDispatcher Servlet</display-name>
- <servlet-class>at.gv.egovernment.moa.id.entrypoints.AuthDispatcherServlet</servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>-->
<servlet>
- <servlet-name>DispatcherServlet</servlet-name>
<display-name>Dispatcher Servlet</display-name>
+ <servlet-name>DispatcherServlet</servlet-name>
<servlet-class>at.gv.egovernment.moa.id.entrypoints.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
-
- <!-- Servlet Registration -->
- <servlet>
- <servlet-name>at.gv.egovernment.moa.id.protocols.saml1.GetArtifactServlet</servlet-name>
- <servlet-class>at.gv.egovernment.moa.id.protocols.saml1.GetArtifactServlet</servlet-class>
- </servlet>
-
-
-
-
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/dispatcher</url-pattern>
</servlet-mapping>
- <!-- servlet-mapping>
- <servlet-name>AuthDispatcherServlet</servlet-name>
- <url-pattern>/AuthDispatcher</url-pattern>
- </servlet-mapping -->
-
-
- <!-- servlet mapping for jsp pages -->
- <!-- errorpage.jsp (customizeable) -->
-<!-- <servlet-mapping>
- <servlet-name>jspservlet</servlet-name>
- <url-pattern>/errorpage-auth.jsp</url-pattern>
- </servlet-mapping>
- message.jsp (customizeable) used for non error messages (e.g. ConfigurationUpdate)
- <servlet-mapping>
- <servlet-name>jspservlet</servlet-name>
- <url-pattern>/message-auth.jsp</url-pattern>
- </servlet-mapping> -->
-<!-- <servlet-mapping>
- <servlet-name>SelectBKU</servlet-name>
- <url-pattern>/SelectBKU</url-pattern>
- </servlet-mapping> -->
- <servlet-mapping>
- <servlet-name>GenerateIframeTemplate</servlet-name>
- <url-pattern>/GenerateIframeTemplate</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>RedirectServlet</servlet-name>
- <url-pattern>/RedirectServlet</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>MonitoringServlet</servlet-name>
- <url-pattern>/MonitoringServlet</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>SSOSendAssertionServlet</servlet-name>
- <url-pattern>/SSOSendAssertionServlet</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>LogOut</servlet-name>
- <url-pattern>/LogOut</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>IDPSLO</servlet-name>
- <url-pattern>/idpSingleLogout</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>VerifyIdentityLink</servlet-name>
- <url-pattern>/VerifyIdentityLink</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>VerifyCertificate</servlet-name>
- <url-pattern>/VerifyCertificate</url-pattern>
- </servlet-mapping>
+ <servlet>
+ <description>Resumes a suspended process task.</description>
+ <display-name>ProcessEngineSignal</display-name>
+ <servlet-name>ProcessEngineSignal</servlet-name>
+ <servlet-class>at.gv.egovernment.moa.id.auth.servlet.ProcessEngineSignalServlet</servlet-class>
+ </servlet>
<servlet-mapping>
- <servlet-name>GetMISSessionID</servlet-name>
+ <!-- do not change this servlet-name -->
+ <servlet-name>ProcessEngineSignal</servlet-name>
+
+ <!-- Use this url-pattern in order to signal the next (asynchronous) task. -->
+ <url-pattern>/signalProcess</url-pattern>
+
+ <!-- legacy url patterns for asynchronous tasks (internal default module/processes) -->
<url-pattern>/GetMISSessionID</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>GetForeignID</servlet-name>
<url-pattern>/GetForeignID</url-pattern>
- </servlet-mapping>
-
-<!-- <servlet-mapping>
- <servlet-name>ProcessInput</servlet-name>
- <url-pattern>/ProcessInput</url-pattern>
- </servlet-mapping> -->
-
- <servlet-mapping>
- <servlet-name>VerifyAuthBlock</servlet-name>
<url-pattern>/VerifyAuthBlock</url-pattern>
- </servlet-mapping>
-<!-- <servlet-mapping>
- <servlet-name>ConfigurationUpdate</servlet-name>
- <url-pattern>/ConfigurationUpdate</url-pattern>
- </servlet-mapping> -->
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/services/*</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>PEPSConnectorServlet</servlet-name>
- <url-pattern>/PEPSConnector</url-pattern>
- </servlet-mapping>
-<servlet-mapping>
- <servlet-name>PEPSConnectorWithLocalSigningServlet</servlet-name>
+ <url-pattern>/VerifyCertificate</url-pattern>
+ <url-pattern>/VerifyIdentityLink</url-pattern>
+
+ <!--
+ STORK servlet mappings; automatically registered by the stork module;
+ refer to at.gv.egovernment.moa.id.auth.modules.stork.STORKWebApplicationInitializer
+ -->
+ <!--
<url-pattern>/PEPSConnectorWithLocalSigning</url-pattern>
+ <url-pattern>/PEPSConnector</url-pattern>
+ -->
</servlet-mapping>
- <!-- Filters -->
- <!-- <filter> <filter-name>DispatcherDecoratorFilter</filter-name> <filter-class>at.gv.egovernment.moa.id.sso.DispatcherDecoratorFilter</filter-class>
- </filter> -->
-
- <filter>
- <filter-name>UrlRewriteFilter</filter-name>
- <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
- </filter>
-
- <filter-mapping>
- <filter-name>UrlRewriteFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <!-- <filter-mapping> <filter-name>DispatcherDecoratorFilter</filter-name>
- <url-pattern>/AuthDispatcher</url-pattern> <dispatcher>REQUEST</dispatcher>
- <dispatcher>FORWARD</dispatcher> </filter-mapping> <filter-mapping> <filter-name>DispatcherDecoratorFilter</filter-name>
- <url-pattern>/StartAuthentication</url-pattern> <dispatcher>REQUEST</dispatcher>
- <dispatcher>FORWARD</dispatcher> </filter-mapping> -->
<session-config>
<session-timeout>5</session-timeout>
</session-config>
+
<error-page>
<error-code>500</error-code>
<location>/errorpage.jsp</location>
</error-page>
-<!-- <security-constraint>
- <web-resource-collection>
- <web-resource-name>ConfigurationUpdate</web-resource-name>
- <url-pattern>/ConfigurationUpdate</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>moa-admin</role-name>
- </auth-constraint>
- </security-constraint> -->
+
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>UserDatabase</realm-name>
</login-config>
<security-role>
- <description>
- The role that is required to log in to the moa Application
- </description>
+ <description>The role that is required to log in to the moa Application</description>
<role-name>moa-admin</role-name>
</security-role>
+
</web-app>
diff --git a/id/server/auth/src/main/webapp/common/MOA.css b/id/server/auth/src/main/webapp/common/MOA.css
deleted file mode 100644
index b7a2b9280..000000000
--- a/id/server/auth/src/main/webapp/common/MOA.css
+++ /dev/null
@@ -1,617 +0,0 @@
-body
-{
- font-family: "Times New Roman", Times, serif;
- font-size: medium;
- font-weight: normal;
- margin-left: 2.5em;
- margin-right: 2.5em;
- background-color: white;
- text: #000000;
- link: #990000;
- vlink: #666666;
- alink: #cc9966;
-}
-
-
-
-p
-{
- margin-top: 0pt;
- margin-bottom: 0.5em;
- text-align: justify
-}
-
-pre
-{
- font-family: "Courier New", monospace;
- font-size: 90%;
- background-color: #cccccc;
- color: #000000;
- margin-left:1.5%;
- margin-right:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
- border: #008000 none;
-}
-
-hr
-{
- color: #000080;
- background-color: #000080;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-
-table.fixedWidth
-{
- width: 97%;
- margin-left:1.5%;
- margin-right:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-
-table.varWidth
-{
- margin-left:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-th
-{
- text-align: left;
-}
-
-h1
-{
- color: #000000;
- text-align: left;
- font-size: 167%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h2
-{
- color: #000000;
- font-size: 150%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h3
-{
- color: #000000;
- font-size: 133%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h4
-{
- color: #000000;
- font-size: 116%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h5
-{
- color: #000000;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h6
-{
- color: #000000;
- font-size: 83%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-code
-{
- font-family: "Courier New", Courier, monospace;
- font-size: 90%;
- color: #000000
-}
-
-dd
-{
- margin-top: 0.8em;
- margin-bottom: 0.8em;
- text-align: justify
-
-}
-
-dt
-{
- margin-top: 0.8em;
- font-family: Arial, Helvetica, sans-serif;
- color: #000080
-}
-
-ol
-{
- margin-top: 0.5em;
- margin-bottom: 0.5em
-}
-
-ol.alpha
-{
- list-style-type: lower-alpha
-}
-
-li
-{
- margin-top: 0.25em;
- margin-bottom: 0.25em;
- text-align: justify
-}
-
-a:hover
-{
- color: #990000
-}
-
-
-.title
-{
- text-align: left;
- font-size: 200%;
- color: #000000;
- font-family: Arial, Helvetica, sans-serif;
- margin-top: 0.4em;
- margin-bottom: 0.4em;
- background-color:#999;
-}
-
-.subtitle
-{
- text-align: left;
- font-size: 133%;
- color: #000000;
- font-family: Arial, Helvetica, sans-serif;
- margin-top: 0.4em;
- margin-bottom: 0.4em
-}
-
-.glossaryTerm
-{
- font-style: italic;
- color: #006699
-}
-
-.example
-{
- font-family: "Courier New", monospace;
- background-color: #CCFFFF;
- color: #000000;
- margin: 0pt 0pt;
- border: #008000 none
-}
-
-.schema
-{
- font-family: "Courier New", monospace;
- background-color: #FFFFCC;
- color: #000000;
- margin: 0pt 0pt;
- border: #008000 none
-}
-
-.documentinfo
-{
- font-family: Arial, Helvetica, sans-serif;
- font-size: 100%;
-}
-
-.ol-contents
-{
- font-size: 100%;
- margin-top: 0.0em;
- margin-bottom: 0.0em;
-}
-
-.li-contents
-{
- font-size: 100%;
- margin-top: 0.0em;
- margin-bottom: 0.0em;
-}
-
-.logoTitle
-{
- text-align: center;
- font-size: 200%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
-}
-
-.logoTable
-{
- margin-bottom: 0px;
- margin-left: 0px
-}
-
-.superscript
-{
- vertical-align: super;
- font-size: 66%;
-}
-
-.term
-{
- font-style: italic;
-}
-
-.comment
-{
- color: #000000;
- background: #ffff00;
- font-style: italic
-}
-
-.addedErrata12
-{
- color: #FF0000;
- background-color: #FFEEEE;
- text-decoration: underline
-}
-
-.deletedErrata12
-{
- color: #999999;
- background-color: #EEEEEE;
- text-decoration: line-through
-}
-
-.added12
-{
- color: #FF0000;
- text-decoration: underline
-; background-color: #F8F0FF
-}
-
-.deleted12
-{
- color: #999999;
- text-decoration: line-through
-; background-color: #f8f0ff
-}
-
-.rfc2119Keyword
-{
- font-variant: small-caps;
- font-style: normal;
-}
-
-.remark { font-style: italic}
-
-li.faq
-{
- margin-top: 1.5em;
- margin-bottom: 1.5em;
-}
-
-.faq-question
-{
- color: #000080;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- margin-bottom: 0.4em;
-}
-
-
-/*body
-{
- font-family: "Times New Roman", Times, serif;
- font-size: medium;
- font-weight: normal;
- margin-left: 2.5em;
- margin-right: 2.5em;
-}
-
-p
-{
- margin-top: 0pt;
- margin-bottom: 0.5em;
- text-align: justify
-}
-
-pre
-{
- font-family: "Courier New", monospace;
- font-size: 90%;
- background-color: #cccccc;
- color: #000000;
- margin-left:1.5%;
- margin-right:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
- border: #008000 none;
-}
-
-hr
-{
- color: #000080;
- background-color: #000080;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-
-table.fixedWidth
-{
- width: 97%;
- margin-left:1.5%;
- margin-right:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-
-table.varWidth
-{
- margin-left:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-th
-{
- text-align: left;
-}
-
-h1
-{
- color: #000080;
- text-align: left;
- font-size: 167%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
-}
-
-h2
-{
- color: #000080;
- font-size: 150%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
-}
-
-h3
-{
- color: #000080;
- font-size: 133%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
-}
-
-h4
-{
- color: #000080;
- font-size: 116%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
-}
-
-h5
-{
- color: #000080;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
-}
-
-h6
-{
- color: #000080;
- font-size: 83%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
-}
-
-code
-{
- font-family: "Courier New", Courier, monospace;
- font-size: 90%;
- color: #000000
-}
-
-dd
-{
- margin-top: 0.8em;
- margin-bottom: 0.8em;
- text-align: justify
-
-}
-
-dt
-{
- margin-top: 0.8em;
- font-family: Arial, Helvetica, sans-serif;
- color: #000080
-}
-
-ol
-{
- margin-top: 0.5em;
- margin-bottom: 0.5em
-}
-
-ol.alpha
-{
- list-style-type: lower-alpha
-}
-
-li
-{
- margin-top: 0.25em;
- margin-bottom: 0.25em;
- text-align: justify
-}
-
-a:hover
-{
- color: #990000
-}
-
-
-.title
-{
- text-align: left;
- font-size: 167%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
- margin-top: 0.4em;
- margin-bottom: 0.4em
-}
-
-.subtitle
-{
- text-align: left;
- font-size: 133%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
- margin-top: 0.4em;
- margin-bottom: 0.4em
-}
-
-.glossaryTerm
-{
- font-style: italic;
- color: #006699
-}
-
-.example
-{
- font-family: "Courier New", monospace;
- background-color: #CCFFFF;
- color: #000000;
- margin: 0pt 0pt;
- border: #008000 none
-}
-
-.schema
-{
- font-family: "Courier New", monospace;
- background-color: #FFFFCC;
- color: #000000;
- margin: 0pt 0pt;
- border: #008000 none
-}
-
-.documentinfo
-{
- font-family: Arial, Helvetica, sans-serif;
- font-size: 100%;
-}
-
-.ol-contents
-{
- font-size: 100%;
- margin-top: 0.0em;
- margin-bottom: 0.0em;
-}
-
-.li-contents
-{
- font-size: 100%;
- margin-top: 0.0em;
- margin-bottom: 0.0em;
-}
-
-.logoTitle
-{
- text-align: center;
- font-size: 133%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
-}
-
-.logoTable
-{
- margin-bottom: 0px;
- margin-left: 0px
-}
-
-.superscript
-{
- vertical-align: super;
- font-size: 66%;
-}
-
-.term
-{
- font-style: italic;
-}
-
-.comment
-{
- color: #000000;
- background: #ffff00;
- font-style: italic
-}
-
-.addedErrata12
-{
- color: #FF0000;
- background-color: #FFEEEE;
- text-decoration: underline
-}
-
-.deletedErrata12
-{
- color: #999999;
- background-color: #EEEEEE;
- text-decoration: line-through
-}
-
-.added12
-{
- color: #FF0000;
- text-decoration: underline
-; background-color: #F8F0FF
-}
-
-.deleted12
-{
- color: #999999;
- text-decoration: line-through
-; background-color: #f8f0ff
-}
-
-.rfc2119Keyword
-{
- font-variant: small-caps;
- font-style: normal;
-}
-
-.remark { font-style: italic}
-
-li.faq
-{
- margin-top: 1.5em;
- margin-bottom: 1.5em;
-}
-
-.faq-question
-{
- color: #000080;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- margin-bottom: 0.4em;
-}
-*/ \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/common/logo_digAT.png b/id/server/auth/src/main/webapp/common/logo_digAT.png
new file mode 100644
index 000000000..4f36681e2
--- /dev/null
+++ b/id/server/auth/src/main/webapp/common/logo_digAT.png
Binary files differ
diff --git a/id/server/auth/src/main/webapp/common/main.css b/id/server/auth/src/main/webapp/common/main.css
new file mode 100644
index 000000000..6bd964346
--- /dev/null
+++ b/id/server/auth/src/main/webapp/common/main.css
@@ -0,0 +1,253 @@
+html {
+ font-family: "Roboto", sans-serif;
+ color: #000;
+ font-weight:300;
+}
+
+.container {
+ margin: auto;
+ max-width: 1000px;
+ padding-left: 20px;
+ padding-right: 20px;
+}
+
+body {
+ margin: 0;
+ padding: 0;
+ letter-spacing: 0.05em;
+}
+
+h1
+{
+font-family: "Roboto", sans-serif;
+}
+
+#headline {
+ /*background: linear-gradient(center top , #FAFAFA, #F5F5F5) repeat scroll 0% 0% transparent;*/
+ background: linear-gradient(#FAFAFA, #F5F5F5);
+ border-bottom: 1px solid #EEE;
+}
+
+#headline br {
+ clear: both;
+}
+
+#headline h1 {
+ color: #404040;
+ padding-right: 1em;
+ padding-top: 0.3em;
+ margin-bottom: 0;
+ float: right;
+ font-size: 220%;
+ font-weight: 400;
+ }
+#headline img {
+ width: 300px;
+ padding-left: 0;
+ padding-top: 35px;
+ padding-bottom:20px;
+ }
+
+#description {
+ text-align: justify;
+}
+
+#maincontent {
+ height: 13em;
+}
+
+#demologin p {
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: justify;
+ font-size: 100%;
+ color: #000;
+ padding-top:20px;
+
+}
+
+#demologin a{
+
+}
+
+.button {
+ border-radius: 5px;
+ /*background-color: rgb(41,127,184); */
+ background-color: #E10319;
+ text-decoration: none;
+ text-transform: uppercase;
+ padding: 10px 80px 10px 80px;
+ letter-spacing: 1.5px;
+ text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.3);
+ color: WHITE;
+ box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
+ margin-left: 10px;
+}
+
+.button:hover {
+ box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.8);
+ text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.9);
+}
+
+#singlelogout {
+ clear: both;
+ width: 100%;
+ box-sizing: border-box;
+
+}
+a{
+ text-decoration: none;
+ font-size:100%;
+ color: #666;
+}
+a:hover{
+ text-decoration: none;
+ font-size:100%;
+ color: #E10319;
+}
+
+/*****************************/
+@media ( max-width :599px) {
+ #headline {
+ /*background: linear-gradient(center top , #FAFAFA, #F5F5F5) repeat scroll 0% 0% transparent;*/
+ background: linear-gradient(#FAFAFA, #F5F5F5);
+ border-bottom: 1px solid #EEE;
+ }
+
+ #headline img {
+ width: 150px;
+ padding-left: 0;
+ padding-top: 0.5em;
+ padding-bottom:0.5em;
+ }
+ #headline br {
+ clear: both;
+ }
+ #headline h1 {font-family: "Roboto", sans-serif;
+ color: #404040;
+ padding: 0;
+ margin-bottom: 0;
+ margin-top: 0;
+ text-align: center;
+ }
+ nav {
+ display: block;
+ width: 100%;
+ text-align: center;
+ box-sizing: border-box;
+ color: WHITE;
+ margin: 0px 0px 0px 0px;
+ overflow: hidden;
+
+ }
+ nav ul {
+ margin: 0;
+ padding: 0;
+ }
+ nav ul li {
+ list-style-type: none;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ }
+ nav>ul>li>a {
+ color: #666;
+ display: block;
+ text-decoration: none;
+ }
+ nav>ul>li:hover {
+ color: #404040;
+ }
+ nav>ul>li:hover>a {
+ color: #404040;
+ }
+ nav>ul>li:active>a {
+ color: #404040;
+ }
+ #demologin {
+ width: 100%;
+ box-sizing: border-box;
+ border: 1px solid;
+ border-radius: 1px;
+ border-color: #818286;
+ background: #F5F5F5;
+ height: 182px;
+ width: 242px;
+ margin-top: 18px;
+ padding-left:0;
+ }
+}
+/*****************************/
+@media ( min-width :600px) {
+ #headline {
+ /*background: linear-gradient(center top , #FAFAFA, #F5F5F5) repeat scroll 0% 0% transparent;*/
+ background: linear-gradient(#FAFAFA, #F5F5F5);
+ border-bottom: 1px solid #EEE;
+
+ }
+ #headline br {
+ clear: both;
+ }
+
+ #headline h1 {
+ color: #404040;
+ padding-right: 1em;
+ padding-top: 0.15em;
+ margin-bottom: 0;
+ float: right;
+ }
+ #headline img {
+ width: 300px;
+ padding-left: 0;
+ padding-top: 35px;
+ padding-bottom:20px;
+ }
+ nav {
+ display: block;
+ float: left;
+ width: 30%;
+ box-sizing: border-box;
+ background-color: #fff;
+ color: #888;
+ margin: 8px 0px 8px 0px;
+ overflow: hidden;
+ }
+ nav ul {
+ margin: 0;
+ padding: 0;
+ }
+ nav ul li {
+ list-style-type: none;
+ padding-top: 15px;
+ }
+ nav>ul>li>a {
+ color: #666;
+ display: block;
+ text-decoration: none;
+ }
+ nav>ul>li:hover {
+ color: #E10319;
+ }
+ nav>ul>li:hover>a {
+ color: #E10319;
+ }
+ nav>ul>li:active>a {
+ color: #E10319;
+ }
+ #demologin {
+ float: right;
+ width: 50%;
+ box-sizing: border-box;
+ border: 1px solid;
+ border-radius: 1px;
+ border-color: #818286;
+ background: #F5F5F5;
+ height: 282px;
+ width: 342px;
+ margin-right: 150px;
+ margin-top: 18px;
+ padding-left:0;
+ }
+ #demologin a:hover{
+ color:white;
+ }
+} \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/index.html b/id/server/auth/src/main/webapp/index.html
index 391195def..982c850a8 100644
--- a/id/server/auth/src/main/webapp/index.html
+++ b/id/server/auth/src/main/webapp/index.html
@@ -1,102 +1,91 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
- <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
- <title>MOA-ID 2.1.x</title>
- <link rel="stylesheet" href="./common/MOA.css" type="text/css">
-</head>
-<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="./common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">&nbsp;</td>
- <td align="center" class="logoTitle" width="123"><img src="./common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title">MOA-ID 2.1.2</p>
-<hr/>
- <h1>Inhalt</h1>
- <ol>
- <li><a href="#allgemeines">Allgemeines</a>
- <ol>
- <li><a href="#allgemeines_service">Externe Services</a></li>
- </ol>
- </li>
- <li><a href="#ss">MOA-ID-Auth </a>
- <ol>
- <li><a href="#ablauf">Ablauf einer Anmeldung</a></li>
- </ol>
- </li>
- <li><a href="#sp">MOA-ID-Configuration</a></li>
- </ol>
-<hr/>
- <h1><a name="allgemeines"></a>1 Allgemeines</h1>
- <p> Das Module MOA-ID-Auth kann von Anwendungen zur Identifizierung und Authentifizierung im Rahmen eines Anmeldeprozesses an einer Online-Applikation verwendet werden. Die Konfiguration des Modules MOA-ID-Auth erfolgt mit Hilfe des Zusatzmodules MOA-ID-Configuration welches eine web-basierte Konfigurationsschnittstelle zur Verf&uuml;gung stellt.</p>
- <p>Das nachfolgende Blockdiagramm zeigt Struktur von MOA-ID und gibt eine kurze Beschreibung der einzelnen Komponenten.</p>
- <p><img src="Blockdiagramm.png" alt="Architektur MOA-ID" width="1000" height="678"></p>
- <p>&nbsp;</p>
-<p>MOA-ID besteht aus folgenden Kernkomponenten:</p>
- <ol>
- <li><u>CORE LOGIC</u>: Diese Komponente ist die zentrale Logik zur Steuerung der einzelnen Prozesse innerhalb MOA-ID 2.x.</li>
- <li><u>Protocol Adapter</u>: Stellt die in MOA-ID 2.x unterst&uuml;tzten Authentifizierungsprotokolle f&uuml;r die Anbindung von Service Providern zur Verf&uuml;gung.</li>
- <li><u>Auth Sources</u>: Stellt die von MOA-ID 2.x unterst&uuml;tzten Identifikationsmechanismen und Single Sign-On Management Funktionen zur Verf&uuml;gung. Dies sind die &ouml;sterreichische B&uuml;rgerkarte oder Handy-Signatur, die Anmeldung ausl&auml;ndischer Personen mit Hilfe des STORK Protokoll oder mittels Single Sign-On von einem weiteren vertrauensw&uuml;rdigen Identity Provider (Interfederation). Dieses Modul beinhaltet somit alle jene Funktionen welche f&uuml;r den Authentifizierungs- oder Abmeldeprocess erforderlich sind. </li>
- <li><u>Template Generator</u>: Der Template Generator erzeugt f&uuml;r Service Provider die entsprechenden Login-Masken f&uuml;r die Integration in die eigene Web-Applikation.</li>
- <li><u>SSO Module</u>: Das Single Sign-On (SSO) Modul verwaltet die zus&auml;tzlichen Operationen die sich aus der Umsetzung von SSO ergeben. Dies umfasst im Besonderen das SSO Session-Management.</li>
- <li><u>Statistic Module</u>: Dieses Modul dient zur Generierung von anonymisierten Statistikdaten aus den Anmeldeinformationen. </li>
- <li><u>Monitoring &amp; Testing Module</u>: Dieses Modul implementiert Methoden mit deren Hilfe einzelne funktionale Bereiche aus MOA-ID-Auth getestet werden k&ouml;nnen. Somit dient dieses Modul als Schnittstellte zu einem externen Monitoring-Service.</li>
- <li><u>Configuration</u><u> Modul</u>: Dieses Modul stellt die Schnittstelle zur MOA-ID-Auth Konfiguration dar welche in einer Datenbank abgelegt wird. </li>
- <li><u>Konfigurationstool</u>: Oberfl&auml;che, mit deren Hilfe MOA-ID konfiguriert werden kann. Dies umfasst sowohl allgemeine Konfigurationsteile als auch die Konfiguration der einzelnen bei MOA-ID-Auth registrierten Online-Applikationen. Service Provider k&ouml;nnen sich am Konfigurationstool mittels B&uuml;rgerkarte oder Handy-Signatur anmelden und ihre Online-Applikationen verwalten.</li>
- </ol>
- <h2><a name="allgemeines_service" id="allgemeines_service"></a>1.1 Externe Services</h2>
-<p>F&uuml;r die Anmeldung in Vertretung und die Anmeldung ausl&auml;ndischer Personen werden zus&auml;tzliche externe Services verwendet.</p>
- <h3><a name="allgemeines_service_ovs" id="allgemeines_service2"></a>1.1.1 Online-Vollmachten</h3>
-<p>Ab der MOA-ID Release 1.5.0 werden Online-Vollmachten (f&uuml;r Anwendungen aus dem &ouml;ffentlichen Bereich) unterst&uuml;tzt. Hierzu werden diese Vollmachten &uuml;ber eine Online-Vollmachten-Service ausgew&auml;hlt. Der Zugang zu diesem Online-Vollmachten Service ist &uuml;ber eine Client-Server Authentifizierung abgesichert. Als Client-Zertifikate werden Zertifikate der Firmen A-Trust bzw. A-CERT, die mit der Verwaltungs- oder Dienstleistereigenschaft versehen sind, akzeptiert. </p>
- <h3><a name="allgemeines_service_szrgw" id="allgemeines_service3"></a>1.1.2 Ausl&auml;ndische B&uuml;rger</h3>
- <p> Ab der MOA-ID Release 1.4.7 ist es m&ouml;glich, dass sich auch ausl&auml;ndische B&uuml;rger mittels MOA-ID einloggen k&ouml;nnen. Hierzu wird eine Verbindung zu einem sogenannten Stammzahlenregister-Gateway aufgebaut, dass basierend auf den Zertifikatsdaten des ausl&auml;ndischen B&uuml;rgers eine Eintragung im Erg&auml;nzungsregister f&uuml;r nat&uuml;rliche Personen gem&auml;&szlig; E-Government Gesetz &sect;6(5) vornimmt. Somit ist es m&ouml;glich, dass eine Personenbindung ausgestellt werden kann, die in weitere Folge an MOA-ID weitergeleitet wird. Der Zugang zu diesem Stammzahlenregister-Gateway ist &uuml;ber eine Client-Server Authentifizierung abgesichert. Als Client-Zertifikate werden Zertifikate der Firmen A-Trust bzw. A-CERT, die mit der Verwaltungs- oder Dienstleistereigenschaft versehen sind, akzeptiert. </p>
-<h1><a name="moaidauth" id="moaidauth"></a>2 MOA-ID-Auth</h1>
-<p>Das Modul MOA-ID-Auth dient der Identifizierung und Authentifizierung im Rahmen eines Anmeldevorgangs an einer Online-Applikation. Die Identifizierung und Authentifizierung erfolgt mit B&uuml;rgerkartem, Handy-Signatur oder f&uuml;r aus&auml;ndische Personen mittels STORK.</p>
-<p>Die Funktionalit&auml;t und der Aufbau der Schnittstellen des Modules MOA-ID-Auth in Richtung Online-Applikation wird im Kapitel Protokolle beschriebe.
-<p>F&uuml;r den Betrieb von MOA-ID-Auth ist der Einsatz von MOA-Signaturpr&uuml;fung (MOA-SP) erforderlich.</p>
-<h2><a name="ablauf" id="ablauf"></a> 2.1 Ablauf einer Anmeldung</h2>
-<p>Die nachfolgende Grafik beschreibt den Ablauf eines Abmeldevorgangs an einer Online-Applikation mit Hilfe von MOA-ID-Auth unter Verwendung der B&uuml;rgerkarte oder der Handy-Signatur.</p>
-<p><img src="anmeldeablauf.png" width="947" height="881" alt="Sequenzdiagramm eines Anmeldevorgangs mit MOA-ID-Auth"></p>
-<p>&nbsp;</p>
-<ol>
- <li>Der Benutzer verbindet sich zu einem Web-Portal (Service Provider) &uuml;ber das die Online-Applikation erreichtbar ist. Nach der Bet&auml;tigung eines Login-Buttons wird der Anmeldevorgang ausgel&ouml;st.</li>
- <li>Der Benutzer wird zur Identifizierung und Authentifizierung an MOA-ID-Auth weitergeleitet. </li>
- <li>MOA-ID-Auth validiert die Authentifizierungsanfrage des Service Providers</li>
- <li>MOA-ID-Auth bietet dem Benutzer eine Auswahl von verf&uuml;gbaren Authentifizierungsmethoden (B&uuml;rgerkarte, Handy-Signatur, STORK) an.</li>
- <li>Der Benutzer w&auml;hlt die gew&uuml;nschte Authentifizierungsmethode und sendet diese an MOA-ID-Auth.</li>
- <li>MOA-ID-AUTH erzeugt eine HTML-Seite mit einem &lt;InfoboxReadRequest&gt; zum Auslesen der Personenbindung. Diese HTML-Seite wird an den Browser geschickt.</li>
- <li>Der Browser schickt den &lt;InfoboxReadRequest&gt; an die ausgew&auml;hlte Bürgerkartenumgebung unter Verwendung des Security-Layer. Die Bürgerkartenumgebung liest die Personenbindung von der B&uuml;rgerkarte und sendet diese an MOA-ID-AUTH. MOA-ID-Auth prüft die Signatur der Personenbindung durch einen Aufruf von MOA-SP.</li>
- <li>MOA-ID-AUTH erstellt den AUTH-Block. Der AUTH-Block enth&auml;lt Vor- und Nachname aus der Personenbindung, URL von MOA-ID-AUTH, URL und Gesch&auml;ftsbereich der Online-Applikation oder im Falle einer SSO Anmeldung die URL und den Gesch&auml;ftsbereich der MOA-ID-Auth Instanz, die aktuelle Zeit, das aktuelle Datum und einen Zufallswert f&uuml;r diesen Anmeldevorgang. Anschlie&szlig;end wird eine XML Antwortseite, die das Kommando zum Signieren (&lt;CreateXMLSignatureRequest&gt;) des generierten AUTH-Blocks enth&auml;lt, an die ausgew&auml;hlte Bürgerkartenumgebung, unter Verwendung des Security-Layers, gesendet.</li>
- <li>Der Request wird von der Bürgerkartenumgebung verarbeitet. Die signierten Daten werden an MOA-ID-AUTH zur&uuml;ckgesendet.</li>
- <li>MOA-ID-Auth &uuml;berpr&uuml;ft den signierten AUTH-Block und generiert Information f&uuml;r weitere Anmeldungen mittels Single Sign-On.</li>
- <li>MOA-ID-Auth generiert die Anmeldedaten (Assertion) welche folgende Information enthalten:
- <ul>
- <li>die bereichsspezifischen Personenkennzeichen (bPK / wbPK)</li>
- <li>Vorname, Nachname und Geburtsdatum (optional)</li>
- <li>den signierten AUTH-Block (optional)</li>
- <li>die Personenbindung (optional)</li>
- <li>das Zertifikat mit dem die Signatur erzeugt wurde (optional)</li>
- <li>informationen zum Vertreten im Falle einer Anmeldung in Vertretung (optional)</li>
- <li>die elektronische Vollmacht im Falle einer Anmeldung in Vertretung (optional)</li>
- <li>informationen aus dem STORK Protokoll im Falle einer Anmeldung mittels STORK (optional)</li>
- </ul>
- </li>
- <li> MOA-ID-Auth sendet die Anmeldedaten an den Service-Provider und setzt im Browser des Benutzers ein SSO Session-Tokken welches f&uuml;r weitere Anmeldevorg&auml;nge verwendet werden kann.</li>
- <li>Die Anmeldedaten werden vom Service-Provider verarbeitet und der Benutzer wird vom Service-Provider an die Online-Applikation weitergeleitet. </li>
-</ol>
-<h1><a name="config" id="config"></a>3 MOA-ID-Configuration </h1>
-<p>Das Modul MOA-ID-Configuration stellt eine web-basierte Benutzerschnittstelle zur Konfiguration des Moduls MOA-ID-Auth zur Verf&uuml;gung, wobei sich die Konfiguration in zwei Teilbereiche unterteilt ist. Eine detailierte Aufstellung der einzelnen Konfigurationspunkte befindet sich im Kapitel <a href="../config/config.html">Konfiguration</a>.</p>
-<ol>
- <li>Allgemeine Konfiguration<br>
- In diesem Bereich sind alle Basiseinstellungen der MOA-ID-Auth Instanz hinterlegt. Beispiele hierf&uuml;r sind Single Sign-On, unterst&uuml;tze Authentifizierungsprotokolle, Informationen zu MOA-ID-Auth, URLs zu externen Services, ... Eine &Auml;nderung der Basiseinstellung erfordert besondere Benutzerrechte am Konfigurationstool.</li>
- <li>Online-Applikationen<br>
- In diesem Abschnitt erfolgt die Konfiguration der einzelnen bei MOA-ID-Auth registrierten Service-Provider. Hierbei handelt es sich um authentifizierungsprotkollspezifische Einstellungen, Bereich des Service-Providers (&ouml;ffentlich / Privatwirtschaftlich), Konfiguration der BKU Auswahl, .... Wobei sich die Konfigurationsm&ouml;glichkeiten je nachdem welche Benutzerrechten vergeben sind, unterscheiden k&ouml;nnen.</li>
-</ol>
-<p>Zus&auml;tzlich unterst&uuml;tzt das Module MOA-ID-Configuration auch eine einfache Bentzerverwaltung mit Rechtevergabe mit deren Hilfe die Verwaltung von Online-Applikatioen an den jeweiligen Service-Provider ausgelagert werden kann. Die Anmeldung am Konfigurationstool erfolgt mittels B&uuml;rgerkarte, Handy-Signature oder STORK, wobei optional auch eine Anmeldung mittels Benutzername und Passwort zur Verf&uuml;gung steht.</p>
-<p>&nbsp;</p>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=utf8" >
+ <title>MOA-ID 2.2.x</title>
+ <link rel="stylesheet" href="./common/main.css" type="text/css">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
+ <script language="JavaScript" type="text/javascript">
+
+ function PVP2LoginIframe(url) {
+ var el = document.getElementById("demologin");
+ var iframe = document.createElement("iframe");
+ iframe.setAttribute("src", url);
+ iframe.setAttribute("width", "240");
+ iframe.setAttribute("height", "180");
+ iframe.setAttribute("frameborder", "0");
+ iframe.setAttribute("scrolling", "no");
+ iframe.setAttribute("title", "Login");
+ //iframe.setAttribute("scrolling", "yes");
+
+ iframe.setAttribute("name", "iframelogin");
+ iframe.setAttribute("id", "iframelogin");
+
+
+ iframe.setAttribute("onload","iframeLoaded()");
+
+ var divdemologin = document.getElementById("demologin");
+ divdemologin.innerHTML="";
+
+ el.appendChild(iframe, el);
+ }
+
+ function iframeLoaded(){
+ //console.log(document.title);
+ var ifr=document.getElementById("iframelogin");
+
+ //only works on same origin
+
+ /*
+ var iframedoc=(ifr.contentWindow||ifr.contentDocument);
+
+ //var iframedoc=ifr.contentDocument||iframe.contentWindow.document;
+ console.log(iframedoc.title);
+ if(iframedoc.title=="Demo Applikation"){
+ ifr.setAttribute("width",480);
+ ifr.setAttribute("height",240);
+
+ var demologin=document.getElementById("demologin");
+ demologin.style.marginRight="250px";
+ }
+ */
+ }
+
+ </script>
+ </head>
+ <body>
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="./common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+ <div id="description" class="container">
+ <p>Bei MOA-ID-AUTH handelt es sich um ein Modul für die Identifizierung und Authentifizierung bei Onlineapplikationen unter Verwendung der Bürgerkarte.
+ Hier kann sowohl die Smartcard-Variante (e-Card) als auch die Handysignatur verwendet werden.
+ Die Konfiguration des Modules MOA-ID-Auth erfolgt mit Hilfe des Zusatzmodules MOA-ID-Configuration welches eine web-basierte Konfigurationsschnittstelle zur Verfügung stellt.</p>
+ </div>
+ <div id="maincontent" class="container">
+ <nav>
+ <ul>
+ <!--li><a href="_index.html">Allgemein</a></li-->
+ <!--li><a href="http://joinup.ec.europa.eu/site/moa-idspss/">Dokumentation</a></li-->
+ <li><a href="http://joinup.ec.europa.eu/site/moa-idspss/moa-id-2.0.0/doc/handbook">Dokumentation</a></li>
+ <!--Link zu den Demo-Clients-->
+ <li><a href=#>Demo Clients</a></li>
+ <!--Link zum Konfigtool-->
+ <li><a href="https://localhost:8443/moa-id-configuration">Konfiguration GUI</a></li>
+
+ </ul>
+ </nav>
+ <div id="demologin" class="container">
+ <br/>
+ <a href="#" id="loginButton" class="button" onclick="PVP2LoginIframe('https://menja.iaik.tugraz.at:8443/moa-id-oa/servlet/pvp2login')">Login</a>
+ <p id="loginText">Über den Login-Button können Sie sich anschließend bei Ihrer Online-Applikation mit der Bürgerkarte oder der Handysignatur anmelden. Dazu müssen Sie allerdings zuvor die Applikation gemäß <a href="http://joinup.ec.europa.eu/site/moa-idspss/moa-id-2.0.0/doc/handbook/application/application.html#DemoApp_pvp21">Beschreibung</a> konfigurieren.</p>
+ </div>
+ </div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/template_handyBKU.html b/id/server/auth/src/main/webapp/template_handyBKU.html
index 91f7fad6f..6c3dc563c 100644
--- a/id/server/auth/src/main/webapp/template_handyBKU.html
+++ b/id/server/auth/src/main/webapp/template_handyBKU.html
@@ -11,7 +11,7 @@
</script>
</head>
<body onLoad="onAnmeldeSubmit()">
- <form name="CustomizedForm" action="<BKU>" method="post" enctype="multipart/form-data<>">
+ <form name="CustomizedForm" action="<BKU>" method="post" enctype="multipart/form-data">
Falls Sie nicht automatisch weitergeleitet werden klicken Sie bitte hier:
<input class="button" type="submit" value="Starte Anmeldung" name="Senden">
<input type="hidden" name="XMLRequest" value="<XMLRequest>">
diff --git a/id/server/auth/src/main/webapp/template_localBKU.html b/id/server/auth/src/main/webapp/template_localBKU.html
index 88fad25ae..0ec8e52c2 100644
--- a/id/server/auth/src/main/webapp/template_localBKU.html
+++ b/id/server/auth/src/main/webapp/template_localBKU.html
@@ -11,7 +11,7 @@
</script>
</head>
<body onLoad="onAnmeldeSubmit()">
- <form target=<REDIRECTTARGET> name="CustomizedForm" action="<BKU>" method="post" enctype="multipart/form-data<>">
+ <form target=<REDIRECTTARGET> name="CustomizedForm" action="<BKU>" method="post" enctype="multipart/form-data">
Falls Sie nicht automatisch weitergeleitet werden klicken Sie bitte hier:
<input class="button" type="submit" value="Starte Anmeldung" name="Senden">
<input type="hidden" name="XMLRequest" value="<XMLRequest>">
diff --git a/id/server/auth/src/main/webapp/template_onlineBKU.html b/id/server/auth/src/main/webapp/template_onlineBKU.html
index 534d3dc55..39d7bb8e1 100644
--- a/id/server/auth/src/main/webapp/template_onlineBKU.html
+++ b/id/server/auth/src/main/webapp/template_onlineBKU.html
@@ -11,7 +11,7 @@
</script>
</head>
<body onLoad="onAnmeldeSubmit()">
- <form name="CustomizedForm" action="<BKU>" method="post" enctype="multipart/form-data<>">
+ <form name="CustomizedForm" action="<BKU>" method="post" enctype="multipart/form-data">
Falls Sie nicht automatisch weitergeleitet werden klicken Sie bitte hier:
<input class="button" type="hidden" value="Starte Anmeldung" name="Senden">
<input type="hidden" name="XMLRequest" value="<XMLRequest>">
diff --git a/id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/loginFormFull.html b/id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/loginFormFull.html
index ef070b8eb..d0af6401b 100644
--- a/id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/loginFormFull.html
+++ b/id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/loginFormFull.html
@@ -837,7 +837,7 @@
src="#CONTEXTPATH#/img/valid-html5-blue.png" alt="HTML5 ist valide!" />
</a> <a href="http://jigsaw.w3.org/css-validator/"> <img
style="border: 0; width: 88px; height: 31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/sendAssertionFormFull.html b/id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/sendAssertionFormFull.html
index b80d654cc..1a3e683de 100644
--- a/id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/sendAssertionFormFull.html
+++ b/id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/sendAssertionFormFull.html
@@ -608,7 +608,7 @@
</a>
<a href="http://jigsaw.w3.org/css-validator/">
<img style="border:0;width:88px;height:31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/data/deploy/conf/moa-id-configuration/moa-id-configtool.properties b/id/server/data/deploy/conf/moa-id-configuration/moa-id-configtool.properties
index 7c71fadcb..b10913d69 100644
--- a/id/server/data/deploy/conf/moa-id-configuration/moa-id-configtool.properties
+++ b/id/server/data/deploy/conf/moa-id-configuration/moa-id-configtool.properties
@@ -15,6 +15,8 @@ general.ssl.truststore=certs/truststore
general.moaconfig.key=ConfigurationEncryptionKey
+general.pvp.schemavalidation=true
+
##Mail
general.mail.host=smtp.localhost...
#general.mail.host.port=
diff --git a/id/server/data/deploy/conf/moa-id-configuration/transforms/TransformsInfoAuthBlockTable_DE_2.1.xml b/id/server/data/deploy/conf/moa-id-configuration/transforms/TransformsInfoAuthBlockTable_DE_2.1.xml
new file mode 100644
index 000000000..6afe1f36b
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-id-configuration/transforms/TransformsInfoAuthBlockTable_DE_2.1.xml
@@ -0,0 +1,7 @@
+<sl10:TransformsInfo><dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" exclude-result-prefixes="pr saml"><xsl:output method="xml" xml:space="default"/><xsl:template match="/" xmlns="http://www.w3.org/1999/xhtml"><html><head><title>Signatur der Anmeldedaten</title><style type="text/css" media="screen">
+ .normalstyle { font-size: medium; }
+ .italicstyle { font-size: medium; font-style: italic; }
+ .titlestyle{ text-decoration:underline; font-weight:bold; font-size: medium; }
+ .h4style{ font-size: large; }
+ </style></head><body><h4 class="h4style">Anmeldedaten:</h4><xsl:if test="string(//saml:Attribute[@AttributeName='SpecialText']/saml:AttributeValue)"><p class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='SpecialText']/saml:AttributeValue"/></p></xsl:if><p class="titlestyle">Daten zur Person</p><table class="parameters"><xsl:if test="normalize-space(//@Issuer)"><tr><td class="italicstyle">Name:</td><td class="normalstyle"><xsl:value-of select="//@Issuer"/></td></tr></xsl:if><xsl:if test="string(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue)"><tr><td class="italicstyle">Geburtsdatum:</td><td class="normalstyle"><xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,9,2)"/><xsl:text>.</xsl:text><xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,6,2)"/><xsl:text>.</xsl:text><xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,1,4)"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='OIDTextualDescription']"><tr><td class="italicstyle">Rolle:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='OIDTextualDescription']/saml:AttributeValue"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='mandateReferenceValue']"><tr><td class="italicstyle">Vollmacht:</td><td class="normalstyle"><xsl:text>Ich melde mich in Vertretung an. Im nächsten Schritt wird mir eine Liste der für mich verfügbaren Vertretungsverhältnisse angezeigt, aus denen ich eines auswählen werde.</xsl:text></td></tr></xsl:if></table><p class="titlestyle">Daten zur Anwendung</p><table class="parameters"><tr><td class="italicstyle">Name:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='oaFriendlyName']/saml:AttributeValue"/></td></tr><tr><td class="italicstyle">Staat:</td><td class="normalstyle"><xsl:choose><xsl:when test="contains(//saml:Attribute[@AttributeName='IdentityLinkDomainIdentifierType'],'STORK')"><xsl:variable name="country" select="substring(//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Type, string-length(//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Type)-1)"/><xsl:choose><xsl:when test="$country='T2'">Österreich (Test)</xsl:when><xsl:when test="$country='T2'">Österreich (Test)</xsl:when><xsl:when test="$country='BE'">Belgien</xsl:when><xsl:when test="$country='CH'">Schweiz</xsl:when><xsl:when test="$country='CZ'">Tschechien</xsl:when><xsl:when test="$country='EE'">Estland</xsl:when><xsl:when test="$country='ES'">Spanien</xsl:when><xsl:when test="$country='FR'">Frankreich</xsl:when><xsl:when test="$country='GR'">Griechenland</xsl:when><xsl:when test="$country='IS'">Island</xsl:when><xsl:when test="$country='IT'">Italien</xsl:when><xsl:when test="$country='LT'">Litauen</xsl:when><xsl:when test="$country='LU'">Luxemburg</xsl:when><xsl:when test="$country='NL'">Niederlande</xsl:when><xsl:when test="$country='PT'">Portugal</xsl:when><xsl:when test="$country='SE'">Schweden</xsl:when><xsl:when test="$country='SI'">Slowenien</xsl:when><xsl:when test="$country='SK'">Slowakei</xsl:when><xsl:when test="$country='TR'">Türkei</xsl:when><xsl:when test="$country='UK'">Vereinigtes Königreich</xsl:when><xsl:otherwise>Ausland</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>Österreich</xsl:otherwise></xsl:choose></td></tr></table><p class="titlestyle">Technische Parameter</p><table class="parameters"><tr><td class="italicstyle">URL:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='OA']/saml:AttributeValue"/></td></tr><xsl:if test="//saml:Attribute[@AttributeName='Geschaeftsbereich']"><tr><td class="italicstyle">Bereich:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='Geschaeftsbereich']/saml:AttributeValue"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='mandateReferenceValue']"><tr><td class="italicstyle">
+ Vollmachten-Referenz:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='mandateReferenceValue']"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='IdentityLinkDomainIdentifierType']"><tr><td class="italicstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='IdentityLinkDomainIdentifierType']"/>:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Type"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='bPK'] or //saml:Attribute[@AttributeName='wbPK']"><tr><td class="italicstyle">Identifikator:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='bPK']/saml:AttributeValue/pr:Identification/pr:Value"/><xsl:value-of select="//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Value"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='OIDTextualDescription']"><tr><td class="italicstyle">OID:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='OID']/saml:AttributeValue"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='HPI']"><tr><td class="italicstyle">HPI:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='HPI']/saml:AttributeValue"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='UniqueTokken']"><tr><td class="italicstyle">SessionTokken:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='UniqueTokken']/saml:AttributeValue"/></td></tr></xsl:if><tr><td class="italicstyle">Datum:</td><td class="normalstyle"><xsl:value-of select="substring(//@IssueInstant,9,2)"/><xsl:text>.</xsl:text><xsl:value-of select="substring(//@IssueInstant,6,2)"/><xsl:text>.</xsl:text><xsl:value-of select="substring(//@IssueInstant,1,4)"/></td></tr><tr><td class="italicstyle">Uhrzeit:</td><td class="normalstyle"><xsl:value-of select="substring(//@IssueInstant,12,2)"/><xsl:text>:</xsl:text><xsl:value-of select="substring(//@IssueInstant,15,2)"/><xsl:text>:</xsl:text><xsl:value-of select="substring(//@IssueInstant,18,2)"/></td></tr></table></body></html></xsl:template></xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/></dsig:Transforms><sl10:FinalDataMetaInfo><sl10:MimeType>application/xhtml+xml</sl10:MimeType></sl10:FinalDataMetaInfo></sl10:TransformsInfo>
diff --git a/id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html b/id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html
index 7e2ddc491..5b534fca3 100644
--- a/id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html
+++ b/id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html
@@ -794,13 +794,13 @@
<div id="localBKU">
<form method="get" id="moaidform" action="#AUTH_URL#"
class="verticalcenter" target="_parent">
- <input type="hidden" name="bkuURI" value="#LOCAL#"> <input
- type="hidden" name="useMandate" id="useMandate"> <input
- type="hidden" name="SSO" id="useSSO"> <input
- type="hidden" name="CCC" id="ccc"> <input type="hidden"
- name="MODUL" value="#MODUL#"> <input type="hidden"
- name="ACTION" value="#ACTION#"> <input type="hidden"
- name="MOASessionID" value="#SESSIONID#">
+ <input type="hidden" name="bkuURI" value="#LOCAL#">
+ <input type="hidden" name="useMandate" id="useMandate">
+ <input type="hidden" name="SSO" id="useSSO">
+ <input type="hidden" name="CCC" id="ccc">
+ <input type="hidden" name="MODUL" value="#MODUL#">
+ <input type="hidden" name="ACTION" value="#ACTION#">
+ <input type="hidden" name="MOASessionID" value="#SESSIONID#">
<input type="submit" value=">lokale Bürgerkartenumgebung" tabindex="4"
role="button" class="hell"
onclick="setMandateSelection();"
@@ -837,7 +837,7 @@
src="#CONTEXTPATH#/img/valid-html5-blue.png" alt="HTML5 ist valide!" />
</a> <a href="http://jigsaw.w3.org/css-validator/"> <img
style="border: 0; width: 88px; height: 31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/data/deploy/conf/moa-id/htmlTemplates/sendAssertionFormFull.html b/id/server/data/deploy/conf/moa-id/htmlTemplates/sendAssertionFormFull.html
index b80d654cc..1a3e683de 100644
--- a/id/server/data/deploy/conf/moa-id/htmlTemplates/sendAssertionFormFull.html
+++ b/id/server/data/deploy/conf/moa-id/htmlTemplates/sendAssertionFormFull.html
@@ -608,7 +608,7 @@
</a>
<a href="http://jigsaw.w3.org/css-validator/">
<img style="border:0;width:88px;height:31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/data/deploy/conf/moa-id/htmlTemplates/slo_template.html b/id/server/data/deploy/conf/moa-id/htmlTemplates/slo_template.html
index 6cefe4054..9a621998c 100644
--- a/id/server/data/deploy/conf/moa-id/htmlTemplates/slo_template.html
+++ b/id/server/data/deploy/conf/moa-id/htmlTemplates/slo_template.html
@@ -450,7 +450,7 @@
src="$contextpath/img/valid-html5-blue.png" alt="HTML5 ist valide!" />
</a> <a href="http://jigsaw.w3.org/css-validator/"> <img
style="border: 0; width: 88px; height: 31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/data/deploy/conf/moa-id/moa-id.properties b/id/server/data/deploy/conf/moa-id/moa-id.properties
index 9d1e931e9..c330758c8 100644
--- a/id/server/data/deploy/conf/moa-id/moa-id.properties
+++ b/id/server/data/deploy/conf/moa-id/moa-id.properties
@@ -13,6 +13,7 @@
##For Testing
configuration.validation.certificate.QC.ignore=false
protocols.pvp2.assertion.encryption.active=false
+protocols.pvp2.schemavalidation=true
##General MOA-ID 2.0 operations
#MOA-ID 2.0 session information encryption key (PassPhrase)
@@ -43,6 +44,12 @@ service.foreignidentities.acceptedServerCertificates=
service.foreignidentities.clientKeyStore=keys/....
service.foreignidentities.clientKeyStorePassword=
+##STORK 2
+stork.fakeIdL.active=false
+stork.fakeIdL.countries=
+stork.fakeIdL.keygroup=
+stork.documentservice.url=
+
##Protocol configuration##
#PVP2
diff --git a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_VIDP.xml b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_VIDP.xml
index ee4c636ce..29973690e 100644
--- a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_VIDP.xml
+++ b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_VIDP.xml
@@ -119,5 +119,9 @@
<!-- ISA 1.18 attributes-->
<entry key="ECApplicationRole">http://www.stork.gov.eu/1.1/ECApplicationRole</entry>
+ <entry key="MSOrganization">http://www.stork.gov.eu/1.1/MSOrganization</entry>
+
+ <entry key="citizenQAALevel">http://www.stork.gov.eu/1.0/citizenQAALevel</entry>
+
</properties>
diff --git a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming.xml b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming.xml
index 83e69ac23..a817e29c0 100644
--- a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming.xml
+++ b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming.xml
@@ -90,5 +90,11 @@
<entry key="mandateContent">http://www.stork.gov.eu/1.0/mandateContent</entry>
<entry key="representative">http://www.stork.gov.eu/1.0/representative</entry>
<entry key="represented">http://www.stork.gov.eu/1.0/represented</entry>
-
+
+ <!-- ISA 1.18 attributes-->
+ <entry key="ECApplicationRole">http://www.stork.gov.eu/1.1/ECApplicationRole</entry>
+ <entry key="MSOrganization">http://www.stork.gov.eu/1.1/MSOrganization</entry>
+
+ <entry key="citizenQAALevel">http://www.stork.gov.eu/1.0/citizenQAALevel</entry>
+
</properties>
diff --git a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming_attr.xml b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming_attr.xml
index 83e69ac23..33437c110 100644
--- a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming_attr.xml
+++ b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming_attr.xml
@@ -90,5 +90,9 @@
<entry key="mandateContent">http://www.stork.gov.eu/1.0/mandateContent</entry>
<entry key="representative">http://www.stork.gov.eu/1.0/representative</entry>
<entry key="represented">http://www.stork.gov.eu/1.0/represented</entry>
-
+
+ <!-- ISA 1.18 attributes-->
+ <entry key="ECApplicationRole">http://www.stork.gov.eu/1.1/ECApplicationRole</entry>
+ <entry key="MSOrganization">http://www.stork.gov.eu/1.1/MSOrganization</entry>
+
</properties>
diff --git a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_outgoing.xml b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_outgoing.xml
index b095b9e7e..b840b4fe5 100644
--- a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_outgoing.xml
+++ b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_outgoing.xml
@@ -87,8 +87,44 @@
<entry key="newAttribute1">http://www.stork.gov.eu/1.0/newAttribute1</entry>
<entry key="newAttribute2">http://www.stork.gov.eu/1.0/newAttribute2</entry>
<entry key="hasDegree">http://www.stork.gov.eu/1.0/hasDegree</entry>
+
+
+ <entry key="diplomaSupplement">http://www.stork.gov.eu/1.0/diplomaSupplement</entry>
+ <entry key="currentStudiesSupplement">http://www.stork.gov.eu/1.0/currentStudiesSupplement</entry>
+ <entry key="isStudent">http://www.stork.gov.eu/1.0/isStudent</entry>
+ <entry key="isAcademicStaff">http://www.stork.gov.eu/1.0/isAcademicStaff</entry>
+ <entry key="isTeacherOf">http://www.stork.gov.eu/1.0/isTeacherOf</entry>
+ <entry key="isCourseCoordinator">http://www.stork.gov.eu/1.0/isCourseCoordinator</entry>
+ <entry key="isAdminStaff">http://www.stork.gov.eu/1.0/isAdminStaff</entry>
+ <entry key="habilitation">http://www.stork.gov.eu/1.0/habilitation</entry>
+ <entry key="Title">http://www.stork.gov.eu/1.0/Title</entry>
+ <entry key="hasDegree">http://www.stork.gov.eu/1.0/hasDegree</entry>
+ <entry key="hasAccountInBank">http://www.stork.gov.eu/1.0/hasAccountInBank</entry>
+ <entry key="isHealthCareProfessional">http://www.stork.gov.eu/1.0/isHealthCareProfessional</entry>
+
+ <entry key="eLPIdentifier">http://www.stork.gov.eu/1.0/eLPIdentifier</entry>
+ <entry key="legalName">http://www.stork.gov.eu/1.0/legalName</entry>
+ <entry key="alternativeName">http://www.stork.gov.eu/1.0/alternativeName</entry>
+ <entry key="type">http://www.stork.gov.eu/1.0/type</entry>
+ <entry key="translatableType">http://www.stork.gov.eu/1.0/translatableType</entry>
+ <entry key="status">http://www.stork.gov.eu/1.0/status</entry>
+ <entry key="activity">http://www.stork.gov.eu/1.0/activity</entry>
+ <entry key="registeredAddress">http://www.stork.gov.eu/1.0/registeredAddress</entry>
+ <entry key="registeredCanonicalAddress">http://www.stork.gov.eu/1.0/registeredCanonicalAddress</entry>
+ <entry key="contactInformation">http://www.stork.gov.eu/1.0/contactInformation</entry>
+ <entry key="LPFiscalNumber">http://www.stork.gov.eu/1.0/LPFiscalNumber</entry>
+ <entry key="mandate">http://www.stork.gov.eu/1.0/mandate</entry>
+ <entry key="docRequest">http://www.stork.gov.eu/1.0/docRequest</entry>
+
+
<entry key="mandateContent">http://www.stork.gov.eu/1.0/mandateContent</entry>
<entry key="representative">http://www.stork.gov.eu/1.0/representative</entry>
<entry key="represented">http://www.stork.gov.eu/1.0/represented</entry>
-</properties> \ No newline at end of file
+ <!-- ISA 1.18 attributes-->
+ <entry key="ECApplicationRole">http://www.stork.gov.eu/1.1/ECApplicationRole</entry>
+ <entry key="MSOrganization">http://www.stork.gov.eu/1.1/MSOrganization</entry>
+
+ <entry key="citizenQAALevel">http://www.stork.gov.eu/1.0/citizenQAALevel</entry>
+
+</properties>
diff --git a/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockTable_DE_2.1.xml b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockTable_DE_2.1.xml
new file mode 100644
index 000000000..6afe1f36b
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockTable_DE_2.1.xml
@@ -0,0 +1,7 @@
+<sl10:TransformsInfo><dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" exclude-result-prefixes="pr saml"><xsl:output method="xml" xml:space="default"/><xsl:template match="/" xmlns="http://www.w3.org/1999/xhtml"><html><head><title>Signatur der Anmeldedaten</title><style type="text/css" media="screen">
+ .normalstyle { font-size: medium; }
+ .italicstyle { font-size: medium; font-style: italic; }
+ .titlestyle{ text-decoration:underline; font-weight:bold; font-size: medium; }
+ .h4style{ font-size: large; }
+ </style></head><body><h4 class="h4style">Anmeldedaten:</h4><xsl:if test="string(//saml:Attribute[@AttributeName='SpecialText']/saml:AttributeValue)"><p class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='SpecialText']/saml:AttributeValue"/></p></xsl:if><p class="titlestyle">Daten zur Person</p><table class="parameters"><xsl:if test="normalize-space(//@Issuer)"><tr><td class="italicstyle">Name:</td><td class="normalstyle"><xsl:value-of select="//@Issuer"/></td></tr></xsl:if><xsl:if test="string(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue)"><tr><td class="italicstyle">Geburtsdatum:</td><td class="normalstyle"><xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,9,2)"/><xsl:text>.</xsl:text><xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,6,2)"/><xsl:text>.</xsl:text><xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,1,4)"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='OIDTextualDescription']"><tr><td class="italicstyle">Rolle:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='OIDTextualDescription']/saml:AttributeValue"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='mandateReferenceValue']"><tr><td class="italicstyle">Vollmacht:</td><td class="normalstyle"><xsl:text>Ich melde mich in Vertretung an. Im nächsten Schritt wird mir eine Liste der für mich verfügbaren Vertretungsverhältnisse angezeigt, aus denen ich eines auswählen werde.</xsl:text></td></tr></xsl:if></table><p class="titlestyle">Daten zur Anwendung</p><table class="parameters"><tr><td class="italicstyle">Name:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='oaFriendlyName']/saml:AttributeValue"/></td></tr><tr><td class="italicstyle">Staat:</td><td class="normalstyle"><xsl:choose><xsl:when test="contains(//saml:Attribute[@AttributeName='IdentityLinkDomainIdentifierType'],'STORK')"><xsl:variable name="country" select="substring(//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Type, string-length(//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Type)-1)"/><xsl:choose><xsl:when test="$country='T2'">Österreich (Test)</xsl:when><xsl:when test="$country='T2'">Österreich (Test)</xsl:when><xsl:when test="$country='BE'">Belgien</xsl:when><xsl:when test="$country='CH'">Schweiz</xsl:when><xsl:when test="$country='CZ'">Tschechien</xsl:when><xsl:when test="$country='EE'">Estland</xsl:when><xsl:when test="$country='ES'">Spanien</xsl:when><xsl:when test="$country='FR'">Frankreich</xsl:when><xsl:when test="$country='GR'">Griechenland</xsl:when><xsl:when test="$country='IS'">Island</xsl:when><xsl:when test="$country='IT'">Italien</xsl:when><xsl:when test="$country='LT'">Litauen</xsl:when><xsl:when test="$country='LU'">Luxemburg</xsl:when><xsl:when test="$country='NL'">Niederlande</xsl:when><xsl:when test="$country='PT'">Portugal</xsl:when><xsl:when test="$country='SE'">Schweden</xsl:when><xsl:when test="$country='SI'">Slowenien</xsl:when><xsl:when test="$country='SK'">Slowakei</xsl:when><xsl:when test="$country='TR'">Türkei</xsl:when><xsl:when test="$country='UK'">Vereinigtes Königreich</xsl:when><xsl:otherwise>Ausland</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>Österreich</xsl:otherwise></xsl:choose></td></tr></table><p class="titlestyle">Technische Parameter</p><table class="parameters"><tr><td class="italicstyle">URL:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='OA']/saml:AttributeValue"/></td></tr><xsl:if test="//saml:Attribute[@AttributeName='Geschaeftsbereich']"><tr><td class="italicstyle">Bereich:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='Geschaeftsbereich']/saml:AttributeValue"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='mandateReferenceValue']"><tr><td class="italicstyle">
+ Vollmachten-Referenz:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='mandateReferenceValue']"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='IdentityLinkDomainIdentifierType']"><tr><td class="italicstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='IdentityLinkDomainIdentifierType']"/>:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Type"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='bPK'] or //saml:Attribute[@AttributeName='wbPK']"><tr><td class="italicstyle">Identifikator:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='bPK']/saml:AttributeValue/pr:Identification/pr:Value"/><xsl:value-of select="//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Value"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='OIDTextualDescription']"><tr><td class="italicstyle">OID:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='OID']/saml:AttributeValue"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='HPI']"><tr><td class="italicstyle">HPI:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='HPI']/saml:AttributeValue"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='UniqueTokken']"><tr><td class="italicstyle">SessionTokken:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='UniqueTokken']/saml:AttributeValue"/></td></tr></xsl:if><tr><td class="italicstyle">Datum:</td><td class="normalstyle"><xsl:value-of select="substring(//@IssueInstant,9,2)"/><xsl:text>.</xsl:text><xsl:value-of select="substring(//@IssueInstant,6,2)"/><xsl:text>.</xsl:text><xsl:value-of select="substring(//@IssueInstant,1,4)"/></td></tr><tr><td class="italicstyle">Uhrzeit:</td><td class="normalstyle"><xsl:value-of select="substring(//@IssueInstant,12,2)"/><xsl:text>:</xsl:text><xsl:value-of select="substring(//@IssueInstant,15,2)"/><xsl:text>:</xsl:text><xsl:value-of select="substring(//@IssueInstant,18,2)"/></td></tr></table></body></html></xsl:template></xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/></dsig:Transforms><sl10:FinalDataMetaInfo><sl10:MimeType>application/xhtml+xml</sl10:MimeType></sl10:FinalDataMetaInfo></sl10:TransformsInfo>
diff --git a/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml b/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml
index 8d26a1893..19fd9d264 100644
--- a/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml
+++ b/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml
@@ -84,6 +84,10 @@
<cfg:Location>profiles/MOAIDTransformAuthBlockTable_DE_2.0.xml</cfg:Location>
</cfg:VerifyTransformsInfoProfile>
<cfg:VerifyTransformsInfoProfile>
+ <cfg:Id>MOAIDTransformAuthBlockTable_DE_2.1</cfg:Id>
+ <cfg:Location>profiles/MOAIDTransformAuthBlockTable_DE_2.1.xml</cfg:Location>
+ </cfg:VerifyTransformsInfoProfile>
+ <cfg:VerifyTransformsInfoProfile>
<cfg:Id>MOAIDTransformAuthBlockTable_DE</cfg:Id>
<cfg:Location>profiles/MOAIDTransformAuthBlockTable_DE.xml</cfg:Location>
</cfg:VerifyTransformsInfoProfile>
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt
new file mode 100644
index 000000000..9befb53fc
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt
@@ -0,0 +1,34 @@
+-----BEGIN CERTIFICATE-----
+MIIF3TCCA8WgAwIBAgIDFl+uMA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR0wGwYDVQQLDBRBLVRydXN0LVRl
+c3QtUm9vdC0wNTEdMBsGA1UEAwwUQS1UcnVzdC1UZXN0LVJvb3QtMDUwHhcNMTQx
+MjE1MTMwMDQ1WhcNMjQxMjA5MTIwMDQ1WjCBlTELMAkGA1UEBhMCQVQxSDBGBgNV
+BAoMP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUgaW0gZWxla3Ry
+LiBEYXRlbnZlcmtlaHIgR21iSDEdMBsGA1UECwwUQS1UcnVzdC1UZXN0LVJvb3Qt
+MDUxHTAbBgNVBAMMFEEtVHJ1c3QtVGVzdC1Sb290LTA1MIICIDANBgkqhkiG9w0B
+AQEFAAOCAg0AMIICCAKCAgEApv3ETyDuseYGvBXgJSiAe7q2dvKtcxlHGlEdEWKv
+YUODdXiTIIcwuIU0+F8ybvoQdEVPGDsdzShhXKgMfdGY5WF1BslCgjwcr4h6GWgt
+cSkXXFIYVV5GCrac4DhM60EvtXpadi8dNMu7dUKZjqES9UPC6Gc5H6fadauLaV6b
+DbNrJufXUditjEbhqj5uX3u4/+nFRH8g1DiQm5RCC3ttVe0/7buJipErVQ9Sbhzk
+hkFlzLbph2s2hiEP8NB5tXM3ffxmJ2Yv98+U1Ec0iXvsoGhqRyZVn1huTi+9PJnP
+IyPfXDkqWv49E/WeZsaZ48kdVx9xIC6OVYF0GCDsKjsKWN+4xL6/eYvSnyIBij/A
+e1T3wkLhp+bDyqxnvDatMlWchfbZxicvzr83c8SGt81RBekwbG/HGPRE4x5DnTkQ
+67DTMzMSmW+FAJdZG2Ofsg9+D+v+iqRD310maLABtko3e+xm601FS8d0lDFJVGgG
+36IB+ZrUIXmLfOIQjlF/yx566oUmSif3QRgmnSuNtunffXHBbL0qFAiEDwwHg41t
+zBiSswKRWa5J/BMIung+6T8gw5kY3c3yJ+pUip4J2oeVa9jZlO/AY7k5BCeGh5Ky
+zu22GMQIp9ulIIfUKx8jcnhtDy07UEmaWqv3rVsqKWF9v9B4z2SMiH1oFEgrNAxi
+v98CAQOjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECEQv+xQJkonQMA4G
+A1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEASO7M8elac5VTP+FjuL1S
+nS72NaIP/RGYmw6967irlG5qQ0cGmCZO5J8SsL7xc3BMofMQMbrsGEryO1F4Y95B
+o419IzqPb8sYHlx1Du+F2D01qXBmGP/NcqQIo9twLa+man16l7SFF/iNof2axigM
+TUcWzqHUxtSjCPoU44qTsi8vVuQKRP8gMGlVCty0joc0gEW8PqKiMaKxI+tglVA6
+czwvPXfk9pJkL3hhDg/p59iKJTkEKIDtvugrZ4ZqOCBL5xv1Tar3BMBAKSfl/YoQ
+/p6ATGlKkjSbMyU7vUGxXldNALHkezxFufuDZEF/erp3hCVADbQMKgyM7Diu6cKB
+0s4+POeTQoSQ2dnMQJdgAfeGcd3twy2s/M/xHAVGPAPIQWH7ppVcs6AbVXQabHxJ
+YZU7G2ct8Se0r8RLq+iRYrWhFKl8mmVBNwK2WJhjWPv2fqM1xYtbbwH6zoV/Sf8j
+uIbx/5A/MJo/4s/9ciafJLVzLvkOh6Bhf310TAxyB9mDiL00KAuVTDtwYfzo1+jw
+0bInpPqTCkgszn0LbajeaEIc7lQ7neY0gmMqDvnhA+5LyHJXuX5tDF+1/KDijlLs
+p/k1/YZfe1Ai1+gcRoAlp2O80tKaJWZPkf8POffyIkSxJbHlKF6r3TWs7JYr+YUi
+lm2dyCqZ9RUD5ZN2YRntJoo=
+-----END CERTIFICATE-----
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer
new file mode 100644
index 000000000..1bb449441
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer
new file mode 100644
index 000000000..6c0c042b4
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt
new file mode 100644
index 000000000..ee17cdb80
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt
@@ -0,0 +1,36 @@
+-----BEGIN CERTIFICATE-----
+MIIGQTCCBCmgAwIBAgIDFl+4MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR0wGwYDVQQLDBRBLVRydXN0LVRl
+c3QtUm9vdC0wNTEdMBsGA1UEAwwUQS1UcnVzdC1UZXN0LVJvb3QtMDUwHhcNMTQx
+MjE1MTMxMDE5WhcNMjQxMjA5MTIxMDE5WjCBoTELMAkGA1UEBhMCQVQxSDBGBgNV
+BAoMP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUgaW0gZWxla3Ry
+LiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECwwaYS1zaWduLVRlc3QtUHJlbWl1
+bS1TaWctMDUxIzAhBgNVBAMMGmEtc2lnbi1UZXN0LVByZW1pdW0tU2lnLTA1MIIC
+IDANBgkqhkiG9w0BAQEFAAOCAg0AMIICCAKCAgEAq9PRwApA35K3LT0p5IYtNZMS
+BFJsIkzjgF4FRQ36PtxeNsPL6iPgfFjWLZzVT1arHrC6ciz97haDWEN5Jq+aVaZp
+gvFtvqZXlwYOWP0sshQg1aP7zrfH/N6yqjkrXHyzgmSz3SVIbdj5CqUJz/+94FCR
+cA8XkQ3WZAjSkRB+MSIY8umftkmJOVAstaG28OEtpmqwBLRh/QGcNZzfhyrPS2Ls
+5BAKQW9SBb1nXn8JOHq0Bd8zHShHbny9X/qT0xqeFfwItZWiW7iu3LgbGqfB3J4d
+s+9iecwHDsmYdSb2quGmzJXejmvktFZte9dlF7BuBqier+R3/czdLteRems5S9Ka
+hlP3+f3CnFwKihyVMhnuf5HyhCo1Fvrt+igWtNnos38qzB5RzRTJXnvZyrtTJMQE
+/8ZuV2B12Oaf0AQjt+o/SPKeaTBX2yes0S1xbQy7xJzNhgBJ2Ir3OI6SoOooVN+9
+kQuzD7NsJBJzIy4dHCvOgs0C1ro8DROaV3Usn58eYOkLDrPGpEBmFq7GnsxnbeEh
+5zzlgh00R9cy5PxiO40U+KxnTmQl+/vc9i1plDLsTRePeThKgS0UOIRZP7voYKdu
+IJaEzufNXUxZbCc9Mq3V552BmRPhL9Ouf/bfaVMmkY4p7BdU57stxDfVwG9biujj
+AVPA7DeRm+S0kzWRq0kCAQOjgY0wgYowPwYDVR0fBDgwNjA0oDKgMIYuaHR0cDov
+L2NybC5hLXRydXN0LmF0L2NybC9BLVRydXN0LVRlc3QtUm9vdC0wNTATBgNVHSME
+DDAKgAhEL/sUCZKJ0DAPBgNVHRMBAf8EBTADAQH/MBEGA1UdDgQKBAhB0SNOEjM1
+3jAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAEiqm52uEL2giMCy
+8i1tIbqKP3SeJnYxhJgN4d3caWqfE1CoEUQjsN8t7sF866TOYJMrQ+/dS8bUqNiG
+x4vvPrDq3DUSyKflgPaz+36xtB4BTlIiYTzio7Tnv+d5n+MsM6c/rijJzRx38FLM
+tZTAfr7dXv5KxrfYrrEnPrGg0gMlYqX3rB1TKQnPx5qG3e2YXc6tdvDeXhh9cXj3
+76VJony7iV0ccKWNXRRNx1X0po/Luu6EMD/5czArtmO0KmGXO3gK3Fy7pxUbdBra
+nSJNsY+Fv4X3zqf5n9ZM4Yut7KSqBiQbuMmIzLZkICJOWN5t9mOTStgmZjGqBdQN
+sRuVinaLxA88Fd32ZmFxbagOLeKEXPTQT/ERbDOjhShY6jA2/LkIcg9mwDDOubsp
+FcZaYlyXmvD+HNVxL5B4BGDWoGHmCxaj+bcYP4U797bpE90sTnMIQd6JoYEMQSIy
+Re0S4jKIOkCqBDkPBIXZf/IizTvJiQoFUtT7civFYhcUHDOcWs69NUU3F6sEBZmq
+C1uIRm7zD6FUPNpVcfVIeqcfWsnx5bSKwheh9Dk/A3eTmxjpodV4tIq6BfCLdq52
+85dumPB4zz/EmCuZ0hwy9/TJwaogVMqicvr1/pQXDM7T6fCM0vK9w/e4ejmX61TK
+6MsTXFjxlwpIacl4fkAxk6L22xfB
+-----END CERTIFICATE-----
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
new file mode 100644
index 000000000..60bc9a557
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIID2zCCAsOgAwIBAgIDFhIPMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRwwGgYDVQQLDBNhLXNpZ24tVEVT
+VC1RdWFsLTAxMRwwGgYDVQQDDBNhLXNpZ24tVEVTVC1RdWFsLTAxMB4XDTE0MTEx
+NzA3NDAzNloXDTI0MTExMTA2NDAzNlowgZMxCzAJBgNVBAYTAkFUMUgwRgYDVQQK
+DD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4g
+RGF0ZW52ZXJrZWhyIEdtYkgxHDAaBgNVBAsME2Etc2lnbi1URVNULVF1YWwtMDEx
+HDAaBgNVBAMME2Etc2lnbi1URVNULVF1YWwtMDEwggEiMA0GCSqGSIb3DQEBAQUA
+A4IBDwAwggEKAoIBAQD4TRgyXzhxJ2AkndX0RPY771f64dsJrReEeuShLRK5io0B
+kJWc4t7wuD1B98cJ0MUPlMmOJ2Ckc/vuLhQUyY3qEUmhMhixCUIcdHQ5yH3H0yMV
+HxyJxAG83fE8M25kpKA4TzzMW8KPd2S63wbpPElyEy7vrllrLxvdQRSDpMZMvRg8
+fvoDGAehxsnKKwlXZuMq1aSBzfMz3cMBDKxvqzDIz7yC1iWNkdiwog3a5a5PbViK
+shhZ0h+bx9WFDpiN6ooPQgcGhjD+NqIDoiOr7CUFHp+HiC6xIsEFJaBHTf3dRZ61
+0r1FDABx0Yj8+wlXSQLYq/1nR/QMwsvH0Cz1qYTPAgMBAAGjNjA0MA8GA1UdEwEB
+/wQFMAMBAf8wEQYDVR0OBAoECE8h1CulBqTdMA4GA1UdDwEB/wQEAwIBBjANBgkq
+hkiG9w0BAQUFAAOCAQEAimFu+xTm3UdyU+fO+2hz4DS20OGSC9NBDkorjzhRPWoZ
+IVhUi6yH5drqSBm4/2ZYS1Ba5npzfyJwm+cLO28ljxAApfRHlbN0y83hKv7c0I7g
+zWTMRs8X8ar5Gd7d4O5jpC4PAaZ1ozSDoE06U5im6YMLaJy/0QYvf5EQBMvLdeoc
+d1vl17JYKYqYzcX2dvayikrfiglFqDaZZ66yJPBSuiyNhXpPkbXsOoyyTPtV/0Bh
+eKIQiQyJID5aZtR7D4fBAzKdp5wB9KLQXBZ80hrwqrIuy+ME0tFaBWYBi8dzQ1iq
+/E3Qz0USfGmxPMm8y/zRqsDvxZCRiSuvzBkOXbGMdA==
+-----END CERTIFICATE-----
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
new file mode 100644
index 000000000..e4bd48dac
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer
new file mode 100644
index 000000000..74c4ce3b8
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer
new file mode 100644
index 000000000..6c50ec079
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-test-premium-Enc-05.20141215-20141209.SerNo165fb7.crt b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-test-premium-Enc-05.20141215-20141209.SerNo165fb7.crt
new file mode 100644
index 000000000..9ea6d0c1c
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-test-premium-Enc-05.20141215-20141209.SerNo165fb7.crt
@@ -0,0 +1,36 @@
+-----BEGIN CERTIFICATE-----
+MIIGQTCCBCmgAwIBAgIDFl+3MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR0wGwYDVQQLDBRBLVRydXN0LVRl
+c3QtUm9vdC0wNTEdMBsGA1UEAwwUQS1UcnVzdC1UZXN0LVJvb3QtMDUwHhcNMTQx
+MjE1MTMwOTAwWhcNMjQxMjA5MTIwOTAwWjCBoTELMAkGA1UEBhMCQVQxSDBGBgNV
+BAoMP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUgaW0gZWxla3Ry
+LiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECwwaYS1zaWduLVRlc3QtUHJlbWl1
+bS1FbmMtMDUxIzAhBgNVBAMMGmEtc2lnbi1UZXN0LVByZW1pdW0tRW5jLTA1MIIC
+IDANBgkqhkiG9w0BAQEFAAOCAg0AMIICCAKCAgEA2YDEweWMfTpWbHjFwzPl5tri
+jaL4tmhuHQzuSAEO080+m5Dc38Rj5xHf1MNCxvAx18+3A+b0WDDhtdJh+SXVxAQq
+/VhnaOFcdlvun0/4+l4Xynf6xd0r8WfQgnTAER4iFzGoWnOFQZqF3JGsx0mxd5Ss
+6kbs+4Gd/FmdAD09qTb+e3FtQC9aszVb5j57LB14Ka+iVXMEFq6J1uvvdjIcwbeL
+7gOGOLzn9dArFT4bfMIE/gBOJnY3Ulp16jOMGb2sY+9u9rGJ84jSpYKEsL+RBoJr
+23O5rfdrVi/+fWC0QaDqwhI46lLr9Erkk7NjEeElZ+Tj2A5KK4K0FNvzAIqxki1Z
+/MQcBfknbq9jxUZs4zUl9QA7ufCqmFhi4qQxycEfUEXsTFlya2IgWqavA1OFZ7Ww
+tJQOR/EQUvtH/fIE7nompnxzWxi1iAvVkv0OEsAYVRd9ldviLl9wLzpQoOPvwc/B
+kRLvriWH/Bjyc8+SeAfK92ZRHh+a1HBsX7XKuZwKJ/pVKF4EtalbZXlSuQau/Mc0
+ImS49AL/GjfShp/IhGHfBQbTjR3vhZfakG6wvSFnGaRt2ohxMHb0fSK7xNrDpfNV
+Orloh77ry44C4jjQIairRW1l4CLilbitKpHO4VtZ443w25fud2FapvdesoUfHogV
+KTce4dGvW3jrN7/8TRUCAQOjgY0wgYowPwYDVR0fBDgwNjA0oDKgMIYuaHR0cDov
+L2NybC5hLXRydXN0LmF0L2NybC9BLVRydXN0LVRlc3QtUm9vdC0wNTATBgNVHSME
+DDAKgAhEL/sUCZKJ0DAPBgNVHRMBAf8EBTADAQH/MBEGA1UdDgQKBAhH2pAliBnO
+GzAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBADDqJFkkBD6tUmiu
+L45YlXWKogD5eUfM+xnNVdg60M4HXHksVGT49CiY1vWzuLwUD3CXQ1W7yBKnLB5b
+GcoaHNgZDhNskYJCZu9K0g8oqNEN3Hb2QoKqyCaOlKV0dXILq/3SbdcXvUkUPS9K
+nWkX48tVMcw3OAmRYKwBK6tkUBwVw0VJ49sT+9qgPGCb8HYafSjCTnb3kdKGYK7a
+0E6eVBjYf6WcMfvCIYma5Zi4fx7U0K6RN8xJvhRHAZK3uJphk1QciAIxViFIPnex
+htgywJNHRautIsDbRGwdDVOUB6VdCFF19HnO9C4p2+pggCi9nT/I4CklZGZ5Q0VB
+j9knsSFXYMY9QFGm3feiVIXAy2Pp7IMB21KNZKgqCLQRgANNdvkWwO97lcxpmocS
+/p9LIEYDpa9tIvBrTiK39hUixeQaMhvlrSN3H49NqoxsStv8UEvSbjLJAuOcK1oV
++IWA8RbBwippM45729X7nGdPUbxys+rn7F04WNe+oQN96hKX4VJ6OCANz1bca6LV
+sPtkFej+SLbpALVH3YvP4ct1UQms3UnuN9m1A0ceB4u4KroHBHlSGLB6K3UI3E42
+cYVaGrbflSvwwXxCHUvrCeL+eNKgI2Vyt29aHVJO0OMAS03Eb1PcygeNU4h6t+CS
+UBU+/OTtSQGrLe+kMKP6uBO/cMhv
+-----END CERTIFICATE-----
diff --git a/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_DE_2.1.xml b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_DE_2.1.xml
new file mode 100644
index 000000000..df3ce8ce6
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_DE_2.1.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?><VerifyTransformsInfoProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" exclude-result-prefixes="pr saml"><xsl:output method="xml" xml:space="default"/><xsl:template match="/" xmlns="http://www.w3.org/1999/xhtml"><html><head><title>Signatur der Anmeldedaten</title><style type="text/css" media="screen">
+ .normalstyle { font-size: medium; }
+ .italicstyle { font-size: medium; font-style: italic; }
+ .titlestyle{ text-decoration:underline; font-weight:bold; font-size: medium; }
+ .h4style{ font-size: large; }
+ </style></head><body><h4 class="h4style">Anmeldedaten:</h4><xsl:if test="string(//saml:Attribute[@AttributeName='SpecialText']/saml:AttributeValue)"><p class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='SpecialText']/saml:AttributeValue"/></p></xsl:if><p class="titlestyle">Daten zur Person</p><table class="parameters"><xsl:if test="normalize-space(//@Issuer)"><tr><td class="italicstyle">Name:</td><td class="normalstyle"><xsl:value-of select="//@Issuer"/></td></tr></xsl:if><xsl:if test="string(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue)"><tr><td class="italicstyle">Geburtsdatum:</td><td class="normalstyle"><xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,9,2)"/><xsl:text>.</xsl:text><xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,6,2)"/><xsl:text>.</xsl:text><xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,1,4)"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='OIDTextualDescription']"><tr><td class="italicstyle">Rolle:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='OIDTextualDescription']/saml:AttributeValue"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='mandateReferenceValue']"><tr><td class="italicstyle">Vollmacht:</td><td class="normalstyle"><xsl:text>Ich melde mich in Vertretung an. Im nächsten Schritt wird mir eine Liste der für mich verfügbaren Vertretungsverhältnisse angezeigt, aus denen ich eines auswählen werde.</xsl:text></td></tr></xsl:if></table><p class="titlestyle">Daten zur Anwendung</p><table class="parameters"><tr><td class="italicstyle">Name:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='oaFriendlyName']/saml:AttributeValue"/></td></tr><tr><td class="italicstyle">Staat:</td><td class="normalstyle"><xsl:choose><xsl:when test="contains(//saml:Attribute[@AttributeName='IdentityLinkDomainIdentifierType'],'STORK')"><xsl:variable name="country" select="substring(//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Type, string-length(//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Type)-1)"/><xsl:choose><xsl:when test="$country='T2'">Österreich (Test)</xsl:when><xsl:when test="$country='T2'">Österreich (Test)</xsl:when><xsl:when test="$country='BE'">Belgien</xsl:when><xsl:when test="$country='CH'">Schweiz</xsl:when><xsl:when test="$country='CZ'">Tschechien</xsl:when><xsl:when test="$country='EE'">Estland</xsl:when><xsl:when test="$country='ES'">Spanien</xsl:when><xsl:when test="$country='FR'">Frankreich</xsl:when><xsl:when test="$country='GR'">Griechenland</xsl:when><xsl:when test="$country='IS'">Island</xsl:when><xsl:when test="$country='IT'">Italien</xsl:when><xsl:when test="$country='LT'">Litauen</xsl:when><xsl:when test="$country='LU'">Luxemburg</xsl:when><xsl:when test="$country='NL'">Niederlande</xsl:when><xsl:when test="$country='PT'">Portugal</xsl:when><xsl:when test="$country='SE'">Schweden</xsl:when><xsl:when test="$country='SI'">Slowenien</xsl:when><xsl:when test="$country='SK'">Slowakei</xsl:when><xsl:when test="$country='TR'">Türkei</xsl:when><xsl:when test="$country='UK'">Vereinigtes Königreich</xsl:when><xsl:otherwise>Ausland</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>Österreich</xsl:otherwise></xsl:choose></td></tr></table><p class="titlestyle">Technische Parameter</p><table class="parameters"><tr><td class="italicstyle">URL:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='OA']/saml:AttributeValue"/></td></tr><xsl:if test="//saml:Attribute[@AttributeName='Geschaeftsbereich']"><tr><td class="italicstyle">Bereich:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='Geschaeftsbereich']/saml:AttributeValue"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='mandateReferenceValue']"><tr><td class="italicstyle">
+ Vollmachten-Referenz:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='mandateReferenceValue']"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='IdentityLinkDomainIdentifierType']"><tr><td class="italicstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='IdentityLinkDomainIdentifierType']"/>:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Type"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='bPK'] or //saml:Attribute[@AttributeName='wbPK']"><tr><td class="italicstyle">Identifikator:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='bPK']/saml:AttributeValue/pr:Identification/pr:Value"/><xsl:value-of select="//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Value"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='OIDTextualDescription']"><tr><td class="italicstyle">OID:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='OID']/saml:AttributeValue"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='HPI']"><tr><td class="italicstyle">HPI:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='HPI']/saml:AttributeValue"/></td></tr></xsl:if><xsl:if test="//saml:Attribute[@AttributeName='UniqueTokken']"><tr><td class="italicstyle">SessionTokken:</td><td class="normalstyle"><xsl:value-of select="//saml:Attribute[@AttributeName='UniqueTokken']/saml:AttributeValue"/></td></tr></xsl:if><tr><td class="italicstyle">Datum:</td><td class="normalstyle"><xsl:value-of select="substring(//@IssueInstant,9,2)"/><xsl:text>.</xsl:text><xsl:value-of select="substring(//@IssueInstant,6,2)"/><xsl:text>.</xsl:text><xsl:value-of select="substring(//@IssueInstant,1,4)"/></td></tr><tr><td class="italicstyle">Uhrzeit:</td><td class="normalstyle"><xsl:value-of select="substring(//@IssueInstant,12,2)"/><xsl:text>:</xsl:text><xsl:value-of select="substring(//@IssueInstant,15,2)"/><xsl:text>:</xsl:text><xsl:value-of select="substring(//@IssueInstant,18,2)"/></td></tr></table></body></html></xsl:template></xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/></dsig:Transforms></VerifyTransformsInfoProfile>
diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt
new file mode 100644
index 000000000..9befb53fc
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt
@@ -0,0 +1,34 @@
+-----BEGIN CERTIFICATE-----
+MIIF3TCCA8WgAwIBAgIDFl+uMA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR0wGwYDVQQLDBRBLVRydXN0LVRl
+c3QtUm9vdC0wNTEdMBsGA1UEAwwUQS1UcnVzdC1UZXN0LVJvb3QtMDUwHhcNMTQx
+MjE1MTMwMDQ1WhcNMjQxMjA5MTIwMDQ1WjCBlTELMAkGA1UEBhMCQVQxSDBGBgNV
+BAoMP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUgaW0gZWxla3Ry
+LiBEYXRlbnZlcmtlaHIgR21iSDEdMBsGA1UECwwUQS1UcnVzdC1UZXN0LVJvb3Qt
+MDUxHTAbBgNVBAMMFEEtVHJ1c3QtVGVzdC1Sb290LTA1MIICIDANBgkqhkiG9w0B
+AQEFAAOCAg0AMIICCAKCAgEApv3ETyDuseYGvBXgJSiAe7q2dvKtcxlHGlEdEWKv
+YUODdXiTIIcwuIU0+F8ybvoQdEVPGDsdzShhXKgMfdGY5WF1BslCgjwcr4h6GWgt
+cSkXXFIYVV5GCrac4DhM60EvtXpadi8dNMu7dUKZjqES9UPC6Gc5H6fadauLaV6b
+DbNrJufXUditjEbhqj5uX3u4/+nFRH8g1DiQm5RCC3ttVe0/7buJipErVQ9Sbhzk
+hkFlzLbph2s2hiEP8NB5tXM3ffxmJ2Yv98+U1Ec0iXvsoGhqRyZVn1huTi+9PJnP
+IyPfXDkqWv49E/WeZsaZ48kdVx9xIC6OVYF0GCDsKjsKWN+4xL6/eYvSnyIBij/A
+e1T3wkLhp+bDyqxnvDatMlWchfbZxicvzr83c8SGt81RBekwbG/HGPRE4x5DnTkQ
+67DTMzMSmW+FAJdZG2Ofsg9+D+v+iqRD310maLABtko3e+xm601FS8d0lDFJVGgG
+36IB+ZrUIXmLfOIQjlF/yx566oUmSif3QRgmnSuNtunffXHBbL0qFAiEDwwHg41t
+zBiSswKRWa5J/BMIung+6T8gw5kY3c3yJ+pUip4J2oeVa9jZlO/AY7k5BCeGh5Ky
+zu22GMQIp9ulIIfUKx8jcnhtDy07UEmaWqv3rVsqKWF9v9B4z2SMiH1oFEgrNAxi
+v98CAQOjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECEQv+xQJkonQMA4G
+A1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEASO7M8elac5VTP+FjuL1S
+nS72NaIP/RGYmw6967irlG5qQ0cGmCZO5J8SsL7xc3BMofMQMbrsGEryO1F4Y95B
+o419IzqPb8sYHlx1Du+F2D01qXBmGP/NcqQIo9twLa+man16l7SFF/iNof2axigM
+TUcWzqHUxtSjCPoU44qTsi8vVuQKRP8gMGlVCty0joc0gEW8PqKiMaKxI+tglVA6
+czwvPXfk9pJkL3hhDg/p59iKJTkEKIDtvugrZ4ZqOCBL5xv1Tar3BMBAKSfl/YoQ
+/p6ATGlKkjSbMyU7vUGxXldNALHkezxFufuDZEF/erp3hCVADbQMKgyM7Diu6cKB
+0s4+POeTQoSQ2dnMQJdgAfeGcd3twy2s/M/xHAVGPAPIQWH7ppVcs6AbVXQabHxJ
+YZU7G2ct8Se0r8RLq+iRYrWhFKl8mmVBNwK2WJhjWPv2fqM1xYtbbwH6zoV/Sf8j
+uIbx/5A/MJo/4s/9ciafJLVzLvkOh6Bhf310TAxyB9mDiL00KAuVTDtwYfzo1+jw
+0bInpPqTCkgszn0LbajeaEIc7lQ7neY0gmMqDvnhA+5LyHJXuX5tDF+1/KDijlLs
+p/k1/YZfe1Ai1+gcRoAlp2O80tKaJWZPkf8POffyIkSxJbHlKF6r3TWs7JYr+YUi
+lm2dyCqZ9RUD5ZN2YRntJoo=
+-----END CERTIFICATE-----
diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cer b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cer
new file mode 100644
index 000000000..1bb449441
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer
new file mode 100644
index 000000000..1bb449441
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt
new file mode 100644
index 000000000..ee17cdb80
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt
@@ -0,0 +1,36 @@
+-----BEGIN CERTIFICATE-----
+MIIGQTCCBCmgAwIBAgIDFl+4MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR0wGwYDVQQLDBRBLVRydXN0LVRl
+c3QtUm9vdC0wNTEdMBsGA1UEAwwUQS1UcnVzdC1UZXN0LVJvb3QtMDUwHhcNMTQx
+MjE1MTMxMDE5WhcNMjQxMjA5MTIxMDE5WjCBoTELMAkGA1UEBhMCQVQxSDBGBgNV
+BAoMP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUgaW0gZWxla3Ry
+LiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECwwaYS1zaWduLVRlc3QtUHJlbWl1
+bS1TaWctMDUxIzAhBgNVBAMMGmEtc2lnbi1UZXN0LVByZW1pdW0tU2lnLTA1MIIC
+IDANBgkqhkiG9w0BAQEFAAOCAg0AMIICCAKCAgEAq9PRwApA35K3LT0p5IYtNZMS
+BFJsIkzjgF4FRQ36PtxeNsPL6iPgfFjWLZzVT1arHrC6ciz97haDWEN5Jq+aVaZp
+gvFtvqZXlwYOWP0sshQg1aP7zrfH/N6yqjkrXHyzgmSz3SVIbdj5CqUJz/+94FCR
+cA8XkQ3WZAjSkRB+MSIY8umftkmJOVAstaG28OEtpmqwBLRh/QGcNZzfhyrPS2Ls
+5BAKQW9SBb1nXn8JOHq0Bd8zHShHbny9X/qT0xqeFfwItZWiW7iu3LgbGqfB3J4d
+s+9iecwHDsmYdSb2quGmzJXejmvktFZte9dlF7BuBqier+R3/czdLteRems5S9Ka
+hlP3+f3CnFwKihyVMhnuf5HyhCo1Fvrt+igWtNnos38qzB5RzRTJXnvZyrtTJMQE
+/8ZuV2B12Oaf0AQjt+o/SPKeaTBX2yes0S1xbQy7xJzNhgBJ2Ir3OI6SoOooVN+9
+kQuzD7NsJBJzIy4dHCvOgs0C1ro8DROaV3Usn58eYOkLDrPGpEBmFq7GnsxnbeEh
+5zzlgh00R9cy5PxiO40U+KxnTmQl+/vc9i1plDLsTRePeThKgS0UOIRZP7voYKdu
+IJaEzufNXUxZbCc9Mq3V552BmRPhL9Ouf/bfaVMmkY4p7BdU57stxDfVwG9biujj
+AVPA7DeRm+S0kzWRq0kCAQOjgY0wgYowPwYDVR0fBDgwNjA0oDKgMIYuaHR0cDov
+L2NybC5hLXRydXN0LmF0L2NybC9BLVRydXN0LVRlc3QtUm9vdC0wNTATBgNVHSME
+DDAKgAhEL/sUCZKJ0DAPBgNVHRMBAf8EBTADAQH/MBEGA1UdDgQKBAhB0SNOEjM1
+3jAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAEiqm52uEL2giMCy
+8i1tIbqKP3SeJnYxhJgN4d3caWqfE1CoEUQjsN8t7sF866TOYJMrQ+/dS8bUqNiG
+x4vvPrDq3DUSyKflgPaz+36xtB4BTlIiYTzio7Tnv+d5n+MsM6c/rijJzRx38FLM
+tZTAfr7dXv5KxrfYrrEnPrGg0gMlYqX3rB1TKQnPx5qG3e2YXc6tdvDeXhh9cXj3
+76VJony7iV0ccKWNXRRNx1X0po/Luu6EMD/5czArtmO0KmGXO3gK3Fy7pxUbdBra
+nSJNsY+Fv4X3zqf5n9ZM4Yut7KSqBiQbuMmIzLZkICJOWN5t9mOTStgmZjGqBdQN
+sRuVinaLxA88Fd32ZmFxbagOLeKEXPTQT/ERbDOjhShY6jA2/LkIcg9mwDDOubsp
+FcZaYlyXmvD+HNVxL5B4BGDWoGHmCxaj+bcYP4U797bpE90sTnMIQd6JoYEMQSIy
+Re0S4jKIOkCqBDkPBIXZf/IizTvJiQoFUtT7civFYhcUHDOcWs69NUU3F6sEBZmq
+C1uIRm7zD6FUPNpVcfVIeqcfWsnx5bSKwheh9Dk/A3eTmxjpodV4tIq6BfCLdq52
+85dumPB4zz/EmCuZ0hwy9/TJwaogVMqicvr1/pQXDM7T6fCM0vK9w/e4ejmX61TK
+6MsTXFjxlwpIacl4fkAxk6L22xfB
+-----END CERTIFICATE-----
diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
new file mode 100644
index 000000000..60bc9a557
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIID2zCCAsOgAwIBAgIDFhIPMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRwwGgYDVQQLDBNhLXNpZ24tVEVT
+VC1RdWFsLTAxMRwwGgYDVQQDDBNhLXNpZ24tVEVTVC1RdWFsLTAxMB4XDTE0MTEx
+NzA3NDAzNloXDTI0MTExMTA2NDAzNlowgZMxCzAJBgNVBAYTAkFUMUgwRgYDVQQK
+DD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4g
+RGF0ZW52ZXJrZWhyIEdtYkgxHDAaBgNVBAsME2Etc2lnbi1URVNULVF1YWwtMDEx
+HDAaBgNVBAMME2Etc2lnbi1URVNULVF1YWwtMDEwggEiMA0GCSqGSIb3DQEBAQUA
+A4IBDwAwggEKAoIBAQD4TRgyXzhxJ2AkndX0RPY771f64dsJrReEeuShLRK5io0B
+kJWc4t7wuD1B98cJ0MUPlMmOJ2Ckc/vuLhQUyY3qEUmhMhixCUIcdHQ5yH3H0yMV
+HxyJxAG83fE8M25kpKA4TzzMW8KPd2S63wbpPElyEy7vrllrLxvdQRSDpMZMvRg8
+fvoDGAehxsnKKwlXZuMq1aSBzfMz3cMBDKxvqzDIz7yC1iWNkdiwog3a5a5PbViK
+shhZ0h+bx9WFDpiN6ooPQgcGhjD+NqIDoiOr7CUFHp+HiC6xIsEFJaBHTf3dRZ61
+0r1FDABx0Yj8+wlXSQLYq/1nR/QMwsvH0Cz1qYTPAgMBAAGjNjA0MA8GA1UdEwEB
+/wQFMAMBAf8wEQYDVR0OBAoECE8h1CulBqTdMA4GA1UdDwEB/wQEAwIBBjANBgkq
+hkiG9w0BAQUFAAOCAQEAimFu+xTm3UdyU+fO+2hz4DS20OGSC9NBDkorjzhRPWoZ
+IVhUi6yH5drqSBm4/2ZYS1Ba5npzfyJwm+cLO28ljxAApfRHlbN0y83hKv7c0I7g
+zWTMRs8X8ar5Gd7d4O5jpC4PAaZ1ozSDoE06U5im6YMLaJy/0QYvf5EQBMvLdeoc
+d1vl17JYKYqYzcX2dvayikrfiglFqDaZZ66yJPBSuiyNhXpPkbXsOoyyTPtV/0Bh
+eKIQiQyJID5aZtR7D4fBAzKdp5wB9KLQXBZ80hrwqrIuy+ME0tFaBWYBi8dzQ1iq
+/E3Qz0USfGmxPMm8y/zRqsDvxZCRiSuvzBkOXbGMdA==
+-----END CERTIFICATE-----
diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungMitTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungMitTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
new file mode 100644
index 000000000..e4bd48dac
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungMitTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungOhneTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungOhneTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
new file mode 100644
index 000000000..e4bd48dac
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungOhneTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
Binary files differ
diff --git a/id/server/doc/handbook/additional/additional.html b/id/server/doc/handbook/additional/additional.html
index fb4e76733..d26447748 100644
--- a/id/server/doc/handbook/additional/additional.html
+++ b/id/server/doc/handbook/additional/additional.html
@@ -2,23 +2,24 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA-ID - Zusatzinformationen</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Zusatzinformationen</p>
-<hr/>
- <h1>Inhalt</h1>
- <ol>
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+ <div class="container">
+<h1 align="center">Zusatzinformationen</h1>
+
+ <h2>Inhalt</h2>
+ <ol class="index">
<li><a href="#allgemeines">Datenmanagement</a>
<ol>
<li><a href="#sessiondata">Sessiondaten</a>
@@ -32,149 +33,148 @@
</li>
<li><a href="#networkconnections">Ben&ouml;tigte Netzwerkverbindungen (incoming / outgoing)</a></li>
</ol>
-<hr/>
- <h1><a name="allgemeines"></a>1 Datenmanagement</h1>
+ <h2><a name="allgemeines"></a>1 Datenmanagement</h2>
<p>Dieser Abschnitt spezifiziert jene Datens&auml;tze die w&auml;hrend eines Anmeldevorgangs durch das Modul MOA-ID-Auth tempor&auml;r oder permanent gespeichert werden. Hierbei handelt es sich sowohl um tempor&auml;re Sessiondaten als auch um dauerhaft gespeicherte Statistikdaten.</p>
- <h2><a name="sessiondata" id="sessiondata"></a>1.1 Sessiondaten</h2>
+ <h3><a name="sessiondata" id="sessiondata"></a>1.1 Sessiondaten</h3>
<p>Dieser Abschnitt behandelt jene Informationen die das Modul MOA-ID-Auth w&auml;hrend eines Authentifizierungsvorgangs oder w&auml;hrend einer aktiven Single Sign-On Session im Speicher h&auml;lt. Diese Datens&auml;tze werden nach Beendigung des Anmeldevorgangs, bei einfacher Anmeldung, oder nach Beendigung der Single Sign-On Session gel&ouml;scht. Die nachfolgenden Unterkapitel geben eine Aufstellung jener Daten die von MOA-ID im jeweiligen Falle gespeichert werden.</p>
- <h3><a name="sessiondata_general" id="sessiondata2"></a>1.1.1 Allgemein</h3>
+ <h4><a name="sessiondata_general" id="sessiondata2"></a>1.1.1 Allgemein</h4>
<p>Folgende Daten m&uuml;ssen mindestens von MOA-ID gecached werden um einen korrekten Anmeldevorgang zu erm&ouml;glichen.</p>
- <table border="1" cellspacing="0" cellpadding="0">
+ <table class="configtable">
<tr>
- <td width="160" valign="top"><p><strong>Element</strong></p></td>
- <td width="764" valign="top"><p><strong>Beschreibung</strong></p></td>
+ <td><p><strong>Element</strong></p></td>
+ <td><p><strong>Beschreibung</strong></p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>Authentication Request</p></td>
- <td width="764" valign="top"><p>Dieser wird von der Online-Applikation als Start des Anmeldevorgangs &uuml;bertragen.</p></td>
+ <td><p>Authentication Request</p></td>
+ <td><p>Dieser wird von der Online-Applikation als Start des Anmeldevorgangs &uuml;bertragen.</p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>Session ID</p></td>
- <td width="764" valign="top"><p>Wird von MOA-ID generiert und dient zur Identifikation von Datens&auml;tzen.</p></td>
+ <td><p>Session ID</p></td>
+ <td><p>Wird von MOA-ID generiert und dient zur Identifikation von Datens&auml;tzen.</p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>Personenbindung</p></td>
- <td width="764" valign="top"><p>Die Personenbindung der Benutzerin oder des Benutzers.</p></td>
+ <td><p>Personenbindung</p></td>
+ <td><p>Die Personenbindung der Benutzerin oder des Benutzers.</p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>AuthBlock</p></td>
- <td width="764" valign="top"><p>Der Authentifizierungsblock, welcher im Rahmen des Anmeldevorgangs vom der Benutzerin oder dem Benutzer signiert wird.</p></td>
+ <td><p>AuthBlock</p></td>
+ <td><p>Der Authentifizierungsblock, welcher im Rahmen des Anmeldevorgangs vom der Benutzerin oder dem Benutzer signiert wird.</p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>Signaturzertifikat</p></td>
- <td width="764" valign="top"><p>Das Signaturzertifikat, welches zur Signierung des Authentifizierungsblocks verwendet wurde.</p></td>
+ <td><p>Signaturzertifikat</p></td>
+ <td><p>Das Signaturzertifikat, welches zur Signierung des Authentifizierungsblocks verwendet wurde.</p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>Vollmacht</p></td>
- <td width="764" valign="top"><p>Die Online-Vollmacht, welche bei einer Anmeldung in Vertretung ausgew&auml;hlt wurde.</p></td>
+ <td><p>Vollmacht</p></td>
+ <td><p>Die Online-Vollmacht, welche bei einer Anmeldung in Vertretung ausgew&auml;hlt wurde.</p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>STORK</p></td>
- <td width="764" valign="top"><p>Alle Attribute, welche bei einer Anmeldung mittels STORK &uuml;bertragen werden.</p></td>
+ <td><p>STORK</p></td>
+ <td><p>Alle Attribute, welche bei einer Anmeldung mittels STORK &uuml;bertragen werden.</p></td>
</tr>
<tr>
- <td valign="top">AuthTimeStamp</td>
- <td valign="top">Zeitpunkt an dem sich die Benutzerin oder der Benutzer an MOA-ID-Auth authentifiziert hat.</td>
+ <td>AuthTimeStamp</td>
+ <td>Zeitpunkt an dem sich die Benutzerin oder der Benutzer an MOA-ID-Auth authentifiziert hat.</td>
</tr>
</table>
-<h3><a name="sessiondata_sso" id="sessiondata3"></a>1.1.2 Single Sign-On</h3>
+<h4><a name="sessiondata_sso" id="sessiondata3"></a>1.1.2 Single Sign-On</h4>
<p>Im Falle einer Anmeldung mit Single Sign-In werden zus&auml;tzlich zu den oben genannten Elementen noch weitere Datens&auml;tze gecached.</p>
-<table border="1" cellspacing="0" cellpadding="0">
+ <table class="configtable">
<tr>
- <td width="159" valign="top"><p><strong>Element</strong></p></td>
- <td width="760" valign="top"><p><strong>Beschreibung</strong></p></td>
+ <td><p><strong>Element</strong></p></td>
+ <td><p><strong>Beschreibung</strong></p></td>
</tr>
<tr>
- <td width="159" valign="top"><p>SSO Session Token</p></td>
- <td width="760" valign="top"><p>Das SSO Session Token dient zur Identifizierung einer aktuell bestehenden Single Sign-On Session.</p></td>
+ <td><p>SSO Session Token</p></td>
+ <td><p>Das SSO Session Token dient zur Identifizierung einer aktuell bestehenden Single Sign-On Session.</p></td>
</tr>
<tr>
- <td valign="top">UpdateTimeStamp</td>
- <td valign="top">Zeitpunkt des letzten Zugriffs der Benutzerin oder des Benutzers mittels SSO.</td>
+ <td>UpdateTimeStamp</td>
+ <td>Zeitpunkt des letzten Zugriffs der Benutzerin oder des Benutzers mittels SSO.</td>
</tr>
<tr>
- <td width="159" valign="top"><p>Liste: ung&uuml;ltige SSO Token</p></td>
- <td width="760" valign="top"><p>Eine Liste aller in dieser Single Sign-On Session bereits vergebenen und verwendeten SSO Session Token. </p></td>
+ <td><p>Liste: ung&uuml;ltige SSO Token</p></td>
+ <td><p>Eine Liste aller in dieser Single Sign-On Session bereits vergebenen und verwendeten SSO Session Token. </p></td>
</tr>
<tr>
- <td width="159" valign="top"><p>Liste:&nbsp; Online-Applikationen</p></td>
- <td width="760" valign="top"><p>Eine Liste aller Onlineapplikationen an denen im Rahmen dieser SSO Session eine Anmeldung stattgefunden hat.</p></td>
+ <td><p>Liste:&nbsp; Online-Applikationen</p></td>
+ <td><p>Eine Liste aller Onlineapplikationen an denen im Rahmen dieser SSO Session eine Anmeldung stattgefunden hat.</p></td>
</tr>
</table>
-<h2><a name="statisticdata" id="statisticdata"></a>1.2 Logging von Statistikdaten</h2>
+<h3><a name="statisticdata" id="statisticdata"></a>1.2 Logging von Statistikdaten</h3>
<p align="left">Zus&auml;tzlich zu den Daten aus den tempor&auml;ren Sessiondaten werden vom Modul MOA-ID-Auth auch Logging- und Statistikdaten generiert, welche nicht automatisiert gel&ouml;scht werden. Diese Daten dienen der Statuskontrolle und zur Protokollierung von Anmeldevorg&auml;ngen an MOA-ID-Auth. Von MOA-ID-Auth werden folgende <a href="./../config/config.html#basisconfig_moa_id_auth_param_database_info">Statistikdaten</a> je Anmeldevorgang gespeichert, wobei je nach Art der Anmeldung nicht alle Datenelemente gef&uuml;llt werden. Die nachstehende Tabelle beschreibt den maximalen Umfang der Loggingdaten, wobei keine Informationen zur anmeldenden Person gespeichert werden.</p>
-<table border="1" cellspacing="0" cellpadding="0">
+ <table class="configtable">
<tr>
- <td width="163" valign="top"><p><strong>Element</strong></p></td>
- <td width="757" valign="top"><p><strong>Beschreibung</strong></p></td>
+ <td><p><strong>Element</strong></p></td>
+ <td><p><strong>Beschreibung</strong></p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>timestamp</p></td>
- <td width="757" valign="top"><p>Datum und Uhrzeit des Eintrags.</p></td>
+ <td><p>timestamp</p></td>
+ <td><p>Datum und Uhrzeit des Eintrags.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>OAID</p></td>
- <td width="757" valign="top"><p>Eindeutige Datenbank ID der Online-Applikation.</p></td>
+ <td><p>OAID</p></td>
+ <td><p>Eindeutige Datenbank ID der Online-Applikation.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>OAURLPrefix</p></td>
- <td width="757" valign="top"><p>Publik URL Prefix der Online-Applikation</p></td>
+ <td><p>OAURLPrefix</p></td>
+ <td><p>Publik URL Prefix der Online-Applikation</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>OAFriendlyName</p></td>
- <td width="757" valign="top"><p>Bezeichnung der Online-Applikation</p></td>
+ <td><p>OAFriendlyName</p></td>
+ <td><p>Bezeichnung der Online-Applikation</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>isBusinessService</p></td>
- <td width="757" valign="top"><p>&bdquo;True&ldquo; wenn die Online-Applikation aus dem privatwirtschaftlichen Bereich stammt.</p></td>
+ <td><p>isBusinessService</p></td>
+ <td><p>&bdquo;True&ldquo; wenn die Online-Applikation aus dem privatwirtschaftlichen Bereich stammt.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>OATarget</p></td>
- <td width="757" valign="top"><p>Bereichskennzeichen der Online-Applikation (Target oder privatwirtschaftlicher Bereich)</p></td>
+ <td><p>OATarget</p></td>
+ <td><p>Bereichskennzeichen der Online-Applikation (Target oder privatwirtschaftlicher Bereich)</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>BKUType</p></td>
- <td width="757" valign="top"><p>Art der B&uuml;rgerkartenumgebung die f&uuml;r den Anmeldevorgang verwendet wurde. (online, local, handy)</p></td>
+ <td><p>BKUType</p></td>
+ <td><p>Art der B&uuml;rgerkartenumgebung die f&uuml;r den Anmeldevorgang verwendet wurde. (online, local, handy)</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>BKUURL</p></td>
- <td width="757" valign="top"><p>URL der verwendeten B&uuml;rgerkartenumgebung</p></td>
+ <td><p>BKUURL</p></td>
+ <td><p>URL der verwendeten B&uuml;rgerkartenumgebung</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>isSSOLogin</p></td>
- <td width="757" valign="top"><p>&bdquo;True&ldquo; wenn die die Anmeldung als Teil einer SSO Anmeldung erfolgt ist.</p></td>
+ <td><p>isSSOLogin</p></td>
+ <td><p>&bdquo;True&ldquo; wenn die die Anmeldung als Teil einer SSO Anmeldung erfolgt ist.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>isMandateLogin</p></td>
- <td width="757" valign="top"><p>&bdquo;True&ldquo; wenn die Anmeldung in Vertretung erfolgt ist.</p></td>
+ <td><p>isMandateLogin</p></td>
+ <td><p>&bdquo;True&ldquo; wenn die Anmeldung in Vertretung erfolgt ist.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>MandateType</p></td>
- <td width="757" valign="top"><p>Art der verwendeten Vollmacht (Einzelprofile des Vollmachtenservice oder OID des Organwalters / berufsm&auml;&szlig;igen Parteienvertreters)</p></td>
+ <td><p>MandateType</p></td>
+ <td><p>Art der verwendeten Vollmacht (Einzelprofile des Vollmachtenservice oder OID des Organwalters / berufsm&auml;&szlig;igen Parteienvertreters)</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>MandatorType</p></td>
- <td width="757" valign="top"><p>&bdquo;jur&ldquo; / &bdquo;nat&ldquo; je nach Art der vertretenen juristischen oder nat&uuml;rlichen Person</p></td>
+ <td><p>MandatorType</p></td>
+ <td><p>&bdquo;jur&ldquo; / &bdquo;nat&ldquo; je nach Art der vertretenen juristischen oder nat&uuml;rlichen Person</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>isPV</p></td>
- <td width="757" valign="top"><p>&bdquo;True&ldquo; wenn die Anmeldung in Vertretung durch einen Organwalter oder berufsm&auml;&szlig;igen Parteienvertreter erfolgt ist.</p></td>
+ <td><p>isPV</p></td>
+ <td><p>&bdquo;True&ldquo; wenn die Anmeldung in Vertretung durch einen Organwalter oder berufsm&auml;&szlig;igen Parteienvertreter erfolgt ist.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>PVOID</p></td>
- <td width="757" valign="top"><p>OID des Organwalter oder berufsm&auml;&szlig;igen Parteienvertreter</p></td>
+ <td><p>PVOID</p></td>
+ <td><p>OID des Organwalter oder berufsm&auml;&szlig;igen Parteienvertreter</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>ProtocolType</p></td>
- <td width="757" valign="top"><p>Type des f&uuml;r die Anmeldung verwendeten Authentifizierungsprotokolls. (PVP21, OpenID, SAML1)</p></td>
+ <td><p>ProtocolType</p></td>
+ <td><p>Type des f&uuml;r die Anmeldung verwendeten Authentifizierungsprotokolls. (PVP21, OpenID, SAML1)</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>ProtocolSubType</p></td>
- <td width="757" valign="top"><p>N&auml;here Spezifizierung des Protokolltyps. (Im Falle von PVP 2.1: POST oder Redirect)</p></td>
+ <td><p>ProtocolSubType</p></td>
+ <td><p>N&auml;here Spezifizierung des Protokolltyps. (Im Falle von PVP 2.1: POST oder Redirect)</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>ExceptionType</p></td>
- <td width="757" valign="top"><p>Typ des Fehlers der w&auml;hrend des Anmeldevorgangs aufgetreten ist. Aktuell werden folgende Typen unterschieden:</p>
+ <td><p>ExceptionType</p></td>
+ <td><p>Typ des Fehlers der w&auml;hrend des Anmeldevorgangs aufgetreten ist. Aktuell werden folgende Typen unterschieden:</p>
<ul>
<li><strong>bku</strong>: Fehler w&auml;hrend der Kommunikation mit der B&uuml;rgerkartenumgebung.</li>
<li> <strong>moa-sp</strong>: Fehler bei der Kommunikation mit MOA-SP oder der Signaturpr&uuml;fung.</li>
@@ -184,74 +184,71 @@
</ul> </td>
</tr>
<tr>
- <td width="163" valign="top"><p>ExceptionCode</p></td>
- <td width="757" valign="top"><p>Fehlercode des aufgetretenen Fehlers falls vorhanden.</p></td>
+ <td><p>ExceptionCode</p></td>
+ <td><p>Fehlercode des aufgetretenen Fehlers falls vorhanden.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>ExceptionMessage</p></td>
- <td width="757" valign="top"><p>Fehlermeldung in textueller Form (max. 255 Zeichen lang)</p></td>
+ <td><p>ExceptionMessage</p></td>
+ <td><p>Fehlermeldung in textueller Form (max. 255 Zeichen lang)</p></td>
</tr>
</table>
<p>&nbsp;</p>
-<h1><a name="networkconnections" id="networkconnections"></a>2 Ben&ouml;tigte Netzwerkverbindungen (incoming / outgoing)</h1>
+<h2><a name="networkconnections" id="networkconnections"></a>2 Ben&ouml;tigte Netzwerkverbindungen (incoming / outgoing)</h2>
<p>F&uuml;r die Betrieb des Modules MOA-ID-Auth werden Netzwerkverbindungen zu externen Service ben&ouml;tigt. Die nachfolgende Tabelle gibt eine Aufstellung der ben&ouml;tigten Verbindungen und eine kurze Beschreibung &uuml;ber deren Funktion.</p>
-<table border="1" cellpadding="0" cellspacing="0">
+ <table class="configtable">
<tr>
- <td width="105" height="34" valign="middle"><strong>Service</strong></td>
- <td width="275" valign="middle"><strong>URL</strong></td>
- <td width="63" valign="middle"><strong>Port</strong></td>
- <td width="87" valign="middle"><strong>Richtung</strong></td>
- <td width="702" valign="middle"><strong>Beschreibung</strong></td>
+ <td><strong>Service</strong></td>
+ <td><strong>URL</strong></td>
+ <td><strong>Port</strong></td>
+ <td><strong>Richtung</strong></td>
+ <td><strong>Beschreibung</strong></td>
</tr>
<tr>
- <td valign="middle"><p>MOA-ID-Auth</p></td>
- <td align="center" valign="middle">*</td>
- <td align="center" valign="middle">80, 443</td>
- <td align="center" valign="middle">eingehend</td>
- <td valign="middle"><p>Front-Channel und Back-Channel Verbinding zum IDP</p></td>
+ <td><p>MOA-ID-Auth</p></td>
+ <td>*</td>
+ <td>80, 443</td>
+ <td>eingehend</td>
+ <td><p>Front-Channel und Back-Channel Verbinding zum IDP</p></td>
</tr>
<tr>
- <td valign="middle"><p>MOA-ID-Auth</p></td>
- <td align="center" valign="middle">*</td>
- <td align="center" valign="middle">80, 443</td>
- <td align="center" valign="middle">ausgehend</td>
- <td valign="middle">Abholen von Template oder PVP 2.1 Metadaten</td>
+ <td><p>MOA-ID-Auth</p></td>
+ <td>*</td>
+ <td>80, 443</td>
+ <td>ausgehend</td>
+ <td>Abholen von Template oder PVP 2.1 Metadaten</td>
</tr>
<tr>
- <td height="26" valign="middle">LDAP</td>
- <td align="center" valign="middle">*</td>
- <td align="center" valign="middle">389, 636</td>
- <td align="center" valign="middle">ausgehend</td>
- <td valign="middle">Zertifikatspr&uuml;fung</td>
+ <td>LDAP</td>
+ <td>*</td>
+ <td>389, 636</td>
+ <td>ausgehend</td>
+ <td>Zertifikatspr&uuml;fung</td>
</tr>
<tr>
- <td width="105" valign="middle"><p>OSCP / CRL</p></td>
- <td width="275" align="center" valign="middle">*</td>
- <td width="63" align="center" valign="middle">80, 443</td>
- <td width="87" align="center" valign="middle">ausgehend</td>
- <td width="702" valign="middle"><p>Zertifikatspr&uuml;fung</p></td>
+ <td><p>OSCP / CRL</p></td>
+ <td>*</td>
+ <td>80, 443</td>
+ <td>ausgehend</td>
+ <td><p>Zertifikatspr&uuml;fung</p></td>
</tr>
<tr>
- <td valign="middle">OVS</td>
- <td align="center" valign="middle"><p><strong>Prod:</strong> <a href="https://vollmachten.stammzahlenregister.gv.at/mis/">vollmachten.stammzahlenregister.gv.at</a><br>
+ <td>OVS</td>
+ <td>vollmachten.stammzahlenregister.gv.at</a><br>
<strong>Test:</strong> <a href="https://vollmachten.egiz.gv.at/mis-test/">vollmachten.egiz.gv.at</a></p></td>
- <td align="center" valign="middle">443</td>
- <td align="center" valign="middle">ausgehend</td>
- <td valign="middle">Online-Vollmachten Service (MIS) via SOAP Service</td>
+ <td>443</td>
+ <td>ausgehend</td>
+ <td>Online-Vollmachten Service (MIS) via SOAP Service</td>
</tr>
<tr>
- <td height="46" valign="middle">SZR-Gateway</td>
- <td align="left" valign="middle"><strong>Prod: </strong><a href="https://gateway.stammzahlenregister.gv.at/">gateway.stammzahlenregister.gv.at</a><br>
+ <td>SZR-Gateway</td>
+ <td>gateway.stammzahlenregister.gv.at</a><br>
<strong>Test:</strong> <a href="http://szrgw.egiz.gv.at/">szrgw.egiz.gv.at</a></td>
- <td align="center" valign="middle">443</td>
- <td align="center" valign="middle">ausgehend</td>
- <td valign="middle">Stammzahlenregister Gateway via SOAP Service</td>
+ <td>443</td>
+ <td>ausgehend</td>
+ <td>Stammzahlenregister Gateway via SOAP Service</td>
</tr>
</table>
-<p>&nbsp;</p>
-<p align="left">&nbsp;</p>
-<p>&nbsp;</p>
- <p>&nbsp;</p>
-<p>&nbsp;</p>
+
+ </div>
</body>
</html>
diff --git a/id/server/doc/handbook/application/application.html b/id/server/doc/handbook/application/application.html
index 8dbae87ed..5fadafd9a 100644
--- a/id/server/doc/handbook/application/application.html
+++ b/id/server/doc/handbook/application/application.html
@@ -2,23 +2,24 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA-ID - Anwendungen</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Anwendungen</p>
- <hr/>
- <h1>Inhalt</h1>
- <ol>
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+ <div class="container">
+<h1 align="center">Anwendungen</h1>
+
+ <h2>Inhalt</h2>
+ <ol class="index">
<li><a href="#allgemeines">Allgemeines</a></li>
<li><a href="#bkuselection">Integration in bestehende Online-Applikationen</a>
<ol>
@@ -44,36 +45,36 @@
</ol>
</li>
</ol>
- <hr/>
- <h1><a name="allgemeines"></a>1 Allgemeines</h1>
+
+ <h2><a name="allgemeines"></a>1 Allgemeines</h2>
<p>Das erste Kapitel behandelt die Integration der von MOA-ID-Auth generierten B&uuml;rgerkartenauswahl in bestehende Online-Applikationen. Zus&auml;tzlich zur Beschreibung ist MOA-ID auch eine PVP 2.1 Demo Applikation beigelegt. Die Konfiguration und Verwendung dieser Demo Applikation ist Inhalt des letzten Kapitels.</p>
-<h1><a name="bkuselection" id="allgemeines_zugangspunkte2"></a>2 Integration in bestehende Online-Applikationen</h1>
+<h2><a name="bkuselection" id="allgemeines_zugangspunkte2"></a>2 Integration in bestehende Online-Applikationen</h2>
<p>Ab MOA-ID 2.0 wird die B&uuml;rgerkartenauswahl und die Single Sign-On Anmeldeabfrage standardm&auml;&szlig;ig vom Modul MOA-ID-Auth bereitgestellt und muss nicht mehr durch den Service Provider implementiert werden.</p>
<p>Die im Modul MOA-ID-Auth hinterlegten Standard Templates (<a href="./../config/config.html#import_template_bku">B&uuml;rgerkartenauswahl</a>, <a href="./../config/config.html#import_template_sso">Single Sign-On Anmeldeabfrage</a>) unterst&uuml;tzt Responsive Design und passt sich somit in einem weiten Bereich an die aktuelle Fenstergr&ouml;&szlig;e an, wodurch eine individuelle Integration der von MOA-ID-Auth erzeugten Formulare m&ouml;glich ist. Zus&auml;tzlich bietet das Konfigurationstool die M&ouml;glichkeit der <a href="./../config/config.html#konfigurationsparameter_oa_additional_formular">online-applikationsspezifischen Anpassung der Standard Templates</a>. Mit dieser Funktion k&ouml;nnen einzelne Parameter der Standard Templates an die Online-Applikation individualisiert werden um die Integration weiter zu verfeinern.</p>
<p><strong>Hinweis:</strong> Es besteht jedoch auch die M&ouml;glichkeit der Hinterlegung von vollst&auml;ndig benutzerdefinierten online-applikationsspezifischen Templates f&uuml;r die B&uuml;rgerkartenauswahl und die Single Sign-On Anmeldeabfrage (siehe <a href="./../config/config.html#konfigurationsparameter_oa_bku">hier</a>).</p>
-<h2><a name="bkuselection" id="allgemeines_zugangspunkte6"></a>2.1 B&uuml;rgerkartenauswahl</h2>
+<h3><a name="bkuselection" id="allgemeines_zugangspunkte6"></a>2.1 B&uuml;rgerkartenauswahl</h3>
<p>Die B&uuml;rgerkartenauswahl wird ab MOA-ID 2.0 standardm&auml;&szlig;ig von MOA-ID-Auth, als Antwort auf einen eingehenden Authentifizierungsrequest, bereitgestellt. Dem zu Folge m&uuml;ssen die aus MOA-ID 1.5.1 bekannten Parameter (target, bkuURL, template, usemandate) nicht mehr im Authentifizierungsrequest an MOA-ID-Auth &uuml;bergeben werden und es kann ein standardkonformer Protokollrequest verwendet werden. Die aus MOA-ID 1.5.1 bekannte Variante der B&uuml;rgerkartenauswahl in der Online-Applikation des Service Providers steht jedoch weiterhin als <a href="./../protocol/protocol.html#allgemeines_legacy">Legacy Variante</a> zur Verf&uuml;gung.</p>
<p>Die Integration der von MOA-ID-Auth bereitgestellten B&uuml;rgerkartenauswahl in eine bestehende Online-Applikation kann auf zwei Arten erfolgen. Bei beiden Varianten erfolgt der Login Vorgang (senden des Authentifizierungsrequests an MOA-ID-Auth) durch den Klick auf einen Login Button. Die Auswahl der B&uuml;rgerkartenumgebung erfolgt somit erst im zweiten Schritt. Das Sequenzdiagramm eines solchen Anmeldevorgangs finden Sie <a href="./../intro/intro.html#ablauf">hier</a> und die nachfolgende Grafik zeigt ein Beispiel zur Integration eines Login Buttons.</p>
-<p><img src="login_button.PNG" width="853" height="683" alt="Integration Login Button"></p>
-<h3><a name="bkuselection_iframe" id="allgemeines_zugangspunkte5"></a>2.1.1 Request aus einem iFrame</h3>
+<div class="largeImgDiv"><img src="login_button.PNG" alt="Integration Login Button"></div>
+<h4><a name="bkuselection_iframe" id="allgemeines_zugangspunkte5"></a>2.1.1 Request aus einem iFrame</h4>
<p>Bei dieser Variante wird der Authentifizierungsrequests aus einem iFrame, welcher in die Online-Applikation eingebunden ist, abgesetzt. MOA-ID-Auth antwortet auf diesen Request mit der konfigurierten B&uuml;rgerkartenauswahl welche durch Verwendung des iFrame in die Online-Applikation eingebunden werden kann. Die nachfolgende Grafik zeigt ein Beispiel f&uuml;r die von MOA-ID-Auth bereitgestellte B&uuml;rgerkartenauswahl, welche nach Bet&auml;tigung des Login Buttons im iFrame dargestellt wird. </p>
-<p><img src="iframe.png" width="752" height="764" alt="B&uuml;rgerkartenauswahl im iFrame"></p>
+<div class="largeImgDiv"><img src="iframe.png" alt="B&uuml;rgerkartenauswahl im iFrame"></div>
<p><strong>Hinweis:</strong> Bei dieser Variante wird die Assertion ebenfalls an den iFrame ausgeliefert wodurch der authentifizierte Bereich der Online-Applikation im iFrame dargestellt wird. Dieses Verhalten kann durch eine <a href="./../config/config.html#konfigurationsparameter_oa_additional_formular">online-applikationsspezifischen Anpassung der Standard Templates</a> und dem Parameter <em>Targetparameter</em> unterbunden werden.</p>
-<h3><a name="bkuselection_mainframe" id="allgemeines_zugangspunkte7"></a>2.1.2 Request aus dem Hauptframe</h3>
+<h4><a name="bkuselection_mainframe" id="allgemeines_zugangspunkte7"></a>2.1.2 Request aus dem Hauptframe</h4>
<p>Bei dieser Variante wird der Authentifizierungsrequests direkt aus dem aktuell offenen Browserfenster an MOA-ID-Auth gesendet. In diesem Fall wird die B&uuml;rgerkartenauswahl fensterf&uuml;llend im Browser dargestellt und die Benutzerin oder der Benutzer befindet sich nicht mehr in der Domain der Online-Applikation (Service Provider). Nach erfolgreicher Authentifizierung wird die Benutzerin oder der Benutzer an die Online-Applikation zur&uuml;ckgeleitet. Die nachfolgende Grafik zeigt die B&uuml;rgerkartenauswahl im seitenf&uuml;llenden Layout.</p>
-<p><img src="mainframe.PNG" width="1330" height="822" alt="B&uuml;rgerkartenauswahl im seitenf&uuml;llenden Layout"></p>
-<h2><a name="ssoquestion" id="allgemeines_zugangspunkte3"></a> 2.2 Single Sign-On Anmeldeabfrage</h2>
+<div class="largeImgDiv"><img src="mainframe.PNG" alt="B&uuml;rgerkartenauswahl im seitenf&uuml;llenden Layout"></div>
+<h3><a name="ssoquestion" id="allgemeines_zugangspunkte3"></a> 2.2 Single Sign-On Anmeldeabfrage</h3>
<p>Wird f&uuml;r die Integration in die Online-Applikation die Variante mit dem Login Button und der von MOA-ID-Auth bereitgestellten B&uuml;rgerkartenauswahl verwendet (<a href="#bkuselection_iframe">iFrame</a> oder <a href="#bkuselection_mainframe">Hauptframe</a>), ergeben sich f&uuml;r die Single Sign-On Anmeldeabfrage keine zus&auml;tzlichen Anforderungen. Im Falle einer aktiven Single Sign-On Session, w&uuml;rde MOA-ID-Auth mit der Single Sign-On Anmeldeabfrage anstatt der B&uuml;rgerkartenauswahl antworten. Auch in diesem Fall stehen beide M&ouml;glichkeiten der Integration, identisch zum Kapitel B&uuml;rgerkartenauswahl, zur Verf&uuml;gung. Die nachfolgende Grafik zeigt eine Single Sign-On Abfrage welche je nach verwendeter Variante die B&uuml;rgerkartenauswahl, in den zuvor gezeigten Beispielen, ersetzen w&uuml;rde.</p>
-<p><img src="sso_sendassertion.PNG" width="383" height="240" alt="Single Sign-On Anmeldeabfrage"></p>
+<div class="largeImgDiv"><img src="sso_sendassertion.PNG" alt="Single Sign-On Anmeldeabfrage"></div>
<p><strong>Hinweis:</strong> Wird f&uuml;r die Integration der B&uuml;rgerkartenauswahl jedoch die <a href="./../protocol/protocol.html#allgemeines_legacy">Legacy Variante</a> verwendet (direkte Integration der B&uuml;rgerkartenauswahl in die Online-Applikation) kann es zu Inkompatibilit&auml;ten mit der Single Sign-On Anmeldeabfrage kommen, da diese Abfrage von MOA-ID-Auth generiert werden muss und eine direkte Integration in eine Online-Applikation nicht m&ouml;glich ist. </p>
-<h2><a name="DemoApp" id="allgemeines_zugangspunkte4"></a>3 Demo Applikationen</h2>
+<h3><a name="DemoApp" id="allgemeines_zugangspunkte4"></a>3 Demo Applikationen</h3>
<p>Dieser Abschnitt behandelt die Konfiguration und Verwendung der bei MOA-ID beigelegten Demo Applikationen.</p>
-<h2><a name="DemoApp_pvp21" id="allgemeines_zugangspunkte"></a>3.1 PVP 2.1 Demo</h2>
+<h3><a name="DemoApp_pvp21" id="allgemeines_zugangspunkte"></a>3.1 PVP 2.1 Demo</h3>
<p>Die PVP 2.1 Demo stellt das Minimalbeispiel einer Online-Applikation dar, welche zur Authentifizierung das Protokoll PVP 2.1 verwendet. Die nachfolgenden Abschnitte beschreiben die Installation, Konfiguration und Verwendung der PVP 2.1 Demo Applikation.</p>
<p><strong>Hinweis:</strong> Der Source Code der PVP 2.1 Demo Applikation ist im Order <code>$MOA_ID_AUTH_INST/source/moa-id-oa</code> verf&uuml;gbar. Jedoch ist die Validierung der PVP 2.1 Assertion in dieser Version nicht vollst&auml;ndig implementiert und m&uuml;sste bei Verwendung in einem Produktivsystem noch erweitert werden.</p>
-<h3><a name="DemoApp_pvp21_install" id="allgemeines_zugangspunkte9"></a>3.1.1 Installation</h3>
+<h4><a name="DemoApp_pvp21_install" id="allgemeines_zugangspunkte9"></a>3.1.1 Installation</h4>
<p>F&uuml;r die Installation der Demo Applikation wird ein Apache Tomcat ben&ouml;tigt. Die Konfiguration dieser Tomcat Instanz ist identisch zur <a href="./../install/install.html#webservice_basisinstallation">Konfiguration der Tomcat Instanz</a> der Module MOA-ID-Auth und MOA-ID-Configuration.</p>
-<h5><a name="DemoApp_pvp21_install_demooa" id="allgemeines_zugangspunkte10"></a>3.1.1.1 Einsatz der Demo Applikation in Tomcat</h5>
+<h6><a name="DemoApp_pvp21_install_demooa" id="allgemeines_zugangspunkte10"></a>3.1.1.1 Einsatz der Demo Applikation in Tomcat</h6>
<ul>
<li>Die Datei <code>$MOA_ID_AUTH_INST/moa-id_oa.war</code> enth&auml;lt das einsatzfertige Webarchiv der Demo Applikation und muss ins Verzeichnis <code>$CATALINA_HOME/webapps</code> kopiert werden. Dort wird sie beim ersten Start von Tomcat automatisch ins Verzeichnis <code>$CATALINA_HOME/webapps/moa-id-oa</code> entpackt. </li>
<li>Die Konfigurationsdatei mit der Basiskonfiguration f&uuml;r die Demo Applikation und die zugeh&ouml;rigen Verzeichnisse m&uuml;ssen in ein beliebiges Verzeichnis im Dateisystem kopiert werden (z.B. <code>$CATALINA_HOME/conf/moa-id-oa</code>). Eine funktionsf&auml;hige Konfiguration, die als Ausgangspunkt f&uuml;r die Basiskonfiguration der Demo Applikation dienen kann, finden Sie <a href="../../../conf/moa-id-oa/oa.properties">hier</a>. <br>
@@ -89,7 +90,7 @@
</ul>
</li>
</ul>
-<h4><a name="DemoApp_pvp21_install_start" id="allgemeines_zugangspunkte11"></a>3.1.1.2 Einsatz der Demo Applikation in Tomcat</h4>
+<h5><a name="DemoApp_pvp21_install_start" id="allgemeines_zugangspunkte11"></a>3.1.1.2 Einsatz der Demo Applikation in Tomcat</h5>
<p>Das starten und stoppen der Demo Applikation erfolgt identisch zur Beschreibung f&uuml;r die Module MOA-ID-Auth und MOA-ID-Configuration.</p>
<p>Ein erfolgreicher Start der Demo Applikation ist an folgender Log-Meldung ersichtlich:</p>
<pre>INFO at.gv.egovernment.moa.id.demoOA.Configuration - Demo Application initializaten finished.</pre>
@@ -99,15 +100,15 @@
<pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-oa/
</pre>
-<h3><a name="DemoApp_pvp21_config" id="allgemeines_zugangspunkte8"></a>3.1.2 Konfiguration Demo Applikation</h3>
+<h4><a name="DemoApp_pvp21_config" id="allgemeines_zugangspunkte8"></a>3.1.2 Konfiguration Demo Applikation</h4>
<p>Die zentrale Konfigurationsdatei f&uuml;r die Demo Applikation wird der <span class="term">Java Virtual Machine</span>, in der die Demo Applikation l&auml;uft, durch eine <span class="term">System Property </span> mitgeteilt (wird beim Starten der <span class="term">Java Virtual Machine</span> in der Form <code>-D&lt;name&gt;=&lt;wert&gt;</code> gemacht). Der Name der <span class="term">System Property</span> lautet <code>moa.id.demoOA</code> als Wert der <span class="term">System Property</span> ist der Pfad sowie der Name der Konfigurationsdatei im Dateisystem anzugeben, z.B.</p>
<pre>moa.id.demoOA=C:/Programme/apache/tomcat-4.1.30/conf/moa-id-oa/oa.properties</pre>
<p>Diese Konfigurationsdatei beinhaltet folgende Parameter. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="395" scope="col">Name</th>
- <th width="271" scope="col">Beispielwert</th>
- <th width="559" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>general.publicURLContext</td>
@@ -200,9 +201,9 @@ http://&lt;host&gt;:&lt;port&gt;/moa-id-oa/servlet/metadata</pre>
<pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-oa/servlet/metadata</pre>
<p>Nach erfolgreicher Konfiguration muss die Tomcat Instanz neu gestartet werden.</p>
-<h3><a name="DemoApp_pvp21_config_moaidauth" id="allgemeines_zugangspunkte13"></a>3.1.3 Konfiguration von MOA-ID-Auth</h3>
+<h4><a name="DemoApp_pvp21_config_moaidauth" id="allgemeines_zugangspunkte13"></a>3.1.3 Konfiguration von MOA-ID-Auth</h4>
<p>Bevor ein Anmeldevorgang gestartet werden kann muss die Demo Applikation auch als Online-Applikation f&uuml;r das Modul MOA-ID-Auth konfiguriert werden. Hierf&uuml;r kann das Konfigurationstool (Modul MOA-ID-Configuration) verwendet werden. Tragen Sie die Demo Applikation als Online-Applikation bei Ihrer MOA-ID-Auth Instanz ein. Eine Beschreibung der einzelnen Konfigurationsparameter finden Sie <a href="./../config/config.html#konfigurationsparameter_oa">hier</a>.</p>
-<h3><a name="DemoApp_pvp21_use" id="allgemeines_zugangspunkte12"></a>3.1.4 Anwendung</h3>
+<h4><a name="DemoApp_pvp21_use" id="allgemeines_zugangspunkte12"></a>3.1.4 Anwendung</h4>
<p>Nach dem Starten von Tomcat steht die Demo Applikation zur Verf&uuml;gung.</p>
<pre>http://&lt;host&gt;:&lt;port&gt;/moa-id-oa/</pre>
<p>bzw. </p>
@@ -214,5 +215,6 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-oa/
<p>Nach erfolgreicher Authentifizierung werden Sie an die Demo Applikation zur&uuml;ckgeleite. Diese extrahiert einige Basisdaten aus der PVP 2.1 Assertion und stellt diese im Browser dar. Zus&auml;tzlich kann die gesamte &uuml;bertragene PVP 2.1 Assertion angezeigt werden.</p>
<p>Wurde der Anmeldevorgang durch einen Fehler abgebrochen werden Sie ebenfalls an die Demo Applikation zur&uuml;ckgeleitet. In diesem Fall wird eine kurze Fehlerbeschreibung dargestellt. Eine ausf&uuml;hrliche Fehlerbeschreibung kann der PVP 2.1 Assertion entnommen werden.</p>
<p>&nbsp;</p>
+ </div>
</body>
</html>
diff --git a/id/server/doc/handbook/common/LogoBKA.png b/id/server/doc/handbook/common/LogoBKA.png
deleted file mode 100644
index 6a92647fd..000000000
--- a/id/server/doc/handbook/common/LogoBKA.png
+++ /dev/null
Binary files differ
diff --git a/id/server/doc/handbook/common/MOA.css b/id/server/doc/handbook/common/MOA.css
index f76ea53d4..f8fd01d8c 100644
--- a/id/server/doc/handbook/common/MOA.css
+++ b/id/server/doc/handbook/common/MOA.css
@@ -1,353 +1,77 @@
+.container {
+ margin: auto;
+ max-width: 1000px;
+ padding-left: 20px;
+ padding-right: 20px;
+}
+
body
{
- font-family: "Times New Roman", Times, serif;
+ font-family: "Roboto", sans-serif;
+
+ color: #000;
font-size: medium;
- font-weight: normal;
- margin-left: 2.5em;
- margin-right: 2.5em;
+ font-weight: 300;
+ margin-left: 0px;
+ margin-right: 0px;
+ margin-top: 0px;
background-color: white;
- text: #000000;
- link: #990000;
- vlink: #666666;
- alink: #cc9966;
-}
+ letter-spacing: 0.05em;
+}
+b{
+ font-weight: 500;
+}
p
{
margin-top: 0pt;
margin-bottom: 0.5em;
- text-align: justify
-}
-
-pre
-{
- font-family: "Courier New", monospace;
- font-size: 90%;
- background-color: #cccccc;
- color: #000000;
- margin-left:1.5%;
- margin-right:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
- border: #008000 none;
-}
-
-hr
-{
- color: #000080;
- background-color: #000080;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-
-table.fixedWidth
-{
- width: 97%;
- margin-left:1.5%;
- margin-right:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-
-table.varWidth
-{
- margin-left:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-th
-{
- text-align: left;
-}
-
-h1
-{
- color: #000000;
- text-align: left;
- font-size: 167%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h2
-{
- color: #000000;
- font-size: 150%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h3
-{
- color: #000000;
- font-size: 133%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h4
-{
- color: #000000;
- font-size: 116%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h5
-{
- color: #000000;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h6
-{
- color: #000000;
- font-size: 83%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-code
-{
- font-family: "Courier New", Courier, monospace;
- font-size: 90%;
- color: #000000
-}
-
-dd
-{
- margin-top: 0.8em;
- margin-bottom: 0.8em;
- text-align: justify
-
-}
-
-dt
-{
- margin-top: 0.8em;
- font-family: Arial, Helvetica, sans-serif;
- color: #000080
-}
-
-ol
-{
- margin-top: 0.5em;
- margin-bottom: 0.5em
-}
-
-ol.alpha
-{
- list-style-type: lower-alpha
-}
-
-li
-{
- margin-top: 0.25em;
- margin-bottom: 0.25em;
- text-align: justify
-}
-
-a:hover
-{
- color: #990000
-}
-
-
-.title
-{
- text-align: left;
- font-size: 200%;
- color: #000000;
- font-family: Arial, Helvetica, sans-serif;
- margin-top: 0.4em;
- margin-bottom: 0.4em;
- background-color:#999;
-}
-
-.subtitle
-{
- text-align: left;
- font-size: 133%;
- color: #000000;
- font-family: Arial, Helvetica, sans-serif;
- margin-top: 0.4em;
- margin-bottom: 0.4em
-}
-
-.glossaryTerm
-{
- font-style: italic;
- color: #006699
-}
-
-.example
-{
- font-family: "Courier New", monospace;
- background-color: #CCFFFF;
- color: #000000;
- margin: 0pt 0pt;
- border: #008000 none
-}
-
-.schema
-{
- font-family: "Courier New", monospace;
- background-color: #FFFFCC;
- color: #000000;
- margin: 0pt 0pt;
- border: #008000 none
-}
+ text-align: justify;
-.documentinfo
-{
- font-family: Arial, Helvetica, sans-serif;
- font-size: 100%;
}
-.ol-contents
-{
- font-size: 100%;
- margin-top: 0.0em;
- margin-bottom: 0.0em;
+.centeredimage{
+ text-align: center;
+ width:100%;
}
-.li-contents
-{
- font-size: 100%;
- margin-top: 0.0em;
- margin-bottom: 0.0em;
+.index{
+ padding-left: 0;
}
-
-.logoTitle
-{
- text-align: center;
- font-size: 200%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
+.index a{
+ color: #666;
}
-
-.logoTable
-{
- margin-bottom: 0px;
- margin-left: 0px
-}
-
-.superscript
-{
- vertical-align: super;
- font-size: 66%;
-}
-
-.term
-{
- font-style: italic;
-}
-
-.strongerterm
-{
- font-style: italic;
- font-weight: 600;
-}
-
-
-.comment
-{
- color: #000000;
- background: #ffff00;
- font-style: italic
-}
-
-.addedErrata12
-{
- color: #FF0000;
- background-color: #FFEEEE;
- text-decoration: underline
-}
-
-.deletedErrata12
-{
- color: #999999;
- background-color: #EEEEEE;
- text-decoration: line-through
-}
-
-.added12
-{
- color: #FF0000;
- text-decoration: underline
-; background-color: #F8F0FF
-}
-
-.deleted12
+.index a:hover
{
- color: #999999;
- text-decoration: line-through
-; background-color: #f8f0ff
+ color:#E10319;
}
-
-.rfc2119Keyword
-{
- font-variant: small-caps;
- font-style: normal;
+.index ul{
+ list-style-type: none;
}
-
-.remark { font-style: italic}
-
-li.faq
-{
- margin-top: 1.5em;
- margin-bottom: 1.5em;
+.index li{
+ list-style-type: none;
}
-.faq-question
-{
- color: #000080;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- margin-bottom: 0.4em;
+td{
+ font-weight: 300;
}
-/*body
-{
- font-family: "Times New Roman", Times, serif;
- font-size: medium;
- font-weight: normal;
- margin-left: 2.5em;
- margin-right: 2.5em;
-}
-
-p
-{
- margin-top: 0pt;
- margin-bottom: 0.5em;
- text-align: justify
-}
pre
{
font-family: "Courier New", monospace;
font-size: 90%;
- background-color: #cccccc;
+ background-color: #DDD;
color: #000000;
margin-left:1.5%;
margin-right:1.5%;
margin-top: 1em;
margin-bottom: 1em;
border: #008000 none;
+ white-space: pre-wrap;
}
hr
@@ -365,9 +89,8 @@ table.fixedWidth
margin-right:1.5%;
margin-top: 1em;
margin-bottom: 1em;
+ color:#404040;
}
-
-
table.varWidth
{
margin-left:1.5%;
@@ -375,86 +98,114 @@ table.varWidth
margin-bottom: 1em;
}
+table.configtable{
+ width:100%;
+ border-collapse: collapse;
+ border-style:solid;
+ border-color: #404040;
+ border-width: 2px;
+ font-family: "Roboto",sans-serif
+}
+table.configtable th{
+ border-style:solid;
+ border-color: #404040;
+ border-width: 2px;
+ padding:3px;
+}
+table.configtable th{
+ font-weight: 300;
+ font-size: 120%;
+}
+table.configtable td{
+ border-style:solid;
+ border-color: #404040;
+ border-width: 1px;
+ border-left-width: 2px;
+ border-right-width: 2px;
+ padding:3px;
+ font-weight: 300;
+}
+
+
th
{
text-align: left;
+
}
h1
-{
- color: #000080;
- text-align: left;
- font-size: 167%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
+{
+ font-size: 220%;
+ font-weight: 400;
}
h2
{
- color: #000080;
- font-size: 150%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
+ letter-spacing: 1px;
+ font-size: 170%;
+ font-weight: 300;
+
}
h3
{
- color: #000080;
- font-size: 133%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
+ letter-spacing: 1px;
+ font-size: 160%;
+ font-weight: 300;
}
h4
{
- color: #000080;
- font-size: 116%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
+ letter-spacing: 1px;
+ font-size: 150%;
+ font-weight: 300;
+
}
h5
{
- color: #000080;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
+ letter-spacing: 1px;
+ font-size: 140%;
+ font-weight: 300;
}
h6
{
- color: #000080;
- font-size: 83%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
+ letter-spacing: 1px;
+ font-size: 130%;
+ font-weight: 300;
}
code
{
- font-family: "Courier New", Courier, monospace;
+ font-family: "Roboto","Courier New", Courier, monospace;
font-size: 90%;
- color: #000000
+ font-weight: 400;
+ color: #000000;
}
dd
{
margin-top: 0.8em;
margin-bottom: 0.8em;
- text-align: justify
+ text-align: justify;
}
dt
{
margin-top: 0.8em;
- font-family: Arial, Helvetica, sans-serif;
- color: #000080
+ color: #E10319;
+}
+dt a{
+ text-decoration:none;
}
ol
{
margin-top: 0.5em;
- margin-bottom: 0.5em
+ margin-bottom: 0.5em;
+ padding-left:0.8em;
}
ol.alpha
@@ -466,31 +217,35 @@ li
{
margin-top: 0.25em;
margin-bottom: 0.25em;
- text-align: justify
+ text-align: justify;
}
a:hover
{
- color: #990000
+ color: #E10319;
+}
+a{
+ color: #666;
+ text-decoration: none;
}
.title
{
text-align: left;
- font-size: 167%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
+ font-size: 200%;
+ color: #000000;
+ font-family: "Roboto", sans-serif;
margin-top: 0.4em;
- margin-bottom: 0.4em
+ margin-bottom: 0.4em;
}
.subtitle
{
text-align: left;
font-size: 133%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
+ color: #000000;
+ font-family: "Roboto", sans-serif;
margin-top: 0.4em;
margin-bottom: 0.4em
}
@@ -503,7 +258,7 @@ a:hover
.example
{
- font-family: "Courier New", monospace;
+ font-family: "Roboto", sans-serif;
background-color: #CCFFFF;
color: #000000;
margin: 0pt 0pt;
@@ -521,7 +276,7 @@ a:hover
.documentinfo
{
- font-family: Arial, Helvetica, sans-serif;
+ font-family: "Roboto", sans-serif;
font-size: 100%;
}
@@ -542,19 +297,21 @@ a:hover
.logoTitle
{
text-align: center;
- font-size: 133%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
+ font-size: 200%;
}
.logoTable
{
margin-bottom: 0px;
- margin-left: 0px
+ margin-left: 0px;
+ background: linear-gradient(#FAFAFA, #F5F5F5);
+ border-bottom: 1px solid #EEE;
+ border-color: #818286;
+
}
.superscript
-{
+{
vertical-align: super;
font-size: 66%;
}
@@ -564,6 +321,13 @@ a:hover
font-style: italic;
}
+.strongerterm
+{
+ font-style: italic;
+ font-weight: 500;
+}
+
+
.comment
{
color: #000000;
@@ -588,8 +352,8 @@ a:hover
.added12
{
color: #FF0000;
- text-decoration: underline
-; background-color: #F8F0FF
+ text-decoration: underline;
+ background-color: #F8F0FF;
}
.deleted12
@@ -617,8 +381,121 @@ li.faq
{
color: #000080;
font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
+ font-family: "Roboto", sans-serif;
+ font-weight: 300;
margin-bottom: 0.4em;
}
-*/
+/*********************************/
+@media ( min-width :600px) {
+ #headline {
+ /*background: linear-gradient(center top , #FAFAFA, #F5F5F5) repeat scroll 0% 0% transparent;*/
+ background: linear-gradient(#FAFAFA, #F5F5F5);
+ border-bottom: 1px solid #EEE;
+
+ }
+ #headline br {
+ clear: both;
+ }
+
+ #headline h1 {
+ color: #404040;
+ padding-right: 1em;
+ padding-top: 0.15em;
+ margin-bottom: 0;
+ float: right;
+ }
+ #headline img {
+ width: 300px;
+ padding-left: 0;
+ padding-top: 35px;
+ padding-bottom:20px;
+ }
+
+ .smallImgDiv{
+ width:50%;
+ margin:auto;
+ margin-bottom:40px;
+ margin-top:20px;
+ }
+ .smallImgDiv img{
+ max-width: 100%;
+ max-height: 100%;
+ margin:auto;
+ display: block;
+ }
+ .largeImgDiv{
+ width:100%;
+ margin: auto;
+ margin-bottom:40px;
+ margin-top:20px;
+ }
+ .largeImgDiv img{
+ max-width: 100%;
+ max-height: 100%;
+ margin:auto;
+ display: block;
+ }
+}
+/*****************************/
+@media ( max-width :599px) {
+ #headline {
+ /*background: linear-gradient(center top , #FAFAFA, #F5F5F5) repeat scroll 0% 0% transparent;*/
+ background: linear-gradient(#FAFAFA, #F5F5F5);
+ border-bottom: 1px solid #EEE;
+ }
+
+ #headline img {
+ width: 150px;
+ padding-left: 0;
+ padding-top: 0.5em;
+ padding-bottom:0.5em;
+ }
+ #headline br {
+ clear: both;
+ }
+ #demologin {
+ width: 100%;
+ box-sizing: border-box;
+ border: 1px solid;
+ border-radius: 1px;
+ border-color: #818286;
+ background: #F5F5F5;
+ height: 182px;
+ width: 242px;
+ margin-top: 18px;
+ padding-left:0;
+ }
+ #headline h1 {
+ color: #404040;
+ padding: 0;
+ margin-bottom: 0;
+ margin-top: 0;
+ text-align: center;
+ }
+ .smallImgDiv{
+ width:100%;
+ margin:auto;
+ margin-bottom:40px;
+ margin-top:20px;
+ }
+ .smallImgDiv img{
+ max-width: 100%;
+ max-height: 100%;
+ margin:auto;
+ display: block;
+ }
+ .largeImgDiv{
+ width:100%;
+ margin: auto;
+ margin-bottom:40px;
+ margin-top:20px;
+ }
+ .largeImgDiv img{
+ max-width: 100%;
+ max-height: 100%;
+ margin:auto;
+ display: block;
+ }
+}
+
+
diff --git a/id/server/doc/handbook/common/logo_digAT.png b/id/server/doc/handbook/common/logo_digAT.png
new file mode 100644
index 000000000..4f36681e2
--- /dev/null
+++ b/id/server/doc/handbook/common/logo_digAT.png
Binary files differ
diff --git a/id/server/doc/handbook/config/config.html b/id/server/doc/handbook/config/config.html
index 9b4190035..18be88951 100644
--- a/id/server/doc/handbook/config/config.html
+++ b/id/server/doc/handbook/config/config.html
@@ -2,23 +2,25 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA-ID - Konfiguration</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
<body link="#990000">
-<table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Konfiguration</p>
- <hr/>
-<h1>Inhalt</h1>
- <ol>
+
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+<div class="container">
+<h1 align="center">Konfiguration<h1>
+
+<h2>Inhalt</h2>
+ <ol class="index">
<li>
<p><a href="#uebersicht">&Uuml;bersicht</a></p>
<ol>
@@ -75,6 +77,7 @@
</li>
<li> <a href="#basisconfig_moa_id_auth_param_testing">Testing</a></li>
<li><a href="#basisconfig_moa_id_auth_szrclient">SZR Client f&uuml;r STORK &lt;-&gt; PVP Gateway Betrieb</a></li>
+ <li><a href="#basisconfig_moaid_stork2">STORK 2.0</a></li>
</ol>
</li>
</ol>
@@ -152,14 +155,14 @@
<li><a href="#sp-config">Konfiguration von MOA-SP</a></li>
<li><a href="#security">Tomcat Security Manager</a></li>
</ol>
-<ol type="A">
+<ol type="A" class="index">
<li><a href="#referenzierte_spezifikation">Referenzierte Spezifikation</a></li>
</ol>
-<hr/>
- <h1><a name="uebersicht" id="uebersicht"></a>1 &Uuml;bersicht </h1>
+
+ <h2><a name="uebersicht" id="uebersicht"></a>1 &Uuml;bersicht </h2>
<p>Dieses Handbuch beschreibt detailliert die Konfigurationsm&ouml;glichkeiten f&uuml;r die Module MOA-ID-Auth und MOA-ID-Configuration. Wobei das zentrale Einsatzgebiet des Modules MOA-ID-Configuration die Konfiguration des Modules MOA-ID-Auth darstellt.</p>
<p>Die Konfiguration der beiden Module MOA-ID-Auth und MOA-ID-Configuration kann in zwei Teilbereiche unterteilt werden. Der erste Abschnitt behandelt die Basiskonfiguration der beiden Module, welche in textueller Form mit Hilfe von properties-Konfigurationsdateien erfolgt. Der zweite Abschnitt behandelt die Konfiguration des Modules MOA-ID-Auth unter Zuhilfenahme des Modules MOA-ID-Configuration.</p>
- <h2><a name="uebersicht_ablauf" id="uebersicht2"></a>1.1 Empfohlener Konfigurationsablauf</h2>
+ <h3><a name="uebersicht_ablauf" id="uebersicht2"></a>1.1 Empfohlener Konfigurationsablauf</h3>
<ol>
<li><a href="#moa_id_config_parameters">Basiskonfiguration des Modules MOA-ID-Configuration</a></li>
<li><a href="#moa_id_config_init">Initialisierung des Modules MOA-ID-Configuration</a></li>
@@ -168,24 +171,24 @@
<li><a href="#konfigurationsparameter_oa">Konfiguration von Online-Applikationen</a></li>
</ol>
<p>Optional kann nach dem Schritt 3 Basiskonfiguration des Modules MOA-ID-Auth eine <a href="#import_export_legacy">bestehende MOA-ID 1.5.1 Konfiguration importiert</a> werden. F&uuml;r bestehende Konfigurationen &lt; 1.5.1 wird eine vollst&auml;ndige Neukonfiguration empfohlen.</p>
-<h1><a name="uebersicht_zentraledatei" id="uebersicht_zentraledatei"></a>2 Basiskonfiguration</h1>
+<h2><a name="uebersicht_zentraledatei" id="uebersicht_zentraledatei"></a>2 Basiskonfiguration</h2>
<p>Die Basiskonfiguration f&uuml;r die Module MOA-ID-Auth und MOA-ID-Configuration erfolgt mit Hilfe textueller properties-Dateien. Diese properties-Dateien beinhalten alle Konfigurationsparameter welche f&uuml;r den Start der Module erforderlich sind und m&uuml;ssen der Java Virtual Machine durch eine System Property mitgeteilt werden. Alle &Auml;nderungen die an der Basiskonfiguration vorgenommen werden erfordern einen Neustart der jeweiligen Java Virtual Machine.</p>
<p><strong>Hinweis:</strong> Alle URL Konfigurationsparameter auf Dateien ohne den Prefix <em>file:/</em> werden als relative Pfadangaben zum Konfigurationsbasisverzeichnis des jeweiligen Modules interpretiert.</p>
-<h2><a name="uebersicht_zentraledatei_aktualisierung" id="uebersicht_zentraledatei_aktualisierung"></a>2.1 MOA-ID-Configuration</h2>
+<h3><a name="uebersicht_zentraledatei_aktualisierung" id="uebersicht_zentraledatei_aktualisierung"></a>2.1 MOA-ID-Configuration</h3>
<p>Dieser Abschnitt behandelt die Basiskonfiguration des Modules MOA-ID-Configuration. Der erste Teilabschnitt behandelt die Bekanntmachung der Konfigurationsdatei mittels einer System Property und der zweite Teilabschnitt beschreibt die einzelnen Konfigurationsparameter im Detail. Eine Konfiguration die als Ausgangspunkt f&uuml;r die individuelle Konfiguration verwendet werden kann finden Sie <a href="../../conf/moa-id-configuration/moa-id-configtool.properties">hier</a>.</p>
-<h3><a name="moa_id_config_property" id="uebersicht_zentraledatei_aktualisierung7"></a>2.1.1 Bekanntmachung der Konfigurationsdatei</h3>
+<h4><a name="moa_id_config_property" id="uebersicht_zentraledatei_aktualisierung7"></a>2.1.1 Bekanntmachung der Konfigurationsdatei</h4>
<p>Die zentrale Konfigurationsdatei von MOA-ID-Configuration wird der <span class="term">Java Virtual Machine</span>, in der MOA-ID-Configuration l&auml;uft, durch eine <span class="term">System Property </span> mitgeteilt (wird beim Starten der <span class="term">Java Virtual Machine</span> in der Form <code>-D&lt;name&gt;=&lt;wert&gt;</code> gemacht). Der Name der <span class="term">System Property</span> lautet <code>moa.id.webconfig</code> als Wert der <span class="term">System Property</span> ist der Pfad sowie der Name der Konfigurationsdatei im Dateisystem anzugeben, z.B.</p>
<pre>moa.id.webconfig=C:/Programme/apache/tomcat-4.1.30/conf/moa-id-configuration/moa-id-configuration.properties</pre>
<p>Weitere Informationen zum Bekanntmachen der zentralen Konfigurationsdatei f&uuml;r MOA-ID-Configuration erhalten Sie in <a href="../install/install.html#moa_id_configuration_deploy">Abschnitt 2.1.2.4</a> des Installationshandbuchs.</p>
-<h3><a name="moa_id_config_parameters" id="uebersicht_zentraledatei_aktualisierung8"></a>2.1.2 Konfigurationsparameter</h3>
+<h4><a name="moa_id_config_parameters" id="uebersicht_zentraledatei_aktualisierung8"></a>2.1.2 Konfigurationsparameter</h4>
<p>Aus Gr&uuml;nden der &Uuml;bersichtlichkeit werden die einzelnen Konfigurationsparameter in logisch zusammenh&auml;ngende Bl&ouml;cke unterteilt. Die Konfiguration der Bl&ouml;cke <a href="#moa_id_config_parameters_generel">Allgemeine Konfigurationsparameter</a> und <a href="#moa_id_config_parameters_database">Datenbankzugriff</a> sind nicht optional und m&uuml;ssen f&uuml;r den Betrieb angepasst werden. </p>
-<h4><a name="moa_id_config_parameters_generel" id="uebersicht_zentraledatei_aktualisierung9"></a>2.1.2.1 Allgemeine Konfigurationsparameter</h4>
+<h5><a name="moa_id_config_parameters_generel" id="uebersicht_zentraledatei_aktualisierung9"></a>2.1.2.1 Allgemeine Konfigurationsparameter</h5>
<p>Die folgenden Konfigurationsparameter sind nicht optional und m&uuml;ssen in der Konfigurationsdatei enthalten sein und individuell angepasst werden.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="176" scope="col">Name</th>
- <th width="222" scope="col">Beispielwert</th>
- <th width="827" scope="col">Beschreibung</th>
+ <th scope="col">Name</th>
+ <th scope="col">Beispielwert</th>
+ <th scope="col">Beschreibung</th>
</tr>
<tr>
<td>general.login.deaktivate</td>
@@ -225,18 +228,24 @@
<p><strong>Hinweis:</strong> Dieses Passwort muss identisch zu dem im <a href="#basisconfig_moa_id_auth_param_general">Modul MOA-ID-Auth</a> hinterlegten Passwort sein.</p></td>
</tr>
<tr>
+ <td>general.pvp.schemavalidation</td>
+ <td>true / false</td>
+ <td><p>Hiermit kann die Schemavalidierung f&uuml;r konfigurierte PVP Metadaten deaktiviert werden.</p>
+ <strong>Hinweis:</strong> Standardm&auml;&szlig;ig ist die Schemavalidierung aktiv.</td>
+ </tr>
+ <tr>
<td>general.userrequests.cleanup.delay</td>
<td>18</td>
<td>Innerhalb dieses Zeitraums muss ein neuer Benutzer die im Benutzerprofil hinterlegte eMail Adresse validieren. </td>
</tr>
</table>
-<h4>2.1.2.3 Datenbankzugriff</h4>
+<h5>2.1.2.3 Datenbankzugriff</h5>
<p>Diese Konfigurationsparameter sind nicht optional und m&uuml;ssen in der Konfigurationsdatei enthalten sein und individuell angepasst werden. F&uuml;r die Beispielkonfiguration wurde mySQL als Datenbank verwendet wodurch sich die Konfigurationsparameter auf mySQL beziehen. Das Modul MOA-ID-Configuration kann jedoch auch mit Datenbanken anderer Hersteller betrieben werden. Hierf&uuml;r wird jedoch auf die <a href="http://docs.jboss.org/hibernate/core/4.2/manual/en-US/html/">Hibernate Dokumention</a> verwiesen, welches im Module MOA-ID-Configuration f&uuml;r den Datenbankzugriff verwendet wird. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="209" scope="col">Name</th>
- <th width="223" scope="col">Beispielwert</th>
- <th width="793" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>hibernate.dialect</td>
@@ -266,13 +275,13 @@
</table>
<p>&nbsp;</p>
<p>Die Beispielkonfiguration beinhaltet noch zus&auml;tzliche Konfigurationsparameter f&uuml;r den Datenbankzugriff welche direkt aus der Beispielkonfiguration &uuml;bernommen werden k&ouml;nnen. Eine detaillierte Beschreibung der einzelnen Einstellungsparameter kann der <a href="http://docs.jboss.org/hibernate/core/4.2/manual/en-US/html/">Hibernate Dokumention</a> entnommen werden.</p>
-<h4><a name="moa_id_config_parameters_pvp2" id="uebersicht_zentraledatei_aktualisierung11"></a>2.1.2.4 B&uuml;rgerkarten LogIn</h4>
+<h5><a name="moa_id_config_parameters_pvp2" id="uebersicht_zentraledatei_aktualisierung11"></a>2.1.2.4 B&uuml;rgerkarten LogIn</h5>
<p>Zus&auml;tzlich zur Authentifizierung mittels Benutzername und Passwort unterst&uuml;tzt das Modul MOA-ID-Configuration auch eine Authentifizierung mittels B&uuml;rgerkarte oder Handy-Signatur unter Verwendung des <a href="./protocol/protocol.html">Authentifizierungsprotokolls PVP2.1</a>. Wenn eine Authentifizierung mittels B&uuml;rgerkarte oder Handy-Signatur gew&uuml;nscht wird m&uuml;ssen die nachfolgen Parameter konfiguriert werden.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="395" scope="col">Name</th>
- <th width="271" scope="col">Beispielwert</th>
- <th width="559" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>general.login.pvp2.isactive</td>
@@ -363,13 +372,13 @@ http://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/servlet/metadata</pre>
<p>bzw. </p>
<pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/servlet/metadata</pre>
-<h4><a name="moa_id_config_parameters_mail" id="uebersicht_zentraledatei_aktualisierung12"></a>2.1.2.5 Mailversand</h4>
+<h5><a name="moa_id_config_parameters_mail" id="uebersicht_zentraledatei_aktualisierung12"></a>2.1.2.5 Mailversand</h5>
<p>Das Modul MOA-ID-Configuration bietet die M&ouml;glichkeit zur Generierung von automatischen Statusmeldungen welche via eMail versendet werden. Diese Statusmeldungen betreffen die Aktivierung neuer Online-Applikationen oder Benutzeraccounts und die Verifikation von eMail Adressen welche einem Benutzeraccount zugeordnet sind. Detailinformationen hierzu finden Sie im Abschnitt <a href="#moa_id_config_user">Benutzerverwaltung</a>.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="395" scope="col">Name</th>
- <th width="271" scope="col">Beispielwert</th>
- <th width="559" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>general.mail.host</td>
@@ -453,7 +462,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/servlet/metadata</pre>
</tr>
</table>
<p>&nbsp;</p>
-<h3><a name="moa_id_config_init" id="uebersicht_zentraledatei_aktualisierung13"></a>2.1.3 Initialisierung des Modules MOA-ID-Configuration</h3>
+<h4><a name="moa_id_config_init" id="uebersicht_zentraledatei_aktualisierung13"></a>2.1.3 Initialisierung des Modules MOA-ID-Configuration</h4>
<p>F&uuml;r den ersten Start muss die Authentifizierung deaktiviert werden (siehe <em>general.login.deaktivate</em> <a href="#moa_id_config_parameters_generel">Abschnitt 2.2.2.1</a>). Anschlie&szlig;end kann die Benutzerverwaltung des Modules MOA-ID-Configuration unter der folgenden Adresse aufgerufen werden.</p>
<pre>http://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/secure/usermanagementInit.action</pre>
<p>bzw. </p>
@@ -461,16 +470,16 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/servlet/metadata</pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/secure/usermanagementInit.action</pre>
<p>Mit Hilfe dieser Benutzerverwaltung kann ein neuer Benutzeraccount am Konfigurationstool angelegt und ein Kennwort f&uuml;r den Benutzer vergeben werden. Zus&auml;tzlich m&uuml;ssen dem neu erstellten Benutzer die Eigenschaften <em>aktiv</em> und <em>admin</em> zugewiesen werden. Nach dem speichern wird der neu angelegte Benutzer in der Liste aller vorhandenen Benutzern dargestellt.</p>
<p>Hiermit ist die Initialisierung des Moduls MOA-ID-Configuration abgeschlossen und die Authentifizierung kann wieder aktiviert werden (siehe <em>general.login.deaktivate</em> <a href="#moa_id_config_parameters_generel">Abschnitt 2.2.2.1</a>). Anschlie&szlig;end muss die Java Virtual Machine, in welchem das Modul MOA-ID-Configuration betrieben wird, neu gestartet werden.</p>
-<p><b>Hinweis:</b> Ein Betrieb des Moduls MOA-ID-Configuration ohne Authentifizierung ist ebenfalls möglich. In diesem Fall wird jedoch empfohlen den Zugriff auf das Konfigurationstool mit anderen Mitteln einzuschränken.</b></p>
-<h3><a name="moa_id_config_user" id="uebersicht_zentraledatei_aktualisierung14"></a>2.1.4 Benutzerverwaltung</h3>
+<p><b>Hinweis:</b> Ein Betrieb des Moduls MOA-ID-Configuration ohne Authentifizierung ist ebenfalls m\F6glich. In diesem Fall wird jedoch empfohlen den Zugriff auf das Konfigurationstool mit anderen Mitteln einzuschr\E4nken.</b></p>
+<h4><a name="moa_id_config_user" id="uebersicht_zentraledatei_aktualisierung14"></a>2.1.4 Benutzerverwaltung</h4>
<p>Das Modul MOA-ID-Configuration unterst&uuml;tzt die Ben&uuml;tzung und Verwaltung unterschiedlicher Benutzeraccounts. Hierf&uuml;r stellt die Web-Oberfl&auml;che des Modules MOA-ID-Configuration ein spezielles Interface zur Benutzerverwaltung zur Verf&uuml;gung. </p>
-<h4><a name="moa_id_config_user_add" id="uebersicht_zentraledatei_aktualisierung15"></a>2.1.4.1 Einen neuen Benutzer erstellen</h4>
+<h5><a name="moa_id_config_user_add" id="uebersicht_zentraledatei_aktualisierung15"></a>2.1.4.1 Einen neuen Benutzer erstellen</h5>
<p>F&uuml;r die Registrierung eins neuen Benutzeraccounts werden folgende Informationen ben&ouml;tigt.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="215" scope="col">Name</th>
- <th width="930" scope="col">Beschreibung</th>
- <th width="80" align="center" scope="col">optional</th>
+ <th >Name</th>
+ <th >Beschreibung</th>
+ <th align="center">Optional</th>
</tr>
<tr>
<td>Vorname</td>
@@ -536,8 +545,8 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/secure/usermanagementInit
<li><strong>Durch PVP 2.1 Login:</strong> Bei dieser Variante wird die Generierung eines neues Benutzeraccounts durch einen Loginversuch mittels B&uuml;rgerkarte oder Handy-Signatur ausgel&ouml;st. Nach erfolgreicher Authentifizierung wird die Benutzerin / der Benutzer an das Konfigurationstool weitergeleitet. Hierbei wird gepr&uuml;ft ob aktuell ein Benutzeraccount f&uuml;r diese Person existiert. Wenn kein Account existiert wird die Benutzerin / der Benutzer aufgefordert die fehlenden Informationen f&uuml;r die Registrierung eines neuen Benutzeraccounts einzutragen. In diesem Fall muss die eMail Adresse durch die Benutzerin / den Benutzer zwingend validiert werden wof&uuml;r der <a href="#moa_id_config_parameters_mail">Mailversand</a> am Module MOA-ID-Configuration konfiguriert sein muss. Nach erfolgreicher Validierung der eMail Adresse ist der Benutzeraccount als nicht aktiv registriert und muss anschlie&szlig;end durch einen Administrator aktiviert werden. Erst nach erfolgreicher Aktivierung ist eine g&uuml;ltige Anmeldung m&ouml;glich.<br>
Sollte die Validierung der eMail Adresse nicht innerhalb des in <a href="#moa_id_config_parameters_generel">Abschnitt 2.2.1.1</a> konfigurierten Zeitraums erfolgen, wird die Benutzeranforderung automatisch gel&ouml;scht und die Benutzerin / der Benutzer muss sich erneut am Konfigurationstool registrieren.</li>
</ol>
-<h4><a name="moa_id_config_user_role" id="uebersicht_zentraledatei_aktualisierung16"></a>2.1.4.2 Benutzerrechte</h4>
-<p>Alle Benutzer die Admin&ndash;Rechte (Eigenschaft <em>admin</em>) besitzen haben vollen Zugriff auf die gesamte Konfiguration der verwalteten MOA-ID-Auth Instanz. Benutzer ohne Admin-Rechten stehen nur folgende Operationen zur Verfügung wobei diese auch besondere Einschränkungen aufweisen können.</p>
+<h5><a name="moa_id_config_user_role" id="uebersicht_zentraledatei_aktualisierung16"></a>2.1.4.2 Benutzerrechte</h5>
+<p>Alle Benutzer die Admin&ndash;Rechte (Eigenschaft <em>admin</em>) besitzen haben vollen Zugriff auf die gesamte Konfiguration der verwalteten MOA-ID-Auth Instanz. Benutzer ohne Admin-Rechten stehen nur folgende Operationen zur Verf\FCgung wobei diese auch besondere Einschr\E4nkungen aufweisen k\F6nnen.</p>
<ul>
<li><strong>Online-Applikationen bearbeiten:</strong> Ein Benutzer ohne Admin-Rechte kann nur jene Online-Applikationen bearbeiten die von ihm erstellt wurden. Das bearbeiten fremder Online-Applikationen ist nicht m&ouml;glich. Folgende Parameter k&ouml;nnen durch diesen Benutzer bearbeitet werden.
<ul>
@@ -557,21 +566,21 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/secure/usermanagementInit
<li><strong>Online Applikation anlegen:</strong> Ein Benutzer ohne Admin-Rechte kann neue Online-Applikationen anlegen. Die Funktionen &bdquo;Online-Applikation aktivieren&ldquo; (siehe <a href="#konfigurationsparameter_oa">Kapitel 3.2</a>: ) steht jedoch nicht zur Verf&uuml;gung. Somit muss die Online-Applikation von einem Benutzer mit Admin-Rechten aktiv geschalten werden. </li>
<li><strong>Benutzerverwaltung:</strong> Ein Benutzer ohne Admin-Rechte kann keine neuen Benutzer erstellen. Dieser kann jedoch seinen Benutzeraccount bearbeiten und gegeben falls l&ouml;schen. Beim L&ouml;schen eines Benutzeraccounts werden Online-Applikationen die von diesem erstellt wurden jedoch nicht automatisch gel&ouml;scht. </li>
</ul>
-<h2><a name="basisconfig_moa_id_auth" id="uebersicht_zentraledatei_aktualisierung2"></a>2.2 MOA-ID-Auth</h2>
+<h3><a name="basisconfig_moa_id_auth" id="uebersicht_zentraledatei_aktualisierung2"></a>2.2 MOA-ID-Auth</h3>
<p>Dieser Abschnitt behandelt die Basiskonfiguration des Modules MOA-ID-Auth. Der erste Teilabschnitt behandelt die Bekanntmachung der Konfigurationsdatei mittels einer System Property und der zweite Teilabschnitt beschreibt die einzelnen Konfigurationsparameter im Detail. Eine Konfiguration die als Ausgangspunkt f&uuml;r die individuelle Konfiguration verwendet werden kann finden Sie <a href="../../conf/moa-id/moa-id.properties">hier</a>.</p>
-<h3><a name="uebersicht_bekanntmachung" id="uebersicht_bekanntmachung"></a>2.2.1 Bekanntmachung der Konfigurationsdatei</h3>
+<h4><a name="uebersicht_bekanntmachung" id="uebersicht_bekanntmachung"></a>2.2.1 Bekanntmachung der Konfigurationsdatei</h4>
<p>Die zentrale Konfigurationsdatei von MOA-ID-Configuration wird der <span class="term">Java Virtual Machine</span>, in der MOA-ID-Configuration l&auml;uft, durch eine <span class="term">System Property </span> mitgeteilt (wird beim Starten der <span class="term">Java Virtual Machine</span> in der Form <code>-D&lt;name&gt;=&lt;wert&gt;</code> gemacht). Der Name der <span class="term">System Property</span> lautet <code>moa.id.webconfig</code> als Wert der <span class="term">System Property</span> ist der Pfad sowie der Name der Konfigurationsdatei im Dateisystem anzugeben, z.B.</p>
<pre>moa.id.configuration=C:/Programme/apache/tomcat-4.1.30/conf/moa-id/moa-id.properties</pre>
<p>Weitere Informationen zum Bekanntmachen der zentralen Konfigurationsdatei f&uuml;r MOA-ID-Auth erhalten Sie in <a href="../install/install.html#webservice_basisinstallation_installation_spssdeploy">Abschnitt 2.1.2.3</a> des Installationshandbuchs.</p>
- <h3><a name="basisconfig_moa_id_auth_param" id="uebersicht_bekanntmachung2"></a>2.2.2 Konfigurationsparameter</h3>
+ <h4><a name="basisconfig_moa_id_auth_param" id="uebersicht_bekanntmachung2"></a>2.2.2 Konfigurationsparameter</h4>
<p>Aus Gr&uuml;nden der &Uuml;bersichtlichkeit werden die einzelnen Konfigurationsparameter in logisch zusammenh&auml;ngende Bl&ouml;cke unterteilt.</p>
-<h4><a name="basisconfig_moa_id_auth_param_general" id="uebersicht_bekanntmachung4"></a>2.2.2.1 Allgemeine Konfigurationsparameter</h4>
+<h5><a name="basisconfig_moa_id_auth_param_general" id="uebersicht_bekanntmachung4"></a>2.2.2.1 Allgemeine Konfigurationsparameter</h5>
<p>Die folgenden Konfigurationsparameter sind optional und m&uuml;ssen nicht zwingend angegeben werden. Im Falle eines produktiven Betriebs von MOA-ID-Auth wird jedoch die Angabe eines Schl&uuml;ssels zur verschl&uuml;sselten Speicherung der Session Daten in der Datenbank dringend empfohlen. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="126" scope="col">Beispielwert</th>
- <th width="827" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>configuration.moasession.key</td>
@@ -620,15 +629,15 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/secure/usermanagementInit
<pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<p>Nach einem erfolgreichen Testdurchlauf Antwortet das Monitoring mit einen http Statuscode 200 und der oben definierten Statusmeldung aus dem Parameter <em>configuration.monitoring.message.success</em>. Im Falle eines Fehlers antwortet das Monitoring mit einem http Statuscode 500 und die Statusmeldung enth&auml;lt eine Beschreibung des aufgetretenen Fehlers.</p>
-<h4><a name="basisconfig_moa_id_auth_param_services" id="uebersicht_bekanntmachung5"></a>2.2.2.2 Externe Services</h4>
+<h5><a name="basisconfig_moa_id_auth_param_services" id="uebersicht_bekanntmachung5"></a>2.2.2.2 Externe Services</h5>
<p>F&uuml;r den Aufbau von Verbindungen zu anderen Komponenten werden in manchen F&auml;llen spezielle Client-Zertifikate oder Sicherheitseinstellungen ben&ouml;tigt. In diesem Abschnitt erfolgt die Konfiguration der f&uuml;r den Verbindungsaufbau ben&ouml;tigten Parameter. Die Konfiguration der URL zum jeweiligen Service wird jedoch &uuml;ber die Web-Oberfl&auml;che des Modules MOA-ID-Configuration vorgenommen (siehe <a href="#konfigurationsparameter_allgemein_services">Kapitel 3.1.7</a>).</p>
-<h5><a name="basisconfig_moa_id_auth_param_services_moasp" id="uebersicht_bekanntmachung6"></a>2.2.2.2.1 MOA-SP</h5>
+<h6><a name="basisconfig_moa_id_auth_param_services_moasp" id="uebersicht_bekanntmachung6"></a>2.2.2.2.1 MOA-SP</h6>
<p>Wird MOA-SP &uuml;ber ein Web-Service, welches Client Authentifizierung voraussetzt, angesprochen m&uuml;ssen in diesem Abschnitt die erforderlichen Schl&uuml;ssel hinterlegt werden.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="147" scope="col">Beispielwert</th>
- <th width="806" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>service.moasp.clientKeyStore</td>
@@ -647,13 +656,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</tr>
</table>
<p>&nbsp;</p>
-<h5><a name="basisconfig_moa_id_auth_param_services_mandates" id="uebersicht_bekanntmachung7"></a>2.2.2.2.2 Online-Vollmachen</h5>
+<h6><a name="basisconfig_moa_id_auth_param_services_mandates" id="uebersicht_bekanntmachung7"></a>2.2.2.2.2 Online-Vollmachen</h6>
<p>MOA-ID-Auth bietet die M&ouml;glichkeit der Nutzung von Online-Vollmachten f&uuml;r Anwendungen aus dem &ouml;ffentlichen Bereich. Hierf&uuml;r ist ein Online-Vollmachten-Service n&ouml;tig, wobei die Zugangsdaten zum Online-Vollmachten-Service konfiguriert werden m&uuml;ssen. Der Zugang zum Online-Vollmachten-Service ein Client-Zertifikat f&uuml;r die SSL-Verbindung zum Service. Voraussetzung daf&uuml;r ist ein Zertifikat von A-Trust bzw. A-CERT mit Verwaltungseigenschaft oder Dienstleistereigenschaft. Wenn ihr MOA-ID-Auth Zertifikat diese Voraussetzung erf&uuml;llt, k&ouml;nnen Sie dieses hier angeben. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="147" scope="col">Beispielwert</th>
- <th width="806" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>service.onlinemandates.clientKeyStore</td>
@@ -672,13 +681,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</tr>
</table>
<p>&nbsp;</p>
-<h5><a name="basisconfig_moa_id_auth_param_services_foreign" id="uebersicht_bekanntmachung8"></a>2.2.2.2.3 Foreign Identities</h5>
+<h6><a name="basisconfig_moa_id_auth_param_services_foreign" id="uebersicht_bekanntmachung8"></a>2.2.2.2.3 Foreign Identities</h6>
<p>MOA-ID-Auth bietet die M&ouml;glichkeit der Nutzung von ausl&auml;ndischen Karten oder die Anmeldung ausl&auml;ndischer Personen mittels STORK. Hierf&uuml;r ist eine Verbindung zum Stammzahlenregister-Gateway n&ouml;tig, das einen entsprechenden Zugang zum Stammzahlenregister bereitstellt. F&uuml;r diesen Zugriff muss das Client-Zertifikat f&uuml;r die SSL-Verbindung zum Gateway angegeben werden. Voraussetzung daf&uuml;r ist ein Zertifikat von A-Trust bzw. A-CERT mit Verwaltungseigenschaft oder Dienstleistereigenschaft. Wenn ihr MOA-ID-Auth Zertifikat diese Voraussetzung erf&uuml;llt, k&ouml;nnen Sie dieses hier angeben.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="147" scope="col">Beispielwert</th>
- <th width="806" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>service.foreignidentities.clientKeyStore</td>
@@ -697,14 +706,14 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</tr>
</table>
<p>&nbsp;</p>
-<h4><a name="basisconfig_moa_id_auth_param_protocol" id="uebersicht_bekanntmachung9"></a>2.2.2.3 Protokolle</h4>
+<h5><a name="basisconfig_moa_id_auth_param_protocol" id="uebersicht_bekanntmachung9"></a>2.2.2.3 Protokolle</h5>
<p>MOA-ID-Auth unterst&uuml;tzt mehrere Authentifizierungsprotokolle. Manche dieser Protokolle ben&ouml;tigen Schl&uuml;ssel zur Signierung von Authentifizierungsdaten oder Metadaten. In diesem Abschnitt erfolgt die Konfiguration des zu verwendeten Schl&uuml;sselmaterials. </p>
-<h5><a name="basisconfig_moa_id_auth_param_protocol_pvp21" id="uebersicht_bekanntmachung10"></a>2.2.2.3.1 PVP 2.1</h5>
-<table width="1247" border="1">
+<h6><a name="basisconfig_moa_id_auth_param_protocol_pvp21" id="uebersicht_bekanntmachung10"></a>2.2.2.3.1 PVP 2.1</h6>
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="147" scope="col">Beispielwert</th>
- <th width="806" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>protocols.pvp2.idp.ks.file</td>
@@ -748,44 +757,44 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</tr>
</table>
<p>&nbsp;</p>
-<h5><a name="basisconfig_moa_id_auth_param_protocol_openid" id="uebersicht_bekanntmachung11"></a>2.2.2.3.2 OpenID Connect</h5>
-<table width="1247" border="1">
+<h6><a name="basisconfig_moa_id_auth_param_protocol_openid" id="uebersicht_bekanntmachung11"></a>2.2.2.3.2 OpenID Connect</h6>
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="147" scope="col">Beispielwert</th>
- <th width="806" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
- <td>protocols.oauth20.jwt.ks.file</td>
+ <td>protocols.oauth30.jwt.ks.file</td>
<td>keys/moa_idp[password].p12</td>
<td>Dateiname des Java Keystore oder PKCS12 Keystore zur Signierung des OpenID Connect <em>id_token</em></td>
</tr>
<tr>
- <td>protocols.oauth20.jwt.ks.password=</td>
+ <td>protocols.oauth30.jwt.ks.password=</td>
<td>passsword</td>
<td>Passwort zum Keystore</td>
</tr>
<tr>
- <td>protocols.oauth20.jwt.ks.key.name</td>
+ <td>protocols.oauth30.jwt.ks.key.name</td>
<td>pvp_assertion</td>
<td>Name des Schl&uuml;ssels der zum Signieren des <em>id_tokens</em> verwendet wird</td>
</tr>
<tr>
- <td>protocols.oauth20.jwt.ks.key.password</td>
+ <td>protocols.oauth30.jwt.ks.key.password</td>
<td>pasword</td>
<td>Password des Schl&uuml;ssels der zum Signieren des <em>id_tokens</em> verwendet wird</td>
</tr>
</table>
<p>&nbsp;</p>
- <h4><a name="basisconfig_moa_id_auth_param_database" id="uebersicht_bekanntmachung3"></a>2.2.2.4 Datenbank </h4>
+ <h5><a name="basisconfig_moa_id_auth_param_database" id="uebersicht_bekanntmachung3"></a>2.2.2.4 Datenbank </h5>
<p>Das Modul MOA-ID-Auth ben&ouml;tigt f&uuml;r den Betrieb zwei (optional drei) separate Datenbank Schema, welche in der Basiskonfiguration konfiguriert werden. F&uuml;r Beispielkonfiguration wurde mySQL als Datenbank verwendet wodurch sich die Konfigurationsparameter auf mySQL beziehen. Das Modul MOA-ID-Auth kann jedoch auch mit Datenbanken anderer Hersteller oder einer InMemory Datenbank betrieben werden. Hierf&uuml;r wird jedoch auf die <a href="http://docs.jboss.org/hibernate/core/4.2/manual/en-US/html/">Hibernate Dokumention</a> verwiesen. </p>
-<h5><a name="basisconfig_moa_id_auth_param_database_conf" id="uebersicht_bekanntmachung12"></a>2.2.2.4.1 Konfiguration</h5>
+<h6><a name="basisconfig_moa_id_auth_param_database_conf" id="uebersicht_bekanntmachung12"></a>2.2.2.4.1 Konfiguration</h6>
<p>Alle Parameter aus der Basiskonfiguration welche als Prefix <em>configuration.hibernate</em>. im Parameternamen aufweisen konfigurieren den Zugriff auf das Datenbank Schema welches die Konfiguration von MOA-ID-Auth beinhaltet. Eine Konfiguration dieser Parameter ist nicht optional.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="281" scope="col">Name</th>
- <th width="261" scope="col">Beispielwert</th>
- <th width="683" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>configuration.hibernate.dialect</td>
@@ -814,13 +823,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</tr>
</table>
<p>&nbsp;</p>
- <h5><a name="basisconfig_moa_id_auth_param_database_session" id="uebersicht_bekanntmachung13"></a>2.2.2.4.2 Session Informationen</h5>
+ <h6><a name="basisconfig_moa_id_auth_param_database_session" id="uebersicht_bekanntmachung13"></a>2.2.2.4.2 Session Informationen</h6>
<p>Alle Parameter aus der Basiskonfiguration welche als Prefix <em>moasession.hibernate</em>. im Parameternamen aufweisen konfigurieren den Zugriff auf das Datenbank Schema in welchem MOA-ID-Auth die Session Informationen tempor&auml;r ablegt. Eine Konfiguration dieser Parameter ist nicht optional.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="281" scope="col">Name</th>
- <th width="261" scope="col">Beispielwert</th>
- <th width="683" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>moasession.hibernate.dialect</td>
@@ -848,13 +857,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<td>Passwort f&uuml;r den Zugriff auf das Datenbank Schema</td>
</tr>
</table>
-<h5><a name="basisconfig_moa_id_auth_param_database_info" id="uebersicht_bekanntmachung14"></a>2.2.2.4.3 Statistikdaten</h5>
+<h6><a name="basisconfig_moa_id_auth_param_database_info" id="uebersicht_bekanntmachung14"></a>2.2.2.4.3 Statistikdaten</h6>
<p>Alle Parameter aus der Basiskonfiguration welche als Prefix <em>advancedlogging.hibernate</em>. im Parameternamen aufweisen konfigurieren den Zugriff auf das Datenbank Schema welches die Konfiguration von MOA-ID-Auth beinhaltet. Eine Konfiguration dieser Parameter ist nur erforderlich wenn <em>configuration.advancedlogging.active</em> auf <em>true</em> gesetzt wird. (siehe <a href="#basisconfig_moa_id_auth_param_general">Kapitel 2.2.2.1</a>)</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="281" scope="col">Name</th>
- <th width="261" scope="col">Beispielwert</th>
- <th width="683" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>advancedlogging.hibernate.dialect</td>
@@ -884,13 +893,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</table>
<p>&nbsp;</p>
<p>Die Beispielkonfiguration beinhaltet noch zus&auml;tzliche Konfigurationsparameter f&uuml;r den Datenbankzugriff der einzelnen Schema welche direkt aus der Beispielkonfiguration &uuml;bernommen werden k&ouml;nnen. Eine detaillierte Beschreibung der einzelnen Einstellungsparameter kann der <a href="http://docs.jboss.org/hibernate/core/4.2/manual/en-US/html/">Hibernate Dokumention</a> entnommen werden.</p>
-<h4><a name="basisconfig_moa_id_auth_param_testing" id="uebersicht_bekanntmachung15"></a>2.2.2.5 Testing</h4>
+<h5><a name="basisconfig_moa_id_auth_param_testing" id="uebersicht_bekanntmachung15"></a>2.2.2.5 Testing</h5>
<p>Diese Parameter dienen auf Testsystemen zur Deaktivierung einzelner Verarbeitungs- oder Pr&uuml;fschritte. Standardm&auml;&szlig;ig ist jeweils die sichere Variante aktiviert.</p>
- <table width="1247" border="1">
+ <table class="configtable">
<tr>
- <th width="281" scope="col">Name</th>
- <th width="261" scope="col">Beispielwert</th>
- <th width="683" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>configuration.validation.certificate.QC.ignore</td>
@@ -899,20 +908,26 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<p><strong>Defaultwert:</strong> false</p></td>
</tr>
<tr>
+ <td>protocols.pvp2.schemavalidation</td>
+ <td>true / false</td>
+ <td><p>Mit diesem Parameter kann die Schemavalidierung f&uuml;r PVP Metadaten deaktiviert werden.</p>
+ <strong>Defaultwert:</strong> true</td>
+ </tr>
+ <tr>
<td>protocols.pvp2.assertion.encryption.active</td>
<td>true / false</td>
<td><p>Mit diesem Parameter kann die Verschl&uuml;sselung der PVP2.1 Assertion f&uuml;r diese MOA-ID-Auth Instanz vollst&auml;ndig deaktiviert werden.</p>
<p><strong>Defaultwert:</strong> true</p></td>
</tr>
</table>
- <h4><a name="basisconfig_moa_id_auth_szrclient" id="uebersicht_bekanntmachung16"></a>2.2.2.6 SZR Client f&uuml;r STORK &lt;-&gt; PVP Gateway Betrieb</h4>
+ <h5><a name="basisconfig_moa_id_auth_szrclient" id="uebersicht_bekanntmachung16"></a>2.2.2.6 SZR Client f&uuml;r STORK &lt;-&gt; PVP Gateway Betrieb</h5>
<p>Die Konfiguration des Stammzahlenregister (SZR) Clients ist nur erforderlich wenn das Modul MOA-ID-Auth als STORK &lt;-&gt; PVP Gateway betrieben wird. Da in diesem Fall die Benutzerin oder der Benutzer &uuml;ber ein PVP Stammportal authentifiziert wird ist eine direkte Generierung der STORK eID w&auml;hrend des Anmeldevorgangs nicht m&ouml;glich. Somit erfolgt f&uuml;r diese Personen einen Stammzahlenregisterabfrage zur Bestimmung der STORK eID.</p>
<p>F&uuml;r den in MOA-ID-Auth verwendeten SZR Client sind folgende Konfigurationsparameter erforderlich.</p>
- <table width="1247" border="1">
+ <table class="configtable">
<tr>
- <th width="281" scope="col">Name</th>
- <th width="261" scope="col">Beispielwert</th>
- <th width="683" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>service.egovutil.szr.test</td>
@@ -1029,19 +1044,51 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</table>
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Detaillierte Informationen zu den einzelnen PVP spezifischen Konfigurationsparametern finden Sie in der entsprechenden PVP Spezifikation.</p>
-<h2><a name="uebersicht_logging" id="uebersicht_logging"></a>2.3 Konfiguration des Loggings</h2>
+ <h5><a name="basisconfig_moaid_stork2" id="uebersicht_bekanntmachung17"></a>2.2.2.6 STORK 2</h5>
+ <p>Dieses Abschnitt beschreibt Konfigurationswerte welche nur f&uuml;r den <strong>Testbetrieb von STORK 2</strong> erforderlich sind.</p>
+ <table class="configtable">
+ <tr>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
+ </tr>
+ <tr>
+ <td>stork.fakeIdL.active</td>
+ <td>true / false</td>
+ <td><p>Im Produktivbetrieb ist eine Anmeldung nur f&uuml;r jene L&auml;nder mittels STORK 2 m&ouml;glich welche in der <em>Gleichwertigkeitsverordnung</em> aufgelistet sind. Um einen Testbetrieb mit weiteren L&auml;ndern zu erm&ouml;glichen bietet das Modul MOA-ID-Auth die M&ouml;glichkeit zur Ausstellung eines Fake-Identititlink, welcher im Testbetrieb f&uuml;r die Anmeldung an einer &ouml;sterreichischen Test Online Applikation verwendet werden kann.</p>
+ <p><strong>Hinweis:</strong> Diese Funktion ist standardm&auml;&szlig;ig <strong>deaktiviert</strong>. Eine Aktivierung ist nur im Testbetrieb f&uuml;r STORK 2 empfohlen.</p></td>
+ </tr>
+ <tr>
+ <td>stork.fakeIdL.countries</td>
+ <td>DE,CH</td>
+ <td>K&uuml;rzel jener L&auml;nder f&uuml;r welche ein Fake-Identitilink ausgestellt werden soll.</td>
+ </tr>
+ <tr>
+ <td>stork.fakeIdL.keygroup</td>
+ <td>IDL_signing</td>
+ <td>MOA-SS Schl&uuml;sselgruppe, welche f&uuml;r die Signatur des Fake-Identitilinks verwendet werden soll.</td>
+ </tr>
+ <tr>
+ <td>stork.documentservice.url</td>
+ <td>http://testvidp.buergerkarte.at/<br>
+ DocumentService/DocumentService?wsdl</td>
+ <td>URL zum STORK 2 Dokumentenservice</td>
+ </tr>
+ </table>
+ <p>&nbsp;</p>
+<h3><a name="uebersicht_logging" id="uebersicht_logging"></a>2.3 Konfiguration des Loggings</h3>
<p>Die Module MOA-ID-Auth und MOA-ID-Configuration verwendet als Framework f&uuml;r Logging-Information die Open Source Software <code>log4j</code>. Die Konfiguration der Logging-Information erfolgt nicht direkt durch die einzelnen Module, sondern &uuml;ber eine eigene Konfigurationsdatei, die der <span class="term">Java Virtual Machine</span> durch eine <span class="term">System Property </span> mitgeteilt wird. Der Name der <span class="term">System Property </span> lautet <code>log4j.configuration</code>; als Wert der <span class="term">System Property </span> ist eine URL anzugeben, die auf die <code>log4j</code>-Konfigurationsdatei verweist, z.B. </p>
<pre>log4j.configuration=file:/C:/Programme/apache/tomcat-4.1.30/conf/moa-id/log4j.properties</pre>
Weitere Informationen zur Konfiguration des Loggings erhalten Sie in <a href="../install/install.html#webservice_basisinstallation_logging">Abschnitt 2.1.3</a> des Installationshandbuchs.
<p></p>
-<h2><a name="uebersicht_samlengine" id="uebersicht_samlengine"></a>2.4 Konfiguration des SamlEngines</h2>
-<p>Für die Untestützung des STORK2 Protokols verwendet MOA-ID eine zusätzliche Bibliothek, die über gesonderte Dateien konfiguriert wird. Diese Dateien sind unter einem Verzeichnis gespeichert, das sich üblicherweise im MOA-ID-Auth Konfigurationsverzeichnis befindet. Der Name der <span class="term">System Property </span> lautet <code>eu.stork.samlengine.config.location</code>; als Wert der <span class="term">System Property </span> ist das Verzeichnis anzugeben, wo die entsprechende SamlEngine Konfigurationsdateien gespeichert werden, z.B. </p>
+<h3><a name="uebersicht_samlengine" id="uebersicht_samlengine"></a>2.4 Konfiguration des SamlEngines</h3>
+<p>F\FCr die Untest\FCtzung des STORK2 Protokols verwendet MOA-ID eine zus\E4tzliche Bibliothek, die \FCber gesonderte Dateien konfiguriert wird. Diese Dateien sind unter einem Verzeichnis gespeichert, das sich \FCblicherweise im MOA-ID-Auth Konfigurationsverzeichnis befindet. Der Name der <span class="term">System Property </span> lautet <code>eu.stork.samlengine.config.location</code>; als Wert der <span class="term">System Property </span> ist das Verzeichnis anzugeben, wo die entsprechende SamlEngine Konfigurationsdateien gespeichert werden, z.B. </p>
<pre>eu.stork.samlengine.config.location=file:/C:/Programme/apache/tomcat-4.1.30/conf/moa-id/conf/moa-id/stork</pre>
<p>Dieses Verzeichnis muss mindestens folgende Dateien enthalten:</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="141" scope="col">Datei</th>
- <th width="583" scope="col">Beschreibung</th>
+ <th>Datei</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>SamlEngine.xml</td>
@@ -1049,10 +1096,10 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</tr>
<tr>
<td>StorkSamlEngine_<span class="term">XXX</span>.xml</td>
- <td>Enthält allgemeine Konfigurationsparametern einer spezifischen Instanz des SamlEngines.</td>
+ <td>Enth\E4lt allgemeine Konfigurationsparametern einer spezifischen Instanz des SamlEngines.</td>
</tr> <tr>
<td>SignModule_<span class="term">XXX</span>.xml</td>
- <td>Enthält Konfigurationsparametern für Trust- und Keystore einer spezifischen Instanz des SamlEngines.</td>
+ <td>Enth\E4lt Konfigurationsparametern f\FCr Trust- und Keystore einer spezifischen Instanz des SamlEngines.</td>
</tr>
</table>
<p></p>
@@ -1079,7 +1126,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
&lt;/instances&gt;
</pre>
<p>In diesem Beispiel ist nur eine Instanz <em>VIDP</em> definiert deren spezifischen Parametern in zwei Konfigurationsdateien aufgeteilt werden.</p>
-<p>Die Datei <span class="strongerterm">StorkSamlEngine_VIDP.xml</span> enthält STORK-spezifische Parameter, die im Normalbetrieb nicht geändert werden m&uuml;ssen. Die zweite Datei, <span class="strongerterm">SignModule_VIDP.xml</span>, definiert den von der SamlEngine verwendeten Trust- und Keystore. Die Beispielkonfiguration dieser Datei sieht wie folgendes:</p>
+<p>Die Datei <span class="strongerterm">StorkSamlEngine_VIDP.xml</span> enth\E4lt STORK-spezifische Parameter, die im Normalbetrieb nicht ge\E4ndert werden m&uuml;ssen. Die zweite Datei, <span class="strongerterm">SignModule_VIDP.xml</span>, definiert den von der SamlEngine verwendeten Trust- und Keystore. Die Beispielkonfiguration dieser Datei sieht wie folgendes:</p>
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE properties SYSTEM &quot;http://java.sun.com/dtd/properties.dtd&quot;&gt;
@@ -1094,52 +1141,53 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
&lt;entry key=&quot;keystoreType&quot;&gt;JKS&lt;/entry&gt;
&lt;/properties&gt;
</pre>
-<p>Diese Parameter m&uuml;ssen bei der Installation angepasst werden, um die Zugriff an Keystore und die Schlüssel zu ermöglichen. Die einzelne Parameter werden in folgender Tabelle erl&auml;utert:</p><table width="1247" border="1">
+<p>Diese Parameter m&uuml;ssen bei der Installation angepasst werden, um die Zugriff an Keystore und die Schl\FCssel zu erm\F6glichen. Die einzelne Parameter werden in folgender Tabelle erl&auml;utert:</p>
+<table class="configtable">
<tr>
- <th width="121" scope="col">Name</th>
- <th width="683" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>keystorePath</td>
- <td>Keystore mit Schlüssel und Zertifikaten welche für das Signieren und Verschlüsseln von STORK Nachrichten verwendet werden sollen. </td>
+ <td>Keystore mit Schl\FCssel und Zertifikaten welche f\FCr das Signieren und Verschl\FCsseln von STORK Nachrichten verwendet werden sollen. </td>
</tr>
<tr>
<td>keyStorePassword</td>
- <td>Passwort des Keystores. Keystore soll den Schlüssel für das Signieren von Nachrichten enthalten, ebenso wie die vertrauenswürdige Zertifikate von anderen Parteien, wie z.B. ausländische PEPSes. </td>
+ <td>Passwort des Keystores. Keystore soll den Schl\FCssel f\FCr das Signieren von Nachrichten enthalten, ebenso wie die vertrauensw\FCrdige Zertifikate von anderen Parteien, wie z.B. ausl\E4ndische PEPSes. </td>
</tr>
<tr>
<td>keyPassword</td>
- <td>Password des Schlüssels, der für das Signieren der STORK Nachrichten verwendet werden soll.</td>
+ <td>Password des Schl\FCssels, der f\FCr das Signieren der STORK Nachrichten verwendet werden soll.</td>
</tr>
<tr>
<td>issuer</td>
- <td>Issuer des Keypairs, der für das Signieren der STORK Nachrichten verwendet werden soll.</td>
+ <td>Issuer des Keypairs, der f\FCr das Signieren der STORK Nachrichten verwendet werden soll.</td>
</tr>
<tr>
<td>serialNumber</td>
- <td>Nummer des Keypairs, der für das Signieren der STORK Nachrichten verwendet werden soll.</td>
+ <td>Nummer des Keypairs, der f\FCr das Signieren der STORK Nachrichten verwendet werden soll.</td>
</tr>
<tr>
<td>keystoreType</td>
- <td>Typ und Format des Keystores. <span class="term">JKS</span> steht für <span class="term">Java Key Store</span>.</td>
+ <td>Typ und Format des Keystores. <span class="term">JKS</span> steht f\FCr <span class="term">Java Key Store</span>.</td>
</tr>
</table>
-<h1><a name="konfigurationsparameter"></a>3 Konfiguration MOA-ID-Auth</h1>
+<h2><a name="konfigurationsparameter"></a>3 Konfiguration MOA-ID-Auth</h2>
<p>Dieser Abschnitt beschreibt die Konfiguration des Modules MOA-ID-Auth mithilfe der durch das Modul MOA-ID-Configuration zur Verf&uuml;gung gestellten Web-Oberfl&auml;che. Hierzu muss das Konfigurationstool (Module MOA-ID-Konfiguration) bereits installiert und konfiguriert sein (siehe <a href="#uebersicht_zentraledatei_aktualisierung">Kapitel 2.1</a>). Nach erfolgreichem Login am Konfigurationstool kann das Modul MOA-ID-Auth &uuml;ber die Web-Oberfl&auml;che konfiguriert werden.</p>
<p>Die Konfiguration von MOA-ID-Auth ist in zwei Teilbereiche unterteilet. Diese behandeln die Allgemeine Konfiguration der MOA-ID-Auth Instanz und die Konfiguration von Online-Applikationen (Service Providern) welche dieser MOA-ID-Auth Instanz zugeordnet sind.</p>
-<h2><a name="konfigurationsparameter_allgemein" id="konfigurationsparameter_allgemein"></a>3.1
- Allgemeine Konfiguration</h2>
+<h3><a name="konfigurationsparameter_allgemein" id="konfigurationsparameter_allgemein"></a>3.1
+ Allgemeine Konfiguration</h3>
<p>Die Allgemeine Konfiguration des Modules MOA-ID-Auth umfasst alle nicht online-applikationsspezifischen Konfigurationsparameter. Die Konfiguration dieser Parameter erfolgt &uuml;ber eine Web-Oberfl&auml;che, welche Eingabefelder f&uuml;r jeden Konfigurationsparameter zur Verf&uuml;gung stellt. Jedes Eingabefeld wird validiert bevor der Konfigurationsparameter in der Datenbank gespeichert wird. Die Validierung erfolgt auf Basis des zu erwartenden Eingabewerts, wobei der erlaubte Zeichensatz f&uuml;r freidefinierbare textuelle Eingabefelder eingeschr&auml;nkt sein kann. Detailinformationen zum erlaubten Zeichen finden Sie bei der jeweiligen Beschreibung des Konfigurationsparameters. </p>
<p>Eine &Auml;nderung (Speicherung) an der allgemeinen Konfiguration wirkt sich nicht umgehend auf die zugeordnete MOA-ID-Auth Instanz aus, sondern erfolgt mit zeitlicher Verz&ouml;gerung. Die zeitliche Verz&ouml;gerung betr&auml;gt jedoch maximal eine Minute. Dass die ge&auml;nderte MOA-ID-Auth Konfiguration in der zugeordneten Instanz geladen wurde ist durch folgende Log Meldungen erkennbar.</p>
<pre>INFO | 19 10:25:23,179 | ConfigurationLoader | check for new config.<br>INFO | 19 10:25:23,189 | ConfigurationLoader | Read MOA-ID 2.0 configuration from database.<br>INFO | 19 10:25:23,192 | ConfigurationLoader | MOA-ID 2.0 is loaded.</pre>
<p>Nachfolgend finden Sie die Detailbeschreibung aller allgemeinen Konfigurationsparameter.</p>
-<h3><a name="konfigurationsparameter_allgemein_publicurlprefix" id="konfigurationsparameter_allgemein_bku17"></a>3.1.1 Public URL Prefix</h3>
+<h4><a name="konfigurationsparameter_allgemein_publicurlprefix" id="konfigurationsparameter_allgemein_bku17"></a>3.1.1 Public URL Prefix</h4>
<p>Dieser Parameter definiert den Public URL Prefix unter welchem die MOA-ID Instanz erreichbar ist. Die Konfiguration dieses Parameters ist verpflichtend.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="119" scope="col">Name</th>
- <th width="263" scope="col">Beispielwerte</th>
- <th width="843" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwerte</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadGeneralConfig_moaconfig_ssoPublicUrl2">Public URL Prefix</span></td>
@@ -1147,13 +1195,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<td>URL-Prefix der MOA-ID Instanz. Diese URL wird f&uuml;r die automatische Generierung von Formularen und Informationen verwendet und MUSS konfiguriert werden.</td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_bku" id="konfigurationsparameter_allgemein_bku"></a>3.1.2 Default BKUs</h3>
+<h4><a name="konfigurationsparameter_allgemein_bku" id="konfigurationsparameter_allgemein_bku"></a>3.1.2 Default BKUs</h4>
<p>Hiermit werden die URLs zu den Default B&uuml;rgerkartenumgebungen (BKUs) definiert die von MOA-ID-Auth f&uuml;r einen Anmeldevorgang verwendet werden, wenn die B&uuml;rgerkartenauswahl nicht bereits auf Seiten der Online-Applikation erfolgt ist (siehe <a href="./../protocol/protocol.html#allgemeines_legacy">Legacy Request</a>) oder in der Online-Applikationskonfiguration keine BKU URLs konfiguriert wurden (siehe <a href="#konfigurationsparameter_oa_bku">Kapitel 3.2.2</a>).</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="89" scope="col">Name</th>
- <th width="314" scope="col">Beispielwert</th>
- <th width="822" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Online BKU</td>
@@ -1171,15 +1219,15 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<td>URL auf die lokale BKU Instanz</td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_sl-templates" id="konfigurationsparameter_allgemein_bku2"></a>3.1.3 Security-Layer Request Templates</h3>
+<h4><a name="konfigurationsparameter_allgemein_sl-templates" id="konfigurationsparameter_allgemein_bku2"></a>3.1.3 Security-Layer Request Templates</h4>
<p>Security-Layer (SL) Templates dienen der Kommunikation mit der gew&auml;hlten B&uuml;rgerkartenumgebung. Die hier hinterlegen SL-Templates werden f&uuml;r die Kommunikation mit der jeweiligen BKU verwendet. N&auml;here Details zum Aufbau dieser SL-Templates finden Sie im <a href="#import_template_sltemplate">Kapitel 4.3</a>. </p>
<p>Die Lage der Templates wird in Form einer URL beschrieben, wobei sowohl lokale Referenzen als der Bezug &uuml;ber http(s) m&ouml;glich sind. Relative Pfadangaben werden dabei relativ zum Verzeichnis, in dem sich die MOA-ID-Auth Basiskonfigurationsdatei befindet, interpretiert. Bei Templates die &uuml;ber das Protokoll https referenziert werden, muss vor dem Start des Tomcat ein Truststore angegeben werden, das die notwendigen vertrauensw&uuml;rdigen Zertifikate enth&auml;lt.</p>
<p><strong>Hinweis:</strong> Diese hier definierten Templates dienen als zus&auml;tzliche WhiteList f&uuml;r Templates welche im &bdquo;StartAuthentication&ldquo; Request mit dem Parameter &bdquo;template&ldquo; &uuml;bergeben werden. Sollte im &bdquo;StartAuthentication&ldquo; Request der Parameter &bdquo;template&ldquo; fehlen, es wurde jedoch eine &bdquo;bkuURL&ldquo; &uuml;bergeben, dann wird f&uuml;r den Authentifizierungsvorgang ein bei der <a href="#konfigurationsparameter_oa_bku">Online Applikation konfiguriertes Tempalte</a> oder als Backup das erste Template in dieser Liste verwendet. Detailinformationen zum <a href="./../protocol/protocol.html#allgemeines_legacy">Legacy Request</a> finden Sie im Kapitel Protokolle.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="89" scope="col">Name</th>
- <th width="314" scope="col">Beispielwert</th>
- <th width="822" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Online BKU</td>
@@ -1197,13 +1245,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<td>SL Template zur Kommunikation mit einer lokalen BKU Instanz</td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_certvalidation" id="konfigurationsparameter_allgemein_bku3"></a>3.1.4 Zertifikatspr&uuml;fung</h3>
+<h4><a name="konfigurationsparameter_allgemein_certvalidation" id="konfigurationsparameter_allgemein_bku3"></a>3.1.4 Zertifikatspr&uuml;fung</h4>
<p>Dieser Bereich behandelt die allgemeine Einstellungen zur Zertifikatspr&uuml;fung und die Konfiguration von vertrauensw&uuml;rdigen Zertifikaten.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="89" scope="col">Name</th>
- <th width="314" scope="col">Beispielwert</th>
- <th width="822" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>CertStoreDirecorty</td>
@@ -1227,12 +1275,12 @@ Checking</td>
<td>ChainingMode definiert, ob bei der Zertifikatspfad-&uuml;berpr&uuml;fung das Kettenmodell (&quot;chaining&quot;) oder das Modell nach PKIX RFC 3280 (&quot;pkix&quot;) verwendet werden soll. </td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_timeouts" id="konfigurationsparameter_allgemein_bku4"></a>3.1.5 Session TimeOuts</h3>
-<table width="1247" border="1">
+<h4><a name="konfigurationsparameter_allgemein_timeouts" id="konfigurationsparameter_allgemein_bku4"></a>3.1.5 Session TimeOuts</h4>
+<table class="configtable">
<tr>
- <th width="174" scope="col">Name</th>
- <th width="130" scope="col">Beispielwert [sec]</th>
- <th width="921" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert [sec]</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Anmeldedaten</td>
@@ -1255,14 +1303,14 @@ Checking</td>
<td>Gibt die Zeitspanne in Sekunden an, die eine Single Sign-On (SSO) Session seit dem letzten Zugriff (Anmeldevorgang) ausgehend g&uuml;ltig ist. Nach Ablauf dieser Zeitspanne muss sich die Benutzerin oder der Benutzer bei einer erneuten Anmeldung neu authentifizieren.</td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_moasp" id="konfigurationsparameter_allgemein_bku5"></a>3.1.6 MOA-SP</h3>
+<h4><a name="konfigurationsparameter_allgemein_moasp" id="konfigurationsparameter_allgemein_bku5"></a>3.1.6 MOA-SP</h4>
<p>Der Abschnitt MOA-SP Konfiguration enth&auml;lt Parameter zur Nutzung von MOA-SP. MOA-SP wird f&uuml;r die &Uuml;berpr&uuml;fung der Signatur der Personenbindung und des AUTH-Blocks verwendet.</p>
<p>MOA-SP muss entsprechend konfiguriert werden - siehe hierzu Abschnitt <a href="#sp-config"> Konfiguration von MOA-SP</a>. Alle Details zur Konfiguration von MOA-SP finden sie in der Distribution von MOA-SP/SS beiliegenden Dokumentation im Abschnitt 'Konfiguration'. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="164" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="893" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Personenbindung Trustprofil</td>
@@ -1286,13 +1334,13 @@ Checking</td>
<strong>Hinweis:</strong> Wird kein <em>MOA-SP Service URL</em> angegeben so wird eine MOA-ID beiliegende Version von MOA-SP direkt &uuml;ber das Java-API angesprochen. In diesem Fall muss das System-Property auf die verwendete Konfigurationsdatei von MOA-SP gesetzt werden. Eine beispielhafte MOA-SP Konfigurationsdatei ist in <em>$MOA_ID_INST_AUTH/conf/moa-spss/SampleMOASPSSConfiguration.xml </em>enthalten. </td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_services" id="konfigurationsparameter_allgemein_bku6"></a>3.1.7 Externe Services</h3>
+<h4><a name="konfigurationsparameter_allgemein_services" id="konfigurationsparameter_allgemein_bku6"></a>3.1.7 Externe Services</h4>
<p>Hiermit werden die URLs zum Online-Vollmachten Service und zum SZR-Gateway konfiguriert. Die Konfiguration der f&uuml;r den Zugriff ben&ouml;tigen Client-Zertifikate wurden bereits im Abschnitt <a href="#basisconfig_moa_id_auth_param_services">2.2.2.2</a> behandelt.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="147" scope="col">Name</th>
- <th width="360" scope="col">Beispielwert</th>
- <th width="718" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadGeneralConfig_moaconfig_mandateURL">Online-Vollmachten Service</span></td>
@@ -1314,7 +1362,7 @@ Checking</td>
</ul></td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_sso" id="konfigurationsparameter_allgemein_bku7"></a>3.1.8 Single-Sign On (SSO)</h3>
+<h4><a name="konfigurationsparameter_allgemein_sso" id="konfigurationsparameter_allgemein_bku7"></a>3.1.8 Single-Sign On (SSO)</h4>
<p>In der SSO Konfiguration muss angegeben werden in welchem Bereich (&ouml;ffentlicher oder privatwirtschaftlicher Bereich) die MOA-ID-Auth Instanz betrieben wird. Je nach dem zu welchem Bereich die Instanz zugeordnet ist ergibt sich ein unterschiedlicher Funktionsumfang der SSO Funktionalit&auml;t.</p>
<ol>
<li><strong>&Ouml;ffentlicher Bereich:</strong> Die MOA-ID-Auth Instanz ist einem &ouml;ffentlichen Bereich f&uuml;r SSO zugeordnet. In diesem Fall k&ouml;nnen sowohl &ouml;ffentlichen als auch privatwirtschaftliche Applikationen diese MOA-ID-Auth Instanz f&uuml;r eine Anmeldung mittels SSO Nutzen. Eine Zuordnung in den &ouml;ffentlichen Bereich ist jedoch nur dann M&ouml;glich wenn mindestens eine der folgenden Anforderungen erf&uuml;llt ist.
@@ -1331,11 +1379,11 @@ Checking</td>
<li><strong>Privatwirtschaftlicher Bereich:</strong><strong></strong> Die MOA-ID-Auth Instanz ist einem privatwirtschaftlichen Bereich f&uuml;r SSO zugeordnet, steht SSO nur eingeschr&auml;nkt zur Verf&uuml;gung. Da laut E-Governmentgesetz die Errechnung eines wbPK aus der Stammzahl nicht beim Auftraggeber eines privaten Bereichs durchgef&uuml;hrt werden darf (vgl. E-Government Gesetz &sect;12(1).4), und deshalb an die B&uuml;rgerkartenumgebung ausgelagert werden muss. In diesem Fall sind Anmeldungen mittels SSO nur f&uuml;r jenen privatwirtschaftlichen Bereich m&ouml;glich dem auch der SSO Bereich zugeordnet wurde. </li>
</ol>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="101" scope="col">Name</th>
- <th width="281" scope="col">Beispielwerte</th>
- <th width="843" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwerte</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><p><span id="wwlbl_loadGeneralConfig_moaconfig_ssoFriendlyName">SSO Service Name</span></p></td>
@@ -1371,13 +1419,13 @@ Checking</td>
<p><em>Ich Max Mustermann, geboren am 01.01.1978 stimme am 05.02.2014 um 10:35 einer Anmeldung mittels Single Sign-On zu.</em></p></td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_stork" id="konfigurationsparameter_allgemein_bku8"></a>3.1.8 Secure idenTity acrOss boRders linKed (STORK)</h3>
-<p>Hierbei werden allgemeine Parameter für STORK Protokoll konfiguriert.</p>
-<table width="1247" border="1">
+<h4><a name="konfigurationsparameter_allgemein_stork" id="konfigurationsparameter_allgemein_bku8"></a>3.1.8 Secure idenTity acrOss boRders linKed (STORK)</h4>
+<p>Hierbei werden allgemeine Parameter f\FCr STORK Protokoll konfiguriert.</p>
+<table class="configtable">
<tr>
- <th width="201" scope="col">Name</th>
- <th width="460" scope="col">Beispielwerte</th>
- <th width="944" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwerte</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Standard QAA-Level</td>
@@ -1387,26 +1435,26 @@ Checking</td>
<tr>
<td>Country Code</td>
<td>ES</td>
- <td>Der zweistelligen Code vom unterstützten PEPS-Staat.</td>
+ <td>Der zweistelligen Code vom unterst\FCtzten PEPS-Staat.</td>
</tr>
<tr>
<td>PEPS URL</td>
<td>https://prespanishpeps.redsara.es/PEPS/ColleagueRequest</td>
- <td>Die Adresse von PEPS eines unterstützten PEPS-Staat.</td>
+ <td>Die Adresse von PEPS eines unterst\FCtzten PEPS-Staat.</td>
</tr>
<tr>
<td>Attributname</td>
<td>eIdentifier</td>
- <td>Der Name des unterstützten Attributes. Die als <span class="term">zwingend</span> markierte Attribute müssen im Response von dem gegenstehendem PEPS enthalten sein. Jedes Attribut wird gesondert eingetragen. <br/>Die Liste von vorhandenen und unterstützen Attributes ist in Konfigurationsdatei von SamlEngine <span class="term">(StorkSamlEngine_XXX.xml)</span> vorhanden. </td>
+ <td>Der Name des unterst\FCtzten Attributes. Die als <span class="term">zwingend</span> markierte Attribute m\FCssen im Response von dem gegenstehendem PEPS enthalten sein. Jedes Attribut wird gesondert eingetragen. <br/>Die Liste von vorhandenen und unterst\FCtzen Attributes ist in Konfigurationsdatei von SamlEngine <span class="term">(StorkSamlEngine_XXX.xml)</span> vorhanden. </td>
</tr>
</table>
<p>&nbsp;</p>
<p>Folgende PEPS URLs stehen aktuell zur Verf&uuml;gung:</p>
-<table width="1243" border="1">
+<table class="configtable">
<tr>
- <th width="133" scope="col">L&auml;ndercode</th>
- <th width="87" scope="col">TestInstanz</th>
- <th width="1001" scope="col">URL</th>
+ <th>L&auml;ndercode</th>
+ <th>TestInstanz</th>
+ <th>URL</th>
</tr>
<tr>
<td>AT </td>
@@ -1456,12 +1504,12 @@ Checking</td>
</table>
<p>&nbsp;</p>
<p>Folgende Attribute m&uuml;ssen jedoch mindestens angefordert werden, wobei die erforderlichen Attribute je nach Anmeldeart unterschiedlich sind. Eine Liste mit weiteren m&ouml;glichen Attribute finden Sie im Kapitel <a href="./../protocol/protocol.html#allgemeines_attribute">Protokolle</a> oder in der <a href="#referenzierte_spezifikation">STORK Spezifikation</a>.</p>
-<table width="1251" border="1">
+<table class="configtable">
<tr>
- <th width="145" scope="col">Name</th>
- <th width="106" scope="col">nat&uuml;rliche Person</th>
- <th width="102" scope="col">Anmeldung in Vertretung</th>
- <th width="870" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>nat&uuml;rliche Person</th>
+ <th>Anmeldung in Vertretung</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>eIdentifier</td>
@@ -1532,20 +1580,20 @@ Checking</td>
</tr>
</table>
<p></p>
-<h3><a name="konfigurationsparameter_allgemein_protocol" id="konfigurationsparameter_allgemein_bku9"></a>3.1.9 Protokolle</h3>
+<h4><a name="konfigurationsparameter_allgemein_protocol" id="konfigurationsparameter_allgemein_bku9"></a>3.1.9 Protokolle</h4>
<p>Hierbei handelt es ich um allgemeine Einstellungen zu den vom Modul MOA-ID-Auth unterst&uuml;tzen Authentifizierungsprotokollen.</p>
-<h4><a name="konfigurationsparameter_allgemein_protocol_allowed" id="konfigurationsparameter_allgemein_bku10"></a>3.1.10.1 Protokolle aktivieren</h4>
+<h5><a name="konfigurationsparameter_allgemein_protocol_allowed" id="konfigurationsparameter_allgemein_bku10"></a>3.1.10.1 Protokolle aktivieren</h5>
<p>In diesem Abschnitt k&ouml;nnen die einzelnen von MOA-ID-Auth unterst&uuml;tzen Authentifizierungsprotokolle aktiviert oder deaktiviert werden. Diese Einstellung gilt f&uuml;r die gesamte MOA-ID-Auth Instanz.</p>
-<h4><a name="konfigurationsparameter_allgemein_protocol_legacy" id="konfigurationsparameter_allgemein_bku11"></a>3.1.10.2 Legacy Modus</h4>
+<h5><a name="konfigurationsparameter_allgemein_protocol_legacy" id="konfigurationsparameter_allgemein_bku11"></a>3.1.10.2 Legacy Modus</h5>
<p>Ab der Version 2.0 des Modules MOA-ID-Auth wird die B&uuml;rgerkartenauswahl standardm&auml;&szlig;ig von MOA-ID-Auth bereitgestellt und erfolgt im Kontext von MOA-ID-Auth. Dem zu Folge m&uuml;ssen die aus MOA-ID 1.5.1 bekannten StartAuthentication Parameter (target, bkuURL, template, usemandate) nicht mehr im StartAuthentication Request &uuml;bergeben werden.</p>
Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der Online-Applikation erfolgen muss f&uuml;r das jeweilige Protokoll der Legacy Modus aktiviert werden. Wird der Legacy Modus verwendet m&uuml;ssen jedoch die bkuURL, das Security-Layer Template und der Target mit den bei MOA-ID-Auth hinterlegten Konfigurationsparametern der Online-Applikation &uuml;bereinstimmten. Detailinformationen hierzu finden Sie im Kapitel <a href="./../protocol/protocol.html#allgemeines_legacy">Protokolle</a>.
-<h4><a name="konfigurationsparameter_allgemein_protocol_saml1" id="konfigurationsparameter_allgemein_bku12"></a>3.1.10.3 SAML1 Konfiguration</h4>
+<h5><a name="konfigurationsparameter_allgemein_protocol_saml1" id="konfigurationsparameter_allgemein_bku12"></a>3.1.10.3 SAML1 Konfiguration</h5>
<p>Die SourceID ist ein Teil des SAML1 Artifacts welches zur Abholung der SAML1 Assertion an die Online-Applikation zur&uuml;ckgegeben wird. Standardm&auml;&szlig;ig wird die SourceID aus der URL der jeweiligen Online-Applikation, an der die Anmeldung stattfinden, generiert. Optional kann jedoch eine SourceID f&uuml;r die gesamte MOA-ID-Auth Instanz vergeben werden, welche f&uuml;r alle Online-Applikationen verwendet wird.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="101" scope="col">Name</th>
- <th width="180" scope="col">Beispielwerte</th>
- <th width="944" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwerte</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>SourceID</td>
@@ -1554,14 +1602,14 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</tr>
</table>
<p>&nbsp;</p>
-<h4><a name="konfigurationsparameter_allgemein_protocol_pvp21" id="konfigurationsparameter_allgemein_bku13"></a>3.1.10.4 PVP2.1 Konfiguration</h4>
+<h5><a name="konfigurationsparameter_allgemein_protocol_pvp21" id="konfigurationsparameter_allgemein_bku13"></a>3.1.10.4 PVP2.1 Konfiguration</h5>
<p>Die allgemeinen Konfigurationsparameter f&uuml;r das Authentifizierungsprotokoll PVP2.1 behandeln Informationen zum Betreiber der MOA-ID-Auth Instanz und zu einer Ansprechperson f&uuml;r diese Instanz. Diese Parameter werden in den PVP2.1 Metadaten, die von MOA-ID-Auth f&uuml;r Online-Applikation (Service Providern) bereitgestellt werden, eingetragen.</p>
-<h5><a name="konfigurationsparameter_allgemein_protocol_pvp21_org" id="konfigurationsparameter_allgemein_bku15"></a>3.1.10.4.1 Betreiberorganisation</h5>
-<table width="1247" border="1">
+<h6><a name="konfigurationsparameter_allgemein_protocol_pvp21_org" id="konfigurationsparameter_allgemein_bku15"></a>3.1.10.4.1 Betreiberorganisation</h6>
+<table class="configtable">
<tr>
- <th width="210" scope="col">Name</th>
- <th width="192" scope="col">Beispielwert</th>
- <th width="823" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><p>PVP Service Name</p></td>
@@ -1584,12 +1632,12 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<td>URL zu einer Seite mit Informationen der Organisation welche die MOA-ID-Auth Instanz betreibt. Dieser Parameter wird in den Metadaten im Element <em>md:Organization</em>/<em>md:OrganizationURL</em> angezeigt.</td>
</tr>
</table>
-<h5><a name="konfigurationsparameter_allgemein_protocol_pvp21_contact" id="konfigurationsparameter_allgemein_bku16"></a>3.1.10.4.2 Kontaktperson</h5>
-<table width="1247" border="1">
+<h6><a name="konfigurationsparameter_allgemein_protocol_pvp21_contact" id="konfigurationsparameter_allgemein_bku16"></a>3.1.10.4.2 Kontaktperson</h6>
+<table class="configtable">
<tr>
- <th width="164" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="893" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Familienname</td>
@@ -1630,19 +1678,19 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<p>Dieser Name wird in den Metadaten im Element <em>md:ContactPerson</em>als Attribut <em>contactType</em> angezeigt.</p></td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_sltransform" id="konfigurationsparameter_allgemein_bku14"></a>3.1.11 Security-Layer Transformationen</h3>
+<h4><a name="konfigurationsparameter_allgemein_sltransform" id="konfigurationsparameter_allgemein_bku14"></a>3.1.11 Security-Layer Transformationen</h4>
<p>Die Security-Layer (SL) Transformation, welche von MOA-ID-Auth f&uuml;r die Erstellung der Signatur des AuthBlock verwendet werden soll, muss hier angegeben werden. &Uuml;ber das Datei-Upload Feld kann die zu verwendende Transformation hochgeladen werden. Diese befindet sich in der MOA-ID-Auth Defaultkonfiguration im Ordner <em><a href="./../../../conf/moa-id/transforms/TransformsInfoAuthBlockTable_DE_2.0.xml">/conf/moa-id/transforms/ TransformsInfoAuthBlockTable_DE_2.0.xml</a></em>.</p>
-<h2><a name="konfigurationsparameter_oa" id="uebersicht_zentraledatei_aktualisierung3"></a>3.2 Online Applikationen</h2>
+<h3><a name="konfigurationsparameter_oa" id="uebersicht_zentraledatei_aktualisierung3"></a>3.2 Online Applikationen</h3>
<p>Die Konfiguration von Online-Applikationen erfolgt ebenfalls mit Hilfe des Moduls MOA-ID-Configuration. Es k&ouml;nnen sowohl neue Online-Applikationen erstellt als auch bestehende Online-Applikationen bearbeitet oder gel&ouml;scht werden. Der erlaubte Konfigurationsumfang h&auml;ngt jedoch von Role des aktuellen Benutzers ab, wobei eine Konfiguration der gesamten Parameter nur einem Benutzer mit der Role <em>admin</em> m&ouml;glich ist. Alle Konfigurationsfelder die nur einem Benutzer mit der Role <em>admin</em> zur Verf&uuml;gung stehen sind gesondert gekennzeichnet.</p>
-<h3><a name="konfigurationsparameter_oa_general" id="uebersicht_zentraledatei_aktualisierung17"></a>3.2.1 Informationen zur Online-Applikation (Service Provider)</h3>
+<h4><a name="konfigurationsparameter_oa_general" id="uebersicht_zentraledatei_aktualisierung17"></a>3.2.1 Informationen zur Online-Applikation (Service Provider)</h4>
<p>Dieser erste Abschnitt behandelt allgemeine Parameter zur Online-Applikation.</p>
-<table width="1248" border="1">
+<table class="configtable">
<tr>
- <th width="153" scope="col">Name</th>
- <th width="204" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Online-Applikation ist aktiviert</td>
@@ -1674,15 +1722,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<td>Definiert ob die Online-Applikation dem &ouml;ffentlichen Bereich oder dem privatwirtschaftlichen Bereich (Business Service) zugeordnet ist. Ja nach Bereich sind unterschiedliche Konfigurationsparameter erforderlich.</td>
</tr>
</table>
-<h4><a name="konfigurationsparameter_oa_general_public" id="uebersicht_zentraledatei_aktualisierung18"></a>3.2.1.1 &Ouml;ffentlicher Bereich</h4>
+<h5><a name="konfigurationsparameter_oa_general_public" id="uebersicht_zentraledatei_aktualisierung18"></a>3.2.1.1 &Ouml;ffentlicher Bereich</h5>
<p>Wurde die Online-Applikation einem &ouml;ffentlichen Bereich zugeordnet muss in weiterer Folge der zugeordnete Bereich definiert werden. Hierf&uuml;r stehen folgende Parameter zur Verf&uuml;gung.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="123" scope="col">Name</th>
- <th width="204" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="789" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadOA_generalOA_target">Bereich (Target)</span></td>
@@ -1717,7 +1765,7 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</ul>
</li>
</ul>
-<h4><a name="konfigurationsparameter_oa_general_business" id="uebersicht_zentraledatei_aktualisierung19"></a>3.2.1.2 Privatwirtschaftlicher Bereich</h4>
+<h5><a name="konfigurationsparameter_oa_general_business" id="uebersicht_zentraledatei_aktualisierung19"></a>3.2.1.2 Privatwirtschaftlicher Bereich</h5>
<p>Wurde die Online-Applikation einem privatwirtschaftlichen Bereich zugeordnet muss in weiterer Folge die Stammzahl des privatwirtschaftlichen Unternehmens angegeben werden. Die Stammzahl des &ouml;ffentlichen Bereichs muss mit dem entsprechenden Prefix des Bereichs angegeben werden, wobei der Prefix aus einer vorgegebenen Liste gew&auml;hlt werden muss. </p>
<ul>
<li>FN: Die Stammzahl ist eine Firmenbuchnummer. (Beispiel: <em>FN468924i</em>)</li>
@@ -1725,13 +1773,13 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<li>ERSB: Die Stammzahl ist einer Kennzahl aus dem Erg&auml;nzungsregister f&uuml;r sonstige Betroffene (ERsB) (Beispiel: ERSB1425367879)</li>
<li>STORK: L&auml;ndercode dem der Service Provider zugeordnet werden kann. Wird f&uuml;r die Ableitung des STORK-eIdentifiers verwendet.</li>
</ul>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="123" scope="col">Name</th>
- <th width="204" scope="col">Beispielwerte</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="789" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwerte</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadOA_generalOA_identificationType">Identifikationsnummer</span></td>
@@ -1745,15 +1793,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</tr>
</table>
-<h3><a name="konfigurationsparameter_oa_bku" id="uebersicht_zentraledatei_aktualisierung20"></a>3.2.2 BKU Konfiguration</h3>
+<h4><a name="konfigurationsparameter_oa_bku" id="uebersicht_zentraledatei_aktualisierung20"></a>3.2.2 BKU Konfiguration</h4>
<p>Dieser Abschnitt behandelt online-applikationsspezifische Einstellungen zum Anmeldeprozess. Diese Einstellungen stehen jedoch nur einer Benutzerin oder einem Benutzer mit der Role <em>admin</em> zur Verf&uuml;gung.</p>
-<table width="1248" border="1">
+<table class="configtable">
<tr>
- <th width="168" scope="col">Name</th>
- <th width="189" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_newOA_generalOA_bkuOnlineURL">Online BKU</span></td>
@@ -1807,15 +1855,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<td>Dieses Feld erlaubt die Konfiguration eines online-applikationsspezifischen Templates f&uuml;r die zus&auml;tzliche Anmeldeabfrage im Falle einer Single Sign-On Anmeldung. Dieses Template muss in die Konfiguration hochgeladen werden und muss die Mindestanforderungen aus <a href="#import_template_sso">Kapitel 4.2</a> umsetzen. Da diese Templates direkt in den Authentifizierungsprozess eingreifen und diese somit eine potentielle Angriffsstelle f&uuml;r Cross-Site Scripting (XSS) bieten wird die Verwendung von online-applikationsspezifischen Templates nicht empfohlen.</td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_oa_testcredentials" id="uebersicht_zentraledatei_aktualisierung10"></a> 3.2.3 Test Identit&auml;ten</h3>
+<h4><a name="konfigurationsparameter_oa_testcredentials" id="uebersicht_zentraledatei_aktualisierung10"></a> 3.2.3 Test Identit&auml;ten</h4>
<p>In diesem Abschnitt k&ouml;nnen f&uuml;r diese Online-Applikation Testidentit&auml;ten erlaubt werden. Diese Testidentit&auml;ten k&ouml;nnen auch bei produktiven Instanzen freigeschalten werden, da die Unterschiedung zwischen Produkt- und Testidentit&auml;t anhand einer speziellen OID im Signaturzertifikat der Testidentit&auml;t getroffen wird. Folgende Konfigurationsparameter stehen hierf&uuml;r zur Verf&uuml;gung.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_newOA_generalOA_useMandates2">Testidentit&auml;ten erlauben</span></td>
@@ -1835,15 +1883,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</table>
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Diese Funktionalit&auml;t steht jedoch nur Testidentit&auml;ten welchen bereits mit einer Test OID im Signaturzertifikat ausgestattet sind zur Verf&uuml;gung.</p>
-<h3><a name="konfigurationsparameter_oa_mandates" id="uebersicht_zentraledatei_aktualisierung21"></a>3.2.4 Vollmachten</h3>
+<h4><a name="konfigurationsparameter_oa_mandates" id="uebersicht_zentraledatei_aktualisierung21"></a>3.2.4 Vollmachten</h4>
<p>Dieser Abschnitt behandelt online-applikationsspezifische Einstellungen zur Anmeldung mittels Online-Vollmachen.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_newOA_generalOA_useMandates">Vollmachten (ja/nein)</span></td>
@@ -1869,15 +1917,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</table>
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Werden f&uuml;r die Online-Applikation eigene Templates f&uuml;r die B&uuml;rgerkartenauswahl oder die zus&auml;tzliche Anmeldeabfrage im SSO Fall (siehe <a href="#konfigurationsparameter_oa_bku">Abschnitt 3.2.2</a>) verwendet, stehen alle Konfigurationsparameter die Einfluss auf die BKU-Auswahl haben nicht zur Verf&uuml;gung. Die Funktionalit&auml;t der entsprechenden Parameter hat jedoch weiterhin Einfluss auf den Anmeldevorgang.</p>
-<h3><a name="konfigurationsparameter_oa_sso" id="uebersicht_zentraledatei_aktualisierung22"></a>3.2.5 Single Sign-On (SSO)</h3>
+<h4><a name="konfigurationsparameter_oa_sso" id="uebersicht_zentraledatei_aktualisierung22"></a>3.2.5 Single Sign-On (SSO)</h4>
<p>Dieser Abschnitt behandelt online-applikationsspezifische Einstellungen zu Single Sign-On</p>
-<table width="1248" border="1">
+<table class="configtable">
<tr>
- <th width="168" scope="col">Name</th>
- <th width="189" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_OAuseSSO">Single Sign-On verwenden</span></td>
@@ -1896,14 +1944,14 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<p><strong>Hinweis:</strong> Diese Abfrage ist standardm&auml;&szlig;ig aktiviert und kann nur durch einen Benutzer mit der Role <em>admin</em> deaktiviert werden.</p></td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_oa_stork" id="uebersicht_zentraledatei_aktualisierung23"></a>3.2.6 Secure idenTity acrOss boRders linKed (STORK)</h3>
+<h4><a name="konfigurationsparameter_oa_stork" id="uebersicht_zentraledatei_aktualisierung23"></a>3.2.6 Secure idenTity acrOss boRders linKed (STORK)</h4>
<p>Dieser Abschnitt behandelt Online-Applikationsspezifische Einstellungen zu STORK.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="68" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>STORK verwenden</td>
@@ -1934,18 +1982,18 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</table>
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Werden f&uuml;r die Online-Applikation eigene Templates f&uuml;r die B&uuml;rgerkartenauswahl oder die zus&auml;tzliche Anmeldeabfrage im SSO Fall (siehe <a href="#konfigurationsparameter_oa_bku">Abschnitt 3.2.2</a>) verwendet, stehen alle Konfigurationsparameter die Einfluss auf die BKU-Auswahl haben nicht zur Verf&uuml;gung.</p>
-<h3><a name="konfigurationsparameter_oa_protocol" id="uebersicht_zentraledatei_aktualisierung24"></a>3.2.7 Authentifizierungsprotokolle</h3>
+<h4><a name="konfigurationsparameter_oa_protocol" id="uebersicht_zentraledatei_aktualisierung24"></a>3.2.7 Authentifizierungsprotokolle</h4>
<p>Dieser Abschnitt behandelt online-applikationsspezifische Einstellungen zu den von der Online-Applikation unterst&uuml;tzen Authentifizierungsprotokollen. Eine Verwendung aller zur Verf&uuml;gung stehender Authentifizierungsprotokolle durch die Online-Applikation ist ebenfalls m&ouml;glich. Hierf&uuml;r m&uuml;ssen nur alle ben&ouml;tigten Protokolle konfiguriert werden. N&auml;here Informationen zu den unterst&uuml;tzten Protokollen finden sie im Kapitel <a href="./../protocol/protocol.html">Protokolle</a>.</p>
<p>Aus Gr&uuml;nden der &Uuml;bersichtlichkeit kann der Konfigurationsbereich f&uuml;r jeden Protokoll, in der Web-Oberfl&auml;che des Konfigurationstools, ein- oder ausgeblendet werden.</p>
-<h4><a name="konfigurationsparameter_oa_protocol_saml1" id="uebersicht_zentraledatei_aktualisierung25"></a>3.2.7.1 SAML1</h4>
+<h5><a name="konfigurationsparameter_oa_protocol_saml1" id="uebersicht_zentraledatei_aktualisierung25"></a>3.2.7.1 SAML1</h5>
<p>F&uuml;r das Protokoll SAML1 stehen folgende Konfigurationsparameter zur Verf&uuml;gung.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadOA_saml1OA_Active">SAML1 aktivieren</span></td>
@@ -1992,15 +2040,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</table>
<p>&nbsp;</p>
<p><strong>Hinweis: </strong>Das Modul MOA-ID-Auth in der Version 2.0 unterst&uuml;tzt SAML1 nur mehr zur Abw&auml;rtskompatibilit&auml;t mit bereits bestehenden Online-Applikationen. Wir empfehlen den Umstieg auf ein anderes, von MOA-ID-Auth unterst&uuml;tztes, Authentifizierungsprotokoll. Aus diesem Grund steht die Konfiguration des SAML1 Protokolls nur mehr einer Benutzerin oder einem Benutzer mit der Role <em>admin</em> zur Verf&uuml;gung.</p>
-<h4><a name="konfigurationsparameter_oa_protocol_pvp21" id="uebersicht_zentraledatei_aktualisierung26"></a>3.2.7.2 PVP 2.1</h4>
+<h5><a name="konfigurationsparameter_oa_protocol_pvp21" id="uebersicht_zentraledatei_aktualisierung26"></a>3.2.7.2 PVP 2.1</h5>
<p>In diesem Bereich erfolgt die applikationsspezifische Konfiguration f&uuml;r das Authentifizierungsprotokoll PVP 2.1.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="87" scope="col">Name</th>
- <th width="326" scope="col">Beispielwert</th>
- <th width="59" scope="col">Admin</th>
- <th width="60" scope="col">Optional</th>
- <th width="684" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Neu Laden</td>
@@ -2015,7 +2063,7 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
<td>URL unter der die MOA-ID-Auth Instanz die Metadaten der Online-Applikation beziehen kann. Diese Metadaten m&uuml;ssen durch die Online-Applikation signiert sein. F&uuml;r den Fall das die Metadaten &uuml;ber https abgeholt werden, muss das jeweilige Serverzertifikat zur Zertifikatspr&uuml;fung im <a href="../install/install.html#webservice_basisinstallation_installation_spssdeploy">TrustStore der MOA-ID-Auth Instanz</a> hinterlegt sein. Die Metadaten werden anschlie&szlig;end durch MOA-ID-Auth innerhalb des in den Metadaten angegebenen G&uuml;ltigkeitszeitraums automatisch aktualisiert. Das Aktualisierungsintervall bei automatischer Aktualisierung betr&auml;gt jedoch mindestens 15 Minuten jedoch nicht mehr als 24 Stunden. (Intervall: 15min &lt; Aktualisierungszeitpunkt &lt; 24 Stunden)
- <p><b>Hinweis:</b> Metadaten können nur über http oder https bezogen werden. Das Laden von Metadaten aus dem lokalen Verzeichnissystem ist nicht möglich.</p></td>
+ <p><b>Hinweis:</b> Metadaten k\F6nnen nur \FCber http oder https bezogen werden. Das Laden von Metadaten aus dem lokalen Verzeichnissystem ist nicht m\F6glich.</p></td>
</tr>
<tr>
<td>Infos zum Zertifikat</td>
@@ -2033,15 +2081,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<td>Zertifikat mit dem die Metadaten der Online-Applikation signiert sind. Dieses wird ben&ouml;tigt um die Metadaten zu verifizieren.</td>
</tr>
</table>
-<h4><a name="konfigurationsparameter_oa_protocol_openIDConnect" id="uebersicht_zentraledatei_aktualisierung27"></a>3.2.7.3 OpenID Connect</h4>
+<h5><a name="konfigurationsparameter_oa_protocol_openIDConnect" id="uebersicht_zentraledatei_aktualisierung27"></a>3.2.7.3 OpenID Connect</h5>
<p>In diesem Bereich erfolgt die applikationsspezifische Konfiguration f&uuml;r OpenID Connect (OAuth 2.0). </p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="87" scope="col">Name</th>
- <th width="221" scope="col">Beispielwert</th>
- <th width="58" scope="col">Admin</th>
- <th width="64" scope="col">Optional</th>
- <th width="786" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Client ID</td>
@@ -2065,17 +2113,17 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<td>OpenID Connect Redirect URL. Nach erfolgreicher Authentifizierung wird die Benutzerin oder der Benutzer an diese URL zur&uuml;ckgeleitet.</td>
</tr>
</table>
-<h4><a name="konfigurationsparameter_oa_additional" id="uebersicht_zentraledatei_aktualisierung28"></a>3.2.8 Zus&auml;tzliche allgemeine Einstellungen</h4>
-<p>In Abschnitt ermöglicht eine erweiterte online-applikationsspezifische Individualisierung des AuthBlocks und der Bürgerkartenauswahl.
- Die Individualisierung des AuthBlocks steht jedoch dann zur Verfügung wenn die dem Module MOA-ID-Auth beigelegte Security-Layer Transformation verwendet wird oder
+<h5><a name="konfigurationsparameter_oa_additional" id="uebersicht_zentraledatei_aktualisierung28"></a>3.2.8 Zus&auml;tzliche allgemeine Einstellungen</h5>
+<p>In Abschnitt erm\F6glicht eine erweiterte online-applikationsspezifische Individualisierung des AuthBlocks und der B\FCrgerkartenauswahl.
+ Die Individualisierung des AuthBlocks steht jedoch dann zur Verf\FCgung wenn die dem Module MOA-ID-Auth beigelegte Security-Layer Transformation verwendet wird oder
wenn die individuelle Security-Layer Transformation den Formvorschriften der Spezifikation entspricht.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="87" scope="col">Name</th>
- <th width="221" scope="col">Beispielwert</th>
- <th width="58" scope="col">Admin</th>
- <th width="64" scope="col">Optional</th>
- <th width="786" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>AuthblockText</td>
@@ -2097,71 +2145,71 @@ wenn die individuelle Security-Layer Transformation den Formvorschriften der Sp
<td>&nbsp;</td>
<td align="center">&nbsp;</td>
<td align="center">X</td>
- <td>Wird diese Option gewählt wird im AuthBlock, welcher im Anmeldevorgang signiert wird, keine bPK oder wbPK dargestellt.</td>
+ <td>Wird diese Option gew\E4hlt wird im AuthBlock, welcher im Anmeldevorgang signiert wird, keine bPK oder wbPK dargestellt.</td>
</tr>
</table>
-<h4><a name="konfigurationsparameter_oa_additional_formular" id="uebersicht_zentraledatei_aktualisierung29"></a>3.2.8.1 Login-Fenster Konfiguration</h4>
-<p>Diese Konfigurationsparameter bieten zusätzliche Einstellungen für eine Anpassung der Bürgerkartenauswahl welche von MOA-ID-Auth generiert wird.
+<h5><a name="konfigurationsparameter_oa_additional_formular" id="uebersicht_zentraledatei_aktualisierung29"></a>3.2.8.1 Login-Fenster Konfiguration</h5>
+<p>Diese Konfigurationsparameter bieten zus\E4tzliche Einstellungen f\FCr eine Anpassung der B\FCrgerkartenauswahl welche von MOA-ID-Auth generiert wird.
Zur besseren Handhabung werden die angegebenen Parameter direkt in einer Vorschau dargestellt.
-Alle in diesem Abschnitt angegebenen Parameter sind Optional und werden bei Bedarf durch Standardwerte ergänzt.
+Alle in diesem Abschnitt angegebenen Parameter sind Optional und werden bei Bedarf durch Standardwerte erg\E4nzt.
</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="87" scope="col">Name</th>
- <th width="221" scope="col">Beispielwert</th>
- <th width="58" scope="col">BKU-Auswahl</th>
- <th width="64" scope="col">SL-Template</th>
- <th width="786" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>BKU-Auswahl</th>
+ <th>SL-Template</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Hintergrundfarbe</td>
<td>#E5E5E5</td>
<td align="center">X</td>
<td align="center">X</td>
- <td>Hintergrundfarbe der Bürgerkartenauswahl und Hintergrundfarbe des Java-Applets der Online-BKU (wird &uuml;ber den Security-Layer Request angegeben). Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
+ <td>Hintergrundfarbe der B\FCrgerkartenauswahl und Hintergrundfarbe des Java-Applets der Online-BKU (wird &uuml;ber den Security-Layer Request angegeben). Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
</tr>
<tr>
<td>Vordergrundfarbe</td>
<td>#E5E5E5</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Vordergrundfarbe (Textfarbe) der Bürgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
+ <td>Vordergrundfarbe (Textfarbe) der B\FCrgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
</tr>
<tr>
- <td>Hintergrundfarbe Überschrift</td>
+ <td>Hintergrundfarbe \DCberschrift</td>
<td>#E5E5E5</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Hintergrundfarbe der Überschrift der Bürgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
+ <td>Hintergrundfarbe der \DCberschrift der B\FCrgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
</tr>
<tr>
- <td>Vordergrundfarbe Überschrift</td>
+ <td>Vordergrundfarbe \DCberschrift</td>
<td>#E5E5E5</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Vordergrundfarbe (Textfarbe) der Überschrift der Bürgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
+ <td>Vordergrundfarbe (Textfarbe) der \DCberschrift der B\FCrgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
</tr>
<tr>
- <td>Überschriftstext</td>
+ <td>\DCberschriftstext</td>
<td>Anmeldung</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Die hier angegebene Zeichenkette wird als Überschrift in der Bürgerkartenauswahl dargestellt. Es sind jedoch nur Buchstaben, Zahlen und Satzzeichen erlaubt.</td>
+ <td>Die hier angegebene Zeichenkette wird als \DCberschrift in der B\FCrgerkartenauswahl dargestellt. Es sind jedoch nur Buchstaben, Zahlen und Satzzeichen erlaubt.</td>
</tr>
<tr>
<td>Targetparameter</td>
<td>&nbsp;</td>
<td align="center">&nbsp;</td>
<td align="center">X</td>
- <td>Mit diesem Parameter kann der Redirect-Target welcher im Security-Layer Request an die BKU übergeben wird definiert werden. Die möglichen Parameter sind äquivalent zum
+ <td>Mit diesem Parameter kann der Redirect-Target welcher im Security-Layer Request an die BKU \FCbergeben wird definiert werden. Die m\F6glichen Parameter sind \E4quivalent zum
html Attribut <i>target</i> (siehe <a href="#import_template_sltemplate">Kapitel 4.3</a>). </td>
</tr>
<tr>
- <td>Applethöhe</td>
+ <td>Appleth\F6he</td>
<td>220</td>
<td align="center">&nbsp;</td>
<td align="center">X</td>
- <td>Mit diesem Parameter kann die Höhe des Java-Applets der Online-BKU definiert werden. Dieser Parameter &uuml;berschreibt einen in der BKU-Auswahl &uuml;bergebenen Parameter (siehe <a href="#import_template_bku">Kapitel 3.4.1</a>).</td>
+ <td>Mit diesem Parameter kann die H\F6he des Java-Applets der Online-BKU definiert werden. Dieser Parameter &uuml;berschreibt einen in der BKU-Auswahl &uuml;bergebenen Parameter (siehe <a href="#import_template_bku">Kapitel 3.4.1</a>).</td>
</tr>
<tr>
<td>Appletbreite</td>
@@ -2175,27 +2223,27 @@ Alle in diesem Abschnitt angegebenen Parameter sind Optional und werden bei Beda
<td>&nbsp;</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Dieses Feld erlaubt die Auswahl der gewünschten Schriftart, welche für die BKU-Auswahl verwendet werden soll. Es kann jedoch nur eine Schriftart gewählt werden.</td>
+ <td>Dieses Feld erlaubt die Auswahl der gew\FCnschten Schriftart, welche f\FCr die BKU-Auswahl verwendet werden soll. Es kann jedoch nur eine Schriftart gew\E4hlt werden.</td>
</tr>
<tr>
<td>Formularschrifttyp (Textfeld)</td>
<td>&nbsp;</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Dieses Textfeld erlaubt die Konfiguration eine Liste von Schriftarten, welche für die BKU-Auswahl verwendet werden soll.
- Die Angabe erfolgt mittels einer durch &quot;<i>,&quot;</i> getrennten Liste, äquivalent zur Schriftartendefinition laut HTML Spezifikation</td>
+ <td>Dieses Textfeld erlaubt die Konfiguration eine Liste von Schriftarten, welche f\FCr die BKU-Auswahl verwendet werden soll.
+ Die Angabe erfolgt mittels einer durch &quot;<i>,&quot;</i> getrennten Liste, \E4quivalent zur Schriftartendefinition laut HTML Spezifikation</td>
</tr>
</table>
<p>&nbsp;</p>
-<p><strong>Hinweis:</strong> Bei Verwendung einer online-applikationsspezifischen Bürgerkartenauswahl stehen alle Parameter die die Bürgerkartenauswahl betreffen nicht zur Verfügung.</p>
-<p><strong>Hinweis:</strong> Bei Verwendung eines online-applikationsspezifischen Security-Layer-Request Templates stehen alle Parameter die das SL-Template betreffen nicht zur Verfügung.</p>
-<h4><a name="konfigurationsparameter_oa_additional_encbpk" id="uebersicht_zentraledatei_aktualisierung31"></a>3.2.8.2 Fremd-bPK Konfiguration</h4>
+<p><strong>Hinweis:</strong> Bei Verwendung einer online-applikationsspezifischen B\FCrgerkartenauswahl stehen alle Parameter die die B\FCrgerkartenauswahl betreffen nicht zur Verf\FCgung.</p>
+<p><strong>Hinweis:</strong> Bei Verwendung eines online-applikationsspezifischen Security-Layer-Request Templates stehen alle Parameter die das SL-Template betreffen nicht zur Verf\FCgung.</p>
+<h5><a name="konfigurationsparameter_oa_additional_encbpk" id="uebersicht_zentraledatei_aktualisierung31"></a>3.2.8.2 Fremd-bPK Konfiguration</h5>
<p>Dieser Konfigurationsparameter erm&ouml;glicht die Konfiguration eines Key Stores, welcher im Falle einer<a href="../interfederation/interfederation.html"> Anmeldung mittels Single Sign-On Interfederation</a> zur Entschl&uuml;sselung einer verschl&uuml;sselten Fremd-bPK verwendet werden soll. Hierf&uuml;r sind folgende Konfigurationsparameter notwenig.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="147" scope="col">Beispielwert</th>
- <th width="806" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>KeyStore hochladen</td>
@@ -2220,18 +2268,18 @@ Alle in diesem Abschnitt angegebenen Parameter sind Optional und werden bei Beda
</table>
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Diese Konfiguration ist jedoch nur n&ouml;tig wenn die f&uuml;r das Modul MOA-ID-Auth Interfederation verwendet und von weiteren Identity Providern in der Federation Fremd-bPKs &uuml;bermittelt werden welche bereits im Modul MOA-ID-Auth entschl&uuml;sselt werden sollen (z.B. bei Verwendung von SAML 1 als Authentifizierungsprotokoll). Bei Verwendung von PVP 2.1 und OpenID Connect kann die Fremd-bPK auch direkt an die Online Applikation weitergeben werden wodurch eine Entschl&uuml;sselung auf Seiten des Modules MOA-ID-Auth nicht zwingend notwendig ist.</p>
-<h2><a name="import_export" id="uebersicht_zentraledatei_aktualisierung4"></a>3.3 Import / Export</h2>
-<p>Über diese Funktionalität besteht die Möglichkeit eine bestehende MOA-ID 1.5.1
-Konfiguration in MOA-ID 2.0 zu importieren. Zusätzlich besteht die Möglichkeit eine MOA-ID-Auth 2.0
+<h3><a name="import_export" id="uebersicht_zentraledatei_aktualisierung4"></a>3.3 Import / Export</h3>
+<p>\DCber diese Funktionalit\E4t besteht die M\F6glichkeit eine bestehende MOA-ID 1.5.1
+Konfiguration in MOA-ID 2.0 zu importieren. Zus\E4tzlich besteht die M\F6glichkeit eine MOA-ID-Auth 2.0
Konfiguration in ein XML Dokument zu exportieren oder in eine bestehende MOA-ID-Auth 2.0
XML Konfiguration zu importieren. Eine exportierte MOA-ID-Auth 2.0 XML-Konfiguration kann auch direkt zur Konfiguration des Modules MOA-ID-Auth herangezogen werden (siehe <a href="#basisconfig_moa_id_auth_param_general">Kapitel 2.2.2.1</a>)</p>
<p><strong>Hinweis:</strong>
Zu beachten ist, dass bei einem Import die aktuell vorhandene
- Konfiguration vollständig gelöscht und durch die importierte Konfiguration ersetzt wird.
+ Konfiguration vollst\E4ndig gel\F6scht und durch die importierte Konfiguration ersetzt wird.
Es wird empfohlen ein Backup einer eventuell vorhandenen MOA-ID 2.0 Konfiguration
- zu erstellen, bevor eine neue Konfiguration importiert wird. Hierfür kann die
+ zu erstellen, bevor eine neue Konfiguration importiert wird. Hierf\FCr kann die
Exportfunktion verwendet werden.</p>
-<h3><a name="import_export_legacy" id="uebersicht_zentraledatei_aktualisierung5"></a>3.3.1 Import alter Konfigurationen (&lt;= MOA-ID 1.5.1)</h3>
+<h4><a name="import_export_legacy" id="uebersicht_zentraledatei_aktualisierung5"></a>3.3.1 Import alter Konfigurationen (&lt;= MOA-ID 1.5.1)</h4>
<p>Es besteht auch die M&ouml;glichkeit eine bestehende MOA-ID 1.5.1 Konfiguration zu importieren. Da nicht alle neuen Konfigurationsparameter automatisiert aus der MOA-ID 1.5.1 Konfiguration erstellt werden sind f&uuml;r den Importvorgang mehrere Schritte notwendig.</p>
<ol>
<li>Importieren einer bestehenden MOA-ID 1.5.1 Konfiguration mithilfe der Import Funktion des Modules MOA-ID-Configuration. Danach sollten sowohl die allgemeine Konfiguration als auch die Online-Applikationen eingetragen sein. </li>
@@ -2257,16 +2305,16 @@ Exportfunktion verwendet werden.</p>
</ol>
<h2><a name="import_template_" id="uebersicht_zentraledatei_Templates"></a>4 Templates</h2>
<p>Dieser Abschnitt spezifiziert den Mindestaufbau der Templates f&uuml;r die BKU Auswahl, die Single Sign-On Anmeldeabfrage und die Security-Layer Request Templates welche vo Module MOA-ID-Auth verwendet werden. Alle hier beschriebenen Templates werden durch MOA-ID-Auth geladen, erweitert und gegeben falls der Benutzerin oder dem Benutzer im Web-Browser dargestellt. Um einen korrekten Anmeldeprozess zu gew&auml;hrleisten m&uuml;ssen diese Templates mindestens folgende Formvorschriften und Strukturen aufweisen.</p>
-<h3><a name="import_template_bku" id="uebersicht_zentraledatei_aktualisierung6"></a>4.1 Bürgerkartenauswahl</h3>
+<h4><a name="import_template_bku" id="uebersicht_zentraledatei_aktualisierung6"></a>4.1 B\FCrgerkartenauswahl</h4>
<p>Das BKU Template dient im Anmeldeprozess der Auswahl der gew&uuml;nschten B&uuml;rgerkatenumgebung oder Handysignatur. Nach erfolgter Auswahl durch die Benutzer oder dem Benutzer wird diese an MOA-ID-Auth &uuml;bermittelt. </p>
<p><strong>Hinweis:</strong> In der Datei <em>./htmlTemplates/loginFormFull.html</em> welcher sich relativ zur <a href="#uebersicht_bekanntmachung">MOA-ID-Auth Konfigurationsdatei</a> befindet finden Sie das Standard Template welches f&uuml;r den Anmeldevorgang verwendet wird, wenn kein online-applikationsspezifisches Template hinterlegt wurde. Dieses Standard Template unterst&uuml;tzt Responsive Design und passt sich somit in einem weiten Bereich an die aktuelle Fenstergr&ouml;&szlig;e an.</p>
<p>F&uuml;r die &Uuml;bermittlung an MOA-ID-Auth ist ein http GET Request vorgesehen welcher folgende Parameter unterst&uuml;tzt. Die URL dieses http GET Request wird automatisiert &uuml;ber den Parameter &bdquo;#AUTH_URL#&ldquo; (ohne &bdquo;&ldquo;) eingetragen und muss nicht manuell hinterlegt werden. Folgende http GET Parameter werden f&uuml;r die BKU-Auswahl akzeptiert.</p>
-<table width="1201" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>bkuURI</td>
@@ -2313,11 +2361,11 @@ Exportfunktion verwendet werden.</p>
</table>
<p><br>
Einige dieser Parameter werden jedoch nicht durch den Benutzer oder dem Service-Provider sondern durch das Modul MOA-ID-Auth im Rahmen des Anmeldeprozesses automatisiert, an im Template gekennzeichneten Stellen, eingetragen. Folgende Platzhalter stehen zur Verf&uuml;gung und werden von MOA-ID-Auth durch die jeweiligen Werte ersetzt. Alle nicht als Optional gekennzeichneten Platzhalter m&uuml;ssen durch MOA-ID-Auth ersetzt werden.</p>
-<table width="1198" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="63" scope="col">Optional</th>
- <th width="946" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>#AUTH_URL#</td>
@@ -2356,17 +2404,17 @@ Einige dieser Parameter werden jedoch nicht durch den Benutzer oder dem Service
&lt;/form&gt;
</pre>
<p>Als Beispiel f&uuml;r ein BKU-Auswahl Template steht auch das bei MOA-ID-Auth hinterlegte Standardtemplate zur Verf&uuml;gung. Dieses finden Sie <a href="../../htmlTemplates/BKU-selection.html">hier</a>. </p>
-<h3><a name="import_template_sso" id="uebersicht_zentraledatei_aktualisierung7"></a>4.2 Single Sign-On Anmeldeabfrage</h3>
+<h4><a name="import_template_sso" id="uebersicht_zentraledatei_aktualisierung7"></a>4.2 Single Sign-On Anmeldeabfrage</h4>
<p>Das Send-Assertion Template dient im Falle einer Anmeldung mittels Single Sign-On der Abfrage ob die Anmeldedaten an die betreffende Online Applikation &uuml;bertragen werden d&uuml;rfen. </p>
<p><strong>Hinweis:</strong> In der Datei <em>./htmlTemplates/sendAssertionFormFull.html</em> welcher sich relativ zur <a href="#uebersicht_bekanntmachung">MOA-ID-Auth Konfigurationsdatei</a> befindet finden Sie das Standard Template welches f&uuml;r den Anmeldevorgang verwendet wird, wenn kein online-applikationsspezifisches Template hinterlegt wurde. Dieses Standard Template unterst&uuml;tzt Responsive Design und passt sich somit in einem weiten Bereich an die aktuelle Fenstergr&ouml;&szlig;e an.</p>
<p>&Auml;hnlich dem Template f&uuml;r die B&uuml;rgerkartenauswahl m&uuml;ssen auch hierbei Formvorschriften und Strukturen im Aufbau des Templates eingehalten werden.<br>
F&uuml;r die &Uuml;bermittlung an das Modul MOA-ID-Auth ist ein http POST Request vorgesehen welcher folgende Parameter unterst&uuml;tzt. Die URL, an welche dieser http POST Request gesendet werden muss, wird automatisiert &uuml;ber den Parameter &bdquo;#URL#&ldquo; (ohne &bdquo;&ldquo;) eingetragen und muss nicht manuell hinterlegt werden.</p>
-<table width="1201" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>mod</td>
@@ -2395,11 +2443,11 @@ F&uuml;r die &Uuml;bermittlung an das Modul MOA-ID-Auth ist ein http POST Reques
</table>
<p><br>
Einige dieser Parameter werden jedoch nicht durch den Benutzer oder dem Service-Provider sondern durch das Modul MOA-ID-Auth im Rahmen des Anmeldeprozesses automatisiert, an im Template gekennzeichneten Stellen, eingetragen. Folgende Platzhalter stehen zur Verf&uuml;gung und werden von MOA-ID-Auth durch die jeweiligen Werte ersetzt. Alle nicht als Optional gekennzeichneten Platzhalter m&uuml;ssen durch MOA-ID-Auth ersetzt werden.</p>
-<table width="1198" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="63" scope="col">Optional</th>
- <th width="946" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>#URL#</td>
@@ -2424,15 +2472,15 @@ Einige dieser Parameter werden jedoch nicht durch den Benutzer oder dem Service
</table>
<p><br>
Die nachfolgende Form zeigt ein Beispiel f&uuml;r den Aufbau des im BKU-Auswahl Template zu verwendeten http GET Request Templates f&uuml;r die lokale BKU.</p>
-<pre>&lt;form method=&quot;post&quot; id=&quot;moaidform_yes&quot; action=&quot;#URL#&quot;&gt;<br>
- &nbsp;&nbsp;&nbsp; &lt;input type=&quot;hidden&quot; name=&quot;value&quot; value=&quot;true&quot;&gt;<br>
- &nbsp;&nbsp;&nbsp; &lt;input type=&quot;hidden&quot; name=&quot;mod&quot; value=&quot;#MODUL#&quot;&gt;<br>
- &nbsp;&nbsp;&nbsp; &lt;input type=&quot;hidden&quot; name=&quot;action&quot; value=&quot;#ACTION#&quot;&gt;<br>
- &nbsp;&nbsp;&nbsp; &lt;input type=&quot;hidden&quot; name=&quot;identifier&quot; value=&quot;#ID#&quot;&gt;<br>
- &nbsp;&nbsp;&nbsp; &lt;input type=&quot;submit&quot; size=&quot;400&quot; value=&quot;Ja&quot;&gt;<br>
+<pre>&lt;form method=&quot;post&quot; id=&quot;moaidform_yes&quot; action=&quot;#URL#&quot;&gt;
+ &lt;input type=&quot;hidden&quot; name=&quot;value&quot; value=&quot;true&quot;&gt;
+ &lt;input type=&quot;hidden&quot; name=&quot;mod&quot; value=&quot;#MODUL#&quot;&gt;
+ &lt;input type=&quot;hidden&quot; name=&quot;action&quot; value=&quot;#ACTION#&quot;&gt;
+ &lt;input type=&quot;hidden&quot; name=&quot;identifier&quot; value=&quot;#ID#&quot;&gt;
+ &lt;input type=&quot;submit&quot; size=&quot;400&quot; value=&quot;Ja&quot;&gt;
&lt;/form&gt;</pre>
<p>Als Beispiel f&uuml;r ein Single Sign-On Anmeldeabfrage Template steht auch das bei MOA-ID-Auth hinterlegte Standardtemplate zur Verf&uuml;gung. Dieses finden Sie <a href="../../htmlTemplates/sendAssertion.html">hier</a>.</p>
-<h3><a name="import_template_sltemplate" id="uebersicht_zentraledatei_aktualisierung8"></a>4.3 Security-Layer Request</h3>
+<h4><a name="import_template_sltemplate" id="uebersicht_zentraledatei_aktualisierung8"></a>4.3 Security-Layer Request</h4>
<p>Das Security-Layer (SL) Request Template dient zur Kommunikation zwischen dem Modul MOA-ID-Auth und der gew&auml;hlten B&uuml;rgerkartenumgebung. Diese Kommunikation erfolgt &uuml;ber ein http Formular welches als http POST Request an die B&uuml;rgerkartenumgebung gesendet wird. Bei MOA-ID-Auth werden SL Templates mitgeliefert, wobei einige Template Parameter auch &uuml;ber das Konfigurationstool je Online-Applikation angepasst werden k&ouml;nnen (siehe <a href="#konfigurationsparameter_oa_additional_formular">Kapitel 3.2.7.1</a>).</p>
<p>F&uuml;r den Fall das individuelle Anpassungen am SL Template erforderlich sind m&uuml;ssen diese folgende Formvorschriften erf&uuml;llen.</p>
<pre>&lt;form name=&quot;CustomizedForm&quot; action=&quot;&lt;BKU&gt;&quot; method=&quot;post&quot;&gt;
@@ -2443,11 +2491,11 @@ Die nachfolgende Form zeigt ein Beispiel f&uuml;r den Aufbau des im BKU-Auswahl
&lt;/form&gt;
</pre>
<p>Innerhalb dieser &lt;form&gt;-Elemente k&ouml;nnen Texte, Beschriftungen und Styles modifiziert werden, und es k&ouml;nnen zus&auml;tzliche Elemente darin aufgenommen werden. Die vorgegebene Grundstruktur ist aber in jedem Fall einzuhalten, und es m&uuml;ssen die speziellen Tags <em>&lt;BKU&gt;</em> (kommt 2x vor), <em>&lt;XMLRequest&gt;</em>, <em>&lt;DataURL&gt;</em> darin enthalten sein.</p>
-<table width="1198" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="63" scope="col">Optional</th>
- <th width="946" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>&lt;BKU&gt;</td>
@@ -2467,11 +2515,11 @@ Die nachfolgende Form zeigt ein Beispiel f&uuml;r den Aufbau des im BKU-Auswahl
</table>
<p>&nbsp;</p>
<p>Folgende zus&auml;tzliche Tags zur Layout Anpassung (siehe <a href="#konfigurationsparameter_oa_additional_formular">Kapitel 3.2.7.1</a>) stehen optional zur Verf&uuml;gung und k&ouml;nnen &uuml;ber das SL Template an die B&uuml;rgerkartenumgebung &uuml;bergeben werden. Ein Beispiel f&uuml;r die Verwendung dieser zus&auml;tzlichen Tags finden Sie im beigelegten <a href="../../htmlTemplates/template_onlineBKU.html">SL Template</a>.</p>
-<table width="1198" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="63" scope="col">Optional</th>
- <th width="946" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td height="24">&lt;REDIRECTTARGET&gt;</td>
@@ -2496,22 +2544,22 @@ Die nachfolgende Form zeigt ein Beispiel f&uuml;r den Aufbau des im BKU-Auswahl
</table>
<p>&nbsp;</p>
<p><strong>Hinweis: </strong>Das in MOA-ID 1.5.1 verwendete Security-Layer Template ist kompatibel zu dem in MOA-ID 2.0 verwendeten Security-Layer Template. Jedoch stehen bei dem Template aus MOA-ID 1.5.1 die zus&auml;tzlichen Parameter zur Konfiguration mittels Konfigurationstool nicht zur Verf&uuml;gung.</p>
-<h1><a name="sp-config" id="sp-config">5 Konfiguration von MOA-SP</a></h1>
+<h2><a name="sp-config" id="sp-config"></a>5 Konfiguration von MOA-SP</h2>
<p>MOA-ID &uuml;berpr&uuml;ft die Signaturen der Personenbindung und des AUTH-Blocks mit dem VerifyXMLSignatureRequest von MOA-SP. Dazu muss MOA-SP wie unten beschreiben konfiguriert werden. <br>
<br>
- <strong verifytransformsinfoprofile"="">VerifyTransformsInfoProfile</strong><br>
+ <strong verifytransformsinfoprofile="">VerifyTransformsInfoProfile</strong><br>
Der Request zum &Uuml;berpr&uuml;fen der Signatur des AUTH-Blocks verwendet ein vordefiniertes VerifyTransformsInfoProfile. Die im Request verwendete Profil-ID wird in der MOA-ID-Auth Konfiguration im Parameter <a href="#konfigurationsparameter_allgemein_moasp">Authentfizierungsblock Transformationen</a> definiert. Entsprechend muss am MOA-SP Server ein VerifyTransformsInfoProfile mit gleichlautender ID definiert werden. Die Profiledefinition selbst ist in der Auslieferung von MOA-ID in $MOA_ID_INST_AUTH/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_DE_2.0.xml enthalten. Diese Profildefinition muss unver&auml;ndert &uuml;bernommen werden. </p>
<p id="trustProfile"> <strong>TrustProfile</strong><br>
Die Requests zur &Uuml;berpr&uuml;fung der Signatur verwenden vordefinierte TrustProfile. Die im Request verwendete Profil-IDs werden in der MOA-ID-Auth Konfiguration in den Parametern <a href="#konfigurationsparameter_allgemein_moasp">Personenbindung Trustprofil</a> und <a href="#konfigurationsparameter_allgemein_moasp">Authentfizierungsblock Trustprofil</a> definiert. Diese beiden Elemente k&ouml;nnen unterschiedliche oder identische TrustProfileIDs enthalten. Am MOA-SP Server m&uuml;ssen TrustProfile mit gleichlautender ID definiert werden. Die Auslieferung von MOA-ID enth&auml;lt das Verzeichnis $MOA_ID_INST_AUTH/conf/moa-spss/trustprofiles/MOAIDBuergerkarteRoot, das als TrustProfile verwendet werden kann. Weitere Zertifikate k&ouml;nnen als vertrauensw&uuml;rdig hinzugef&uuml;gt werden. </p>
<p id="certstore"> <strong>Certstore</strong><br>
Zum Aufbau eines Zertifikatspfades k&ouml;nnen ben&ouml;tigte Zertifikate aus einem Zertifikatsspeicher verwendet werden. Die Auslieferung von MOA-ID enth&auml;lt das Verzeichnis $MOA_ID_INST_AUTH/conf/moa-spss/certstore, das als initialer Zertifikatsspeicher verwendet werden kann. </p>
<p>Hinweis: Mit dem Wechsel auf Version 1.3 verwendet MOA SP/SS ein neues Format f&uuml;r die XML-Konfigurationsdatei. F&uuml;r die Konvertierung einer &auml;lteren Konfigurationsdatei auf das neue Format steht Ihnen ein Tool zur Verf&uuml;gung. Details dazu finden sie in der der Distribution von MOA-SP/SS beiliegenden Dokumentation im Kapitel 'Konfiguration', Abschnitt 1.2.1.</p>
-<h1><a name="security" id="security">6 Tomcat Security Manager</a></h1>
+<h2><a name="security" id="security"></a>6 Tomcat Security Manager</h2>
<p>Apache Tomcat bietet die M&ouml;glichkeit den Server unter einem Security Manager zu betreiben. Damit ist es m&ouml;glich den lokalen Dateizugriff zu beschr&auml;nken. Mit Hilfe der Datei "catalina.policy" k&ouml;nnen so Zugriffe auf lokale Dateien und Verzeichnisse festgelegt werden. Eine beispielhafte catalina.policy Datei finden Sie im Verzeichnis $MOA_ID_INST_AUTH/tomcat. Diese Datei wurde unter Apache Tomcat 4.1.31, 5.0.28 und 5.5.27 getestet. </p>
<p>Mehr Informationen zum Security Manager entnehmen Sie bitte der entsprechenden Apache Tomcat Dokumentation. </p>
<p>&nbsp;</p>
-<h1><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h1>
-<table class="fixedWidth" border="1" cellpadding="2">
+<h2><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h2>
+<table class="configtable">
<tbody>
<tr>
<th>Spezifikation</th>
@@ -2549,5 +2597,6 @@ Zum Aufbau eines Zertifikatspfades k&ouml;nnen ben&ouml;tigte Zertifikate aus ei
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
+</div>
</body>
</html>
diff --git a/id/server/doc/handbook/index.html b/id/server/doc/handbook/index.html
index c3b25b390..497120fec 100644
--- a/id/server/doc/handbook/index.html
+++ b/id/server/doc/handbook/index.html
@@ -2,21 +2,35 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA ID - &Uuml;bersicht</title>
<link rel="stylesheet" href="./common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
-<body link="#990000">
+<body link="#990000">
+<!--
<table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
- <td align="center" class="logoTitle" width="267"><img src="common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
+ <div class="container">
+ <td align="center" class="logoTitle" width="267"><img src="common/LogoBKA.png" alt="Logo BKA" width="200" align="left"></td>
<td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
+ <td align="center" class="logoTitle" width="123"><img src="common/LogoEGIZ.png" alt="Logo EGIZ" width="200" align="right"></td>
+ </div>
</tr>
</table>
- <hr/>
- <p class="title">MOA-ID (Identifikation) </p>
- <p class="subtitle">&Uuml;bersicht zur Dokumentation der Version 2.1.2 </p>
- <hr/>
+ -->
+
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="common/logo_digAT.png"/></a>
+ <h1>MOA-ID-AUTH </h1>
+ <br/>
+ </div>
+ </div>
+
+<div class="container">
+ <h2>&Uuml;bersicht zur Dokumentation der Version 2.2.1 </h2>
+
<dl>
<dt><a href="./intro/intro.html">Einf&uuml;hrung</a></dt>
<dd>&Uuml;bersicht &uuml;ber die einzelnen Module.</dd>
@@ -32,9 +46,12 @@
<dd>Erl&auml;utert die Integration in bestehende Online-Applikationen und beschreibt die beigelegten Demo Applikationen</dd>
<dt><a href="./additional/additional.html">Zusatzinformationen</a></dt>
<dd>Spezifiziert allgemeine Funktionen des Modules MOA-ID-Auth</dd>
+ <dt><a href="./moduledevinfo/moduledevinfo.html">Informationen f&uuml;r Modul-Entwickler</a></dt>
+ <dd>Enth&auml;lt Informationen f&uuml;r Entwickler von MOA-ID Modulen.</dd>
</dl>
<dl>
<dt>&nbsp;</dt>
</dl>
+ </div>
</body>
</html>
diff --git a/id/server/doc/handbook/install/install.html b/id/server/doc/handbook/install/install.html
index 3b1a7e905..f669af2a6 100644
--- a/id/server/doc/handbook/install/install.html
+++ b/id/server/doc/handbook/install/install.html
@@ -2,26 +2,23 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA-ID - Installation</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
-<<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123">&nbsp;</td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Installation</p>
- <hr/>
- <h1>Inhalt</h1>
- <ol>
- <li>
- <p><a href="#uebersicht">&Uuml;bersicht</a><span class="logoTitle"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></span></p>
- </li>
+<body link="#990000">
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+<div class="container">
+<h1 align="center">Installation</h1>
+ <h2>Inhalt</h2>
+ <ol class="index">
<li>
<p><a href="#webservice">MOA-ID-Auth und MOA-ID-Configuration</a></p>
<ol>
@@ -77,31 +74,30 @@
</li>
</ol>
</ol>
- <ol type="A">
+ <ol type="A" class="index">
<li><a href="#referenzierte_software">Referenzierte Software</a></li>
</ol>
- <hr/>
- <h1><a name="uebersicht" id="uebersicht"></a>1 &Uuml;bersicht</h1>
+ <h2><a name="uebersicht" id="uebersicht"></a>1 &Uuml;bersicht</h2>
<p>Die Module MOA-ID-Auth und MOA-ID-Configuration sind als plattformunabh&auml;ngige Module ausgelegt. MOA-ID-Auth bietet Webservices &uuml;ber HTTPS zur Identifizierung und Authentifizierung an. Das Modul MOA-ID-Configuration stellt eine Weboberfl&auml;che zur Konfiguration des MOA-ID-Auth Modules zur Verf&uuml;gung.</p>
<p>Dieses Handbuch beschreibt die Installation der beiden Module.</p>
-<h1><a name="webservice"></a>2 MOA-ID-Auth und MOA-ID-Configuration</h1>
+<h2><a name="webservice"></a>2 MOA-ID-Auth und MOA-ID-Configuration</h2>
<p>Dieser Abschnitt beschreibt die Installation von der Module MOA-ID-Auth und MOA-ID-Configuration. Im ersten Unterkapitel wird eine minimale Basisinstallation beschrieben. Das zweite Unterkapitel zeigt eine Reihe von optionalen Erweiterungsm&ouml;glichkeiten auf.</p>
- <h2><a name="webservice_basisinstallation" id="webservice_basisinstallation"></a>2.1 Basisinstallation</h2>
- <h3><a name="webservice_basisinstallation_einfuehrung" id="webservice_basisinstallation_einfuehrung"></a>2.1.1 Einf&uuml;hrung </h3>
+ <h3><a name="webservice_basisinstallation" id="webservice_basisinstallation"></a>2.1 Basisinstallation</h3>
+ <h4><a name="webservice_basisinstallation_einfuehrung" id="webservice_basisinstallation_einfuehrung"></a>2.1.1 Einf&uuml;hrung </h4>
<p> Die Basisinstallation der Module MOA-ID-Auth und MOA-ID-Configuration stellt einerseits die minimalen Anforderungen f&uuml;r den Betrieb von MOA-ID dar, andererseits dient sie als Ausgangspunkt f&uuml;r optionale <a href="#webservice_erweiterungsmoeglichkeiten">Erweiterungsm&ouml;glichkeiten</a>.</p>
<p>Die <strong>Mindestanforderungen</strong> f&uuml;r die Basisinstallation sind: </p>
<ul>
- <li><a href="#referenziertesoftware">Java SE 6 oder h&ouml;her</a></li>
- <li><a href="#referenziertesoftware">Apache Tomcat 6 oder h&ouml;her </a></li>
+ <li><a href="#referenziertesoftware">Java SE 7 oder h&ouml;her</a></li>
+ <li><a href="#referenziertesoftware">Apache Tomcat 7 oder h&ouml;her </a></li>
</ul>
<p>Wir <strong>empfehlen</strong> jedoch jeweils aktuelle Version zu verwenden:</p>
<ul>
<li><a href="#referenziertesoftware">Java SE Update SE 7 (neuestes Update) bzw. Java SE 8 (neuestes Update)</a><a href="#referenziertesoftware"></a></li>
- <li><a href="#referenziertesoftware">Apache Tomcat 7.0.50 bzw. Apache Tomcat 8.0.3</a> </li>
+ <li><a href="#referenziertesoftware">Apache Tomcat 7 (neuestes Update) bzw. Apache Tomcat 8</a><a href="#referenziertesoftware"> (neuestes Update)</a></li>
</ul>
<p>In diesem Betriebs-Szenario wird das MOA-ID-Auth Webservice und das MOA-ID Konfigurationstool in Tomcat zum Einsatz gebracht. Beide Module k&ouml;nnen sowohl in derselben Tomcat-Instanz, als auch in separaten Tomcat-Instanzen betrieben werden. F&uuml;r den Fall des separaten Betriebs muss die Installation auf beiden Tomcat-Instanzen ausgef&uuml;hrt werden. In beiden F&auml;llen fungiert der Tomcat gleichzeitig als HTTP- und HTTPS-Endpunkt f&uuml;r beide Module. Beide Protokolle werden direkt in Tomcat konfiguriert, wobei MOA-ID-Auth und MOA-ID-Configuration Log4j als Logging Toolkit verwenden.</p>
-<h3><a name="webservice_basisinstallation_installation" id="webservice_basisinstallation_installation"></a>2.1.2 Installation</h3>
-<h4><a name="webservice_basisinstallation_installation_vorbereitung" id="webservice_basisinstallation_installation_vorbereitung"></a>2.1.2.1 Vorbereitung</h4>
+<h4><a name="webservice_basisinstallation_installation" id="webservice_basisinstallation_installation"></a>2.1.2 Installation</h4>
+<h5><a name="webservice_basisinstallation_installation_vorbereitung" id="webservice_basisinstallation_installation_vorbereitung"></a>2.1.2.1 Vorbereitung</h5>
<p>Die folgenden Schritte dienen der Vorbereitung der Installation.</p>
<dl>
<dt>Installation von Java SE</dt>
@@ -121,11 +117,11 @@
<dd>F&uuml;r den Betrieb von MOA-ID 2.0 wird eine Datenbank ben&ouml;tigt, wobei mySQL als Datenbank empfohlen wird (wurde mit mySQL getestet). Der Einsatz eines alternativen Datenbanksystems ist jedoch ebenfalls m&ouml;glich. F&uuml;r den Betrieb werden mindestens zwei getrennte Datenbank Schema ben&ouml;tig, da die Konfiguration und die Session Informationen getrennt abgelegt werden. Erstellen Sie zwei Datenbank Schemas welche von MOA-ID-Auth verwendet werden sollen. Deren Namen k&ouml;nnen z.B. auf <em>moa-id-session</em> f&uuml;r Sessiondaten und <em>moa-id-config</em> f&uuml;r die Konfiguration lauten. Beliebige andere Namen f&uuml;r die Datenbank Schema sind jedoch auch m&ouml;glich.
</dd>
</dl>
-<h4><a name="webservice_basisinstallation_installation_tomcatconfig" id="webservice_basisinstallation_installation_tomcatconfig"></a>2.1.2.2 Konfiguration von Apache Tomcat</h4>
+<h5><a name="webservice_basisinstallation_installation_tomcatconfig" id="webservice_basisinstallation_installation_tomcatconfig"></a>2.1.2.2 Konfiguration von Apache Tomcat</h5>
<p>Die zentrale Konfigurations-Datei von Tomcat ist <code>$CATALINA_HOME/conf/server.xml</code>. Tomcat wird grunds&auml;tzlich mit einer funktionierenden Default-Konfiguration ausgeliefert. </p>
-<h5><a name="webservice_basisinstallation_installation_tomcatconfig_httpconn" id="webservice_basisinstallation_installation_tomcatconfig_httpconn"></a>2.1.2.2.1 Konfiguration des HTTP Connectors</h5>
+<h6><a name="webservice_basisinstallation_installation_tomcatconfig_httpconn" id="webservice_basisinstallation_installation_tomcatconfig_httpconn"></a>2.1.2.2.1 Konfiguration des HTTP Connectors</h6>
<p>Die Tomcat Default-Konfiguration schaltet ausschlie&szlig;lich den Connector f&uuml;r HTTP auf Port 8080 frei. Wir empfehlen diese Konfiguration nur f&uuml;r F&auml;lle, in denen das MOA-ID-Configuration Modul in einer abgeschlossenen Netzwerkumgebung betrieben wird. Das Modul MOA-ID-Auth verlangt f&uuml;r Authentifizierungsanfragen zwingend HTTPS.</p>
-<h5><a name="webservice_basisinstallation_installation_tomcatconfig_httpsconn" id="webservice_basisinstallation_installation_tomcatconfig_httpsconn"></a>2.1.2.2.2 Konfiguration des HTTPS Connectors</h5>
+<h6><a name="webservice_basisinstallation_installation_tomcatconfig_httpsconn" id="webservice_basisinstallation_installation_tomcatconfig_httpsconn"></a>2.1.2.2.2 Konfiguration des HTTPS Connectors</h6>
<p>F&uuml;r den sicheren Betrieb von MOA-ID-AUTH ist die Verwendung von SSL Voraussetzung, sofern nicht ein vorgelagerter Webserver (Apache oder IIS) das SSL-Handling &uuml;bernimmt. Ebenso kann SSL auch f&uuml;r MOA-ID-Configuration verwendet werden.</p>
<p>F&uuml;r die dazu notwendige Konfiguration kann die im vorigen Abschnitt besprochene minimale Tomcat-Konfiguration als Ausgangspunkt verwendet werden: Zun&auml;chst ist der HTTP Connector abzuschalten (auskommentieren). Anschlie&szlig;end ist der HTTPS Connector zu konfigurieren. Das Dokument <a href="http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html">Tomcat SSL Configuration HOW-TO </a> gibt einen guten &Uuml;berblick dazu. Grob zusammengefasst sind folgende Schritte durchzuf&uuml;hren: </p>
<ul>
@@ -134,7 +130,7 @@
<li>Falls eine Client-Authentisierung gew&uuml;nscht ist, muss die Konfiguration des SSL-Connectors in <code>$CATALINA_HOME/conf/server.xml</code> angepasst werden.</li>
</ul>
<p>Die Konfiguration des HTTPS Connectors kann entfallen, wenn Tomcat ein Webserver vorgeschaltet ist, und dieser die SSL-Kommunikation mit dem Kunden &uuml;bernimmt (siehe <a href="#webservice_erweiterungsmoeglichkeiten_webserver">Abschnitt 2.2.1</a>).</p>
- <h5><a name="webservice_basisinstallation_installation_spssdeploy" id="webservice_basisinstallation_installation_spssdeploy"></a>2.1.2.3 Einsatz des Moduls MOA-ID-Auth in Tomcat</h5>
+ <h6><a name="webservice_basisinstallation_installation_spssdeploy" id="webservice_basisinstallation_installation_spssdeploy"></a>2.1.2.3 Einsatz des Moduls MOA-ID-Auth in Tomcat</h6>
<p> Um die Module MOA-ID-Auth und MOA-ID-Configuration in Tomcat f&uuml;r den Einsatz vorzubereiten, sind folgende Schritte notwendig:</p>
<ul>
<li>Die Datei <code>$MOA_ID_AUTH_INST/moa-id_auth.war</code> enth&auml;lt das einsatzfertige MOA-ID-Auth Webarchiv und muss ins Verzeichnis <code>$CATALINA_HOME/webapps</code> kopiert werden. Dort wird sie beim ersten Start von Tomcat automatisch ins Verzeichnis <code>$CATALINA_HOME/webapps/moa-id-auth</code> entpackt. </li>
@@ -153,7 +149,7 @@
</ul>
</li>
</ul>
-<h5><a name="moa_id_configuration_deploy" id="webservice_basisinstallation_installation_spssdeploy2"></a>2.1.2.4 Einsatz des Moduls MOA-ID-Configuration in Tomcat</h5>
+<h6><a name="moa_id_configuration_deploy" id="webservice_basisinstallation_installation_spssdeploy2"></a>2.1.2.4 Einsatz des Moduls MOA-ID-Configuration in Tomcat</h6>
<ul>
<li>Die Datei <code>$MOA_ID_AUTH_INST/moa-id_configuration.war</code> enth&auml;lt das einsatzfertige MOA-ID-Configuration Webarchiv und muss ins Verzeichnis <code>$CATALINA_HOME/webapps</code> kopiert werden. Dort wird sie beim ersten Start von Tomcat automatisch ins Verzeichnis <code>$CATALINA_HOME/webapps/moa-id-configuration</code> entpackt. </li>
<li>Die Konfigurationsdatei mit der Basiskonfiguration f&uuml;r MOA-ID-Auth und die zugeh&ouml;rigen Verzeichnisse m&uuml;ssen in ein beliebiges Verzeichnis im Dateisystem kopiert werden (z.B. <code>$CATALINA_HOME/conf/moa-id-configuration</code>). Eine funktionsf&auml;hige Konfiguration, die als Ausgangspunkt f&uuml;r die Basiskonfiguration des MOA-ID-Auth Modules dienen kann, finden Sie <a href="../../../conf/moa-id-configuration/moa-id-configtool.properties">hier</a>. <br>
@@ -169,18 +165,18 @@
</ul>
</li>
</ul>
-<h4><a name="webservice_basisinstallation_installation_tomcatstartstop" id="webservice_basisinstallation_installation_tomcatstartstop"></a>2.1.2.4 Starten und Stoppen von Tomcat</h4>
-<h5><a name="webservice_basisinstallation_installation_tomcatstartstop_windows" id="webservice_basisinstallation_installation_tomcatstartstop_windows"></a>2.1.2.4.1 Unter Windows</h5>
+<h5><a name="webservice_basisinstallation_installation_tomcatstartstop" id="webservice_basisinstallation_installation_tomcatstartstop"></a>2.1.2.4 Starten und Stoppen von Tomcat</h5>
+<h6><a name="webservice_basisinstallation_installation_tomcatstartstop_windows" id="webservice_basisinstallation_installation_tomcatstartstop_windows"></a>2.1.2.4.1 Unter Windows</h6>
<div id="block">
<p>Das Verzeichnis <code>$MOA_IA_AUTH_INST/tomcat/win32</code> enth&auml;lt Script-Dateien zum Starten und Stoppen von Tomcat. Vor der erstmaligen Verwendung der Scripts m&uuml;ssen in den ersten Zeilen die Umgebungsvariablen <code>JAVA_HOME</code> (Basisverzeichnis der eingesetzten Java SE) und <code>CATALINA_HOME</code> (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden. Evtl. m&uuml;ssen Sie auch noch die in den Script-Dateien gesetzten, in Abschnitt 2.1.2.3 besprochenen <span class="term">System Properties</span> anpassen. </p>
</div>
-<h5><a name="webservice_basisinstallation_installation_tomcatstartstop_unix" id="webservice_basisinstallation_installation_tomcatstartstop_unix"></a>2.1.2.4.2 Unter Unix</h5>
+<h6><a name="webservice_basisinstallation_installation_tomcatstartstop_unix" id="webservice_basisinstallation_installation_tomcatstartstop_unix"></a>2.1.2.4.2 Unter Unix</h6>
<p>Zun&auml;chst m&uuml;ssen die in Abschnitt 2.1.2.3 besprochenen <span class="term">System Properties</span> mit Hilfe der Umgebungsvariablen <code>CATALINA_OPTS</code> gesetzt sein. Die Datei <code>$MOA_ID_AUTH_INST/tomcat/unix/moa-env.sh</code> enth&auml;lt ein Beispiel daf&uuml;r. Des Weiteren m&uuml;ssen noch die Umgebungsvariablen <code>JAVA_HOME</code> (Basisverzeichnis der eingesetzten Java SE) und <code>CATALINA_HOME</code> (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden.</p>
<p>Nun kann Tomcat aus seinem Basisverzeichnis mit </p>
<pre>bin/catalina.sh start</pre>
gestartet werden. Das Stoppen von Tomcat erfolgt analog mit
<pre>bin/catalina.sh stop</pre>
-<h5><a name="webservice_basisinstallation_installation_tomcatstartstop_verify" id="webservice_basisinstallation_installation_tomcatstartstop_verify"></a>2.1.2.4.3 Pr&uuml;fen des erfolgreichen Starts </h5>
+<h6><a name="webservice_basisinstallation_installation_tomcatstartstop_verify" id="webservice_basisinstallation_installation_tomcatstartstop_verify"></a>2.1.2.4.3 Pr&uuml;fen des erfolgreichen Starts </h6>
<div id="block">
<p>Ein erfolgreicher Start des MOA-ID-Auth Modules ist an folgender Log-Meldung ersichtlich: <br>
</p>
@@ -200,7 +196,7 @@ http://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/</pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/
https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/</pre>
<p>Die Verf&uuml;gbarkeit des Services k&ouml;nnen Sie einfach &uuml;berpr&uuml;fen, indem Sie die Endpunkte mit einem Web-Browser aufgerufen; dies sollte nach erfolgreichem Start zur Anzeige einer Informationsseite f&uuml;hren. </p>
-<h4><a name="webservice_basisinstallation_logging" id="webservice_basisinstallation_logging"></a>2.1.3 Logging </h4>
+<h5><a name="webservice_basisinstallation_logging" id="webservice_basisinstallation_logging"></a>2.1.3 Logging </h5>
<p>Beide Module verwenden <a href="#referenziertesoftware">Log4j</a> f&uuml;r die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j bietet zahlreiche Konfigurationsm&ouml;glichkeiten, die ausf&uuml;hrlich im Log4j Handbuch beschrieben sind. Unter anderem gibt es die M&ouml;glichkeit, folgende Einstellungen vorzunehmen:
<ul>
<li id="klein">
@@ -227,7 +223,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/</pre>
</li>
</ul>
<p>Eine f&uuml;r beide Module passende Konfigurationsdatei f&uuml;r Log4j finden Sie <a href="../../../conf/moa-spss/log4j.properties">hier</a>. Wird diese Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen sowohl in die Konsole, als auch in die Dateien <code>moa-id-auth.log</code> und <code>moa-id-configuration.log</code> geschrieben. </p>
- <h4><a name="webservice_basisinstallation_logging_format" id="webservice_basisinstallation_logging_format"></a>2.1.3.1 Format der Log-Meldungen</h4>
+ <h5><a name="webservice_basisinstallation_logging_format" id="webservice_basisinstallation_logging_format"></a>2.1.3.1 Format der Log-Meldungen</h5>
<p> Anhand einer konkreten Log-Meldung wird das Format der MOA SP/SS Log-Meldungen erl&auml;utert: </p>
<pre>
INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1
@@ -254,7 +250,7 @@ INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1
<p>Der n&auml;chste Wert <code>01 21:25:26,540</code> gibt den Zeitpunkt an, zu dem die Log-Meldung generiert wurde (in diesem Fall den 1. Tag im aktuellen Monat, sowie die genaue Uhrzeit). </p>
<p> Der Wert <code>Thread-3</code> bezeichnet den Thread, von dem die Anfrage bearbeitet wird.</p>
<p> Der Rest der Zeile einer Log-Meldung ist der eigentliche Text, mit dem das System bestimmte Informationen anzeigt. Im Fehlerfall ist h&auml;ufig ein Java Stack-Trace angef&uuml;gt, der eine genauere Ursachen-Forschung erm&ouml;glicht.</p>
-<h4> <a name="webservice_basisinstallation_logging_messages" id="webservice_basisinstallation_logging_messages"></a>2.1.3.2 Wichtige Log-Meldungen</h4>
+<h5> <a name="webservice_basisinstallation_logging_messages" id="webservice_basisinstallation_logging_messages"></a>2.1.3.2 Wichtige Log-Meldungen</h5>
<p> Neben den im Abschnitt <a href="#webservice_basisinstallation_installation_tomcatstartstop_verify">2.1.2.4.3</a> beschriebenen Log-Meldungen, die anzeigen, ob das Service ordnungsgem&auml;&szlig; gestartet wurde, geben nachfolgenden Log-Meldungen Aufschluss &uuml;ber die Abarbeitung von Anfragen. </p>
<p>Die Entgegennahme einer Anfrage wird angezeigt durch:
@@ -267,32 +263,32 @@ INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1
<p>In diesem Fall gibt der mitgeloggte Stacktrace Auskunft &uuml;ber die Art des Fehlers.</p>
<p> Die tats&auml;chlich &uuml;bertragenen Anfragen bzw. Antworten werden aus Effizienzgr&uuml;nden nur im Log-Level <code>DEBUG</code> angezeigt. </p>
</div>
- <h2><a name="webservice_erweiterungsmoeglichkeiten" id="webservice_erweiterungsmoeglichkeiten"></a>2.2 Erweiterungsm&ouml;glichkeiten</h2>
+ <h3><a name="webservice_erweiterungsmoeglichkeiten" id="webservice_erweiterungsmoeglichkeiten"></a>2.2 Erweiterungsm&ouml;glichkeiten</h3>
<p>Ausgehend von der <a href="#webservice_basisinstallation">Basisinstallation</a> k&ouml;nnen die optionalen Erweiterungen, die in den nachfolgenden Abschnitten beschrieben werden, unabh&auml;ngig und in beliebiger Kombination aufgesetzt werden.</p>
-<h3><a name="webservice_erweiterungsmoeglichkeiten_webserver" id="webservice_erweiterungsmoeglichkeiten_webserver"></a>2.2.1 Vorgeschalteter Webserver</h3>
-<h4><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis" id="webservice_erweiterungsmoeglichkeiten_webserver_iis"></a>2.2.1.1 Microsoft Internet Information Server (MS IIS) </h4>
+<h4><a name="webservice_erweiterungsmoeglichkeiten_webserver" id="webservice_erweiterungsmoeglichkeiten_webserver"></a>2.2.1 Vorgeschalteter Webserver</h4>
+<h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis" id="webservice_erweiterungsmoeglichkeiten_webserver_iis"></a>2.2.1.1 Microsoft Internet Information Server (MS IIS) </h5>
<p>Den MOA SP/SS Webservices kann optional ein MS IIS vorgeschaltet sein. In diesem Fall &uuml;bernimmt der MS IIS die HTTP- bzw. HTTPS-Kommunikation mit dem Aufrufer des Webservices. Die Kommunikation zwischen MS IIS und dem in Tomcat eingerichteten MOA-ID Modulen wird durch <span class="term">mod_jk</span> durchgef&uuml;hrt. Die angef&uuml;hrten Konfigurationsschritte gehen von einer MS IIS Standard-Installation aus.</p>
- <h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis_jk" id="webservice_erweiterungsmoeglichkeiten_webserver_iis_jk"></a>2.2.1.1.1 Konfiguration von <span class="term">mod_jk</span> im MS IIS</h5>
+ <h6><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis_jk" id="webservice_erweiterungsmoeglichkeiten_webserver_iis_jk"></a>2.2.1.1.1 Konfiguration von <span class="term">mod_jk</span> im MS IIS</h6>
<p> F&uuml;r die Kommunikation des MS IIS mit dem im Tomcat eingerichteten MOA SP/SS Webservice wird das <span class="term">ISAPI</span>-Modul von <span class="term">mod_jk</span> im MS IIS installiert und konfiguriert. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <span class="term"><a href="http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html" target="_blank">mod_jk</a></span><a href="http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html" target="_blank"> IIS HowTo</a>. Beispiele f&uuml;r <code>workers.properties</code> und <code>uriworkermap.properties</code> Dateien liegen im Verzeichnis <code>$MOA_ID_AUTH_INST/tomcat</code> bei.</p>
- <h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis_tomcat" id="webservice_erweiterungsmoeglichkeiten_webserver_iis_tomcat"></a>2.2.1.1.2 Konfiguration von Tomcat</h5>
+ <h6><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis_tomcat" id="webservice_erweiterungsmoeglichkeiten_webserver_iis_tomcat"></a>2.2.1.1.2 Konfiguration von Tomcat</h6>
<p>Damit Tomcat die Aufrufe entgegennehmen kann, die von MS IIS mittels <span class="term"> mod_jk</span> weiterleitet werden, muss in <code>$CATALINA_HOME/conf/server.xml</code> der <span class="term">AJP Connector</span> aktiviert werden. Im Gegenzug k&ouml;nnen die Konnektoren f&uuml;r HTTP und HTTPS deaktiviert werden. Das geschieht am einfachsten durch Ein- bzw. Auskommentieren der entsprechenden <code>Connector</code> Konfigurations-Elemente in dieser Datei.</p>
-<h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis_ssl" id="webservice_erweiterungsmoeglichkeiten_webserver_iis_ssl"></a>2.2.1.1.3 Konfiguration von SSL</h5>
+<h6><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis_ssl" id="webservice_erweiterungsmoeglichkeiten_webserver_iis_ssl"></a>2.2.1.1.3 Konfiguration von SSL</h6>
<p> Die Dokumentation zum Einrichten von SSL auf dem MS IIS steht nach Installation des IIS unter http://localhost/iisHelp/ oder aber auch auf den Webseiten von Mircrosoft zur Verf&uuml;gung. </p>
- <h4><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache" id="webservice_erweiterungsmoeglichkeiten_webserver_apache"></a>2.2.1.2 Apache</h4>
+ <h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache" id="webservice_erweiterungsmoeglichkeiten_webserver_apache"></a>2.2.1.2 Apache</h5>
<p>Den MOA SP/SS Webservices kann ein Apache Webserver vorgeschaltet sein. Das Prinzip funktioniert wie bei MS IIS, auch hier wird <span class="term"> mod_jk</span> f&uuml;r die Kommunikation zwischen Webserver und Tomcat eingesetzt. Die angef&uuml;hrten Konfigurationsschritte gehen von einer Standard-Installation des Apache Webservers aus.</p>
- <h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache_jk" id="webservice_erweiterungsmoeglichkeiten_webserver_apache_jk"></a>2.2.1.2.1 Konfiguration von <span class="term"> mod_jk</span> im Apache </h5>
+ <h6><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache_jk" id="webservice_erweiterungsmoeglichkeiten_webserver_apache_jk"></a>2.2.1.2.1 Konfiguration von <span class="term"> mod_jk</span> im Apache </h6>
<p>Um die MOA-ID Module hinter einem Apache Webserver zu betreiben, ist die Konfiguration des Apache-Moduls <span class="term">mod_jk</span> erforderlich. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <span class="term"><a href="http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html" target="_blank">mod_jk</a></span><a href="http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html" target="_blank"> Apache HowTo</a>. Ein Beispiel f&uuml;r eine <code>workers.properties</code> Datei liegt im Verzeichnis <code>$MOA_ID_AUTH_INST/tomcat</code> bei.</p>
<p>Um die MOA-ID Module dem Apache Webserver bekannt zu machen, sind zumindest folgende Eintr&auml;ge im globalen Kontext der Apache-Konfigurationsdatei notwendig:</p>
<pre>LoadModule jk_module /usr/lib/apache/mod_jk.so<br>AddModule jk_module<br>JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories<br>JkWorkersFile conf/workers.properties <br>JkMount /moa-spss/* moaworker </pre>
<p>Die Pfad- und Dateinamen k&ouml;nnen je nach existierender Apache Installation geringf&uuml;gig variieren.</p>
- <h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache_tomcat" id="webservice_erweiterungsmoeglichkeiten_webserver_apache_tomcat"></a>2.2.1.2.2 Konfiguration von Tomcat</h5>
+ <h6><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache_tomcat" id="webservice_erweiterungsmoeglichkeiten_webserver_apache_tomcat"></a>2.2.1.2.2 Konfiguration von Tomcat</h6>
<p>Die Konfiguration von Tomcat ist analog zu Abschnitt <a href="#webservice_erweiterungsmoeglichkeiten_webserver_iis_tomcat">2.2.1.1.2</a> durchzuf&uuml;hren.</p>
- <h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache_ssl" id="webservice_erweiterungsmoeglichkeiten_webserver_apache_ssl"></a>2.2.1.2.2 Konfiguration von SSL mit <span class="term">mod_SSL</span></h5>
+ <h6><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache_ssl" id="webservice_erweiterungsmoeglichkeiten_webserver_apache_ssl"></a>2.2.1.2.2 Konfiguration von SSL mit <span class="term">mod_SSL</span></h6>
<p>Apache kann in Verbindung mit <span class="term">mod_SSL</span> als SSL-Endpunkt f&uuml;r die MOA-ID Module fungieren. In diesem Fall entf&auml;llt die SSL-Konfiguration in Tomcat, da Apache und Tomcat auch im Fall von SSL Daten via <span class="term">mod_jk</span> austauschen. Eine detaillierte Installations- und Konfigurationsanleitung enth&auml;lt die <a href="http://www.modssl.org/docs/" target="_blank">Online-Dokumentation</a> von <span class="term">mod_SSL</span>.</p>
<p>Bei der Verwendung von Client-Authentisierung muss darauf geachtet werden, dass <span class="term">mod_ssl</span> die HTTP-Header mit den Informationen &uuml;ber das Client-Zertifikat exportiert. Dies wird durch Angabe der folgenden Option in der Apache-Konfiguration erreicht: </p>
<pre>SSLOptions +ExportCertData +StdEnvVars</pre>
<p>Je nach vorhandener SSL-Konfiguration des Apache Webservers kann diese Option im globalen Kontext, im Kontext des Virtual Hosts oder im Kontext eines Verzeichnisses spezifiziert werden.</p>
-<h1><a name="referenzierte_software"></a>A Referenzierte Software</h1>
+<h2><a name="referenzierte_software"></a>A Referenzierte Software</h2>
<p>Auf folgende Software-Pakete wird in diesem Handbuch verwiesen:</p>
<table class="fixedWidth" border="1" cellpadding="2">
<tr>
@@ -312,6 +308,6 @@ INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1
<td>Logging Framework </td>
</tr>
</table>
-
+ </div>
</body>
</html>
diff --git a/id/server/doc/handbook/interfederation/interfederation.html b/id/server/doc/handbook/interfederation/interfederation.html
index f52556e23..6bc3727b4 100644
--- a/id/server/doc/handbook/interfederation/interfederation.html
+++ b/id/server/doc/handbook/interfederation/interfederation.html
@@ -2,23 +2,23 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA-ID - Protokolle</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Interfederation</p>
- <hr/>
-<h1>Inhalt</h1>
- <ol>
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+<div class="container">
+<h1 align="center">Interfederation</h1>
+ <h2>Inhalt</h2>
+ <ol class="index">
<li><a href="#general">Allgemeines</a>
<ol>
<li><a href="#sequenzediagramm">Sequenzdiagramm</a></li>
@@ -40,9 +40,9 @@
<li><a href="#storkpvpgateway">STORK &lt;-&gt; PVP Gateway</a></li>
</ol>
<p>&nbsp;</p>
- <h1><a name="general" id="konfigurationsparameter_allgemein_bku7"></a>1 Allgemeines</h1>
+ <h2><a name="general" id="konfigurationsparameter_allgemein_bku7"></a>1 Allgemeines</h2>
<p>Ab der Version 2.1.0 des Modulpakets MOA-ID unterst&uuml;tzt das Modul MOA-ID-Auth Single Sign-On Interfederation zwischen Instanzen des Modules MOA-ID-Auth, welche bei unterschiedlichen Service Providern betrieben werden. Die nachfolgende Abbildung zeigt das Blockdiagramm einer solchen Systemkonfiguration und beschreibt die Funktionalit&auml;t auf einer abstrakten Ebene.</p>
- <p><img src="blockdiagramm.png" width="1010" height="618" alt="Blockdiagramm MOA-ID Inderfederation"></p>
+ <div class="smallImgDiv"><img src="blockdiagramm.png" alt="Blockdiagramm MOA-ID Inderfederation"></div>
<ol>
<li>Eine Benutzerin oder ein Benutzer m&ouml;chte sich an einer Online Applikation (Applikation 1) oder einem Service Portal anmelden.</li>
<li>F&uuml;r den Anmeldevorgang wird die Benutzerin oder der Benutzer an den IdentityProvider (MOA-ID IDP 1) welcher die Identifizierung und Authentifizierung durchf&uuml;hrt und eine Single Sign-On (SSO) Session anlegt.</li>
@@ -52,9 +52,9 @@
<li>IDP 2 holt von IDP 1 die Authentifizierungsinformationen f&uuml;r Applikation 2 ab. F&uuml;r die Kommunikation zwischen den beiden IDPs wird PVP 2.1 als Protokoll verwendet. Sollte am IDP 1 keine aktive SSO Session f&uuml;r diesen Benutzer existieren wird eine lokale Authentifizierung der Benutzerin oder des Benutzer an IDP 2 gestartet.</li>
<li>Anschlie&szlig;end wird die Benutzerin oder der Benutzer an Applikation 2 zur&uuml;ckgeleitet und befindet sich im angemeldeten Bereich der Applikation 2.</li>
</ol>
-<h2><a name="sequenzediagramm" id="konfigurationsparameter_allgemein_bku"></a>1.1 Sequenzdiagramm</h2>
+<h3><a name="sequenzediagramm" id="konfigurationsparameter_allgemein_bku"></a>1.1 Sequenzdiagramm</h3>
<p>Das nachfolgende Sequenzdiagramm beschreibt den Ablauf eines Anmeldevorgangs an einer Online Applikation mit Hilfe von Interfederation im Detail wobei in diesem Beispiel als Authentifizierungsprotokoll an der Online Applikation 2 PVP 2.1 und die <a href="#usage_redirect">Variante mit Redirect Servlet</a> verwendet werden. Eine Verwendung aller anderen, durch das Modul MOA-ID-Auth bereitgestellten Authentifizierungsprotokolle ist jedoch ebenfalls m&ouml;glich. Aus Gr&uuml;nden der &Uuml;bersichtlichkeit sind die Schritte 1 - 3 aus dem oben dargestellten Blockdiagramm im Sequenzdiagramm nicht ber&uuml;cksichtigt, da diese Schritte bereits im Kapitel <a href="./../protocol/protocol.html">Protokolle</a> im Detail beschrieben wurden. </p>
-<p><img src="interfederation_sequenz.png" width="1082" height="994" alt="SSO Interfederation Sequenze"></p>
+ <div class="largeImgDiv"><img src="interfederation_sequenz.png" alt="SSO Interfederation Sequenze"></div>
<p>&nbsp;</p>
<ol>
<li>Die Benutzerin oder der Benutzer ist bereits an einer Online Applikation (Application 1) angemeldet und m&ouml;chte sich nun an einer zweiten Online Applikation (Application 2) mittels Single Sign On anmelden. Nach dem Click auf die entsprechende Login Schaltfl&auml;che wird der Anmeldevorgang gestartet.</li>
@@ -84,21 +84,21 @@
<li>Online Applikation 2 validiert die Assertion</li>
<li>Wurde die Validierung der Assertion positiv abgeschlossen wird der Benutzer im sicheren Bereich von Online Applikation zwei angemeldet.</li>
</ol>
-<h1> <a name="config" id="konfigurationsparameter_allgemein_bku2"></a>2 Konfiguration</h1>
+<h2> <a name="config" id="konfigurationsparameter_allgemein_bku2"></a>2 Konfiguration</h2>
<p>Die Konfiguration des Modules MOA-ID-Auth in einer IDP Interfederation ist in zwei Abschnitte unterteilt. Der erste Teil behandelt die Basiskonfiguration des Modules MOA-ID-Auth. Im zweiten Abschnitt erfolgt die Konfiguration der einzelnen IDP Instanzen welche von dieser MOA-ID-Auth verwendet werden k&ouml;nnen oder in einem IDP interfederation Verbund stehen.</p>
<p>Bei IDP Interfederation handelt es sich um eine Erweiterung der Funktionalit&auml;t des Modules MOA-ID-Auth. Die in diesem Abschnitt beschriebene Konfiguration bezieht sich speziell auf den Bereich Interfederation, ersetzt jedoch nicht die Konfiguration des Modules MOA-ID-Auth laut Kapitel <a href="./../config/config.html">Konfiguration</a>.</p>
-<h2><a name="config_basic" id="konfigurationsparameter_allgemein_bku3"></a>2.1 Basiskonfiguration</h2>
+<h3><a name="config_basic" id="konfigurationsparameter_allgemein_bku3"></a>2.1 Basiskonfiguration</h3>
<p>Wird das Modul MOA-ID-Auth in einer IDP Interfederation betrieben muss das PVP 2.1 Protokoll, in der Basiskonfiguration von MOA-ID-Auth konfiguriert werden. Eine Beschreibung der entsprechenden Konfigurationsparameter finden Sie im Kapitel <a href="./../config/config.html#basisconfig_moa_id_auth_param_protocol_pvp21">Protokolle -&gt; PVP 2.1</a>. </p>
-<h2><a name="config_idps" id="konfigurationsparameter_allgemein_bku4"></a>2.2 Konfiguration einzelner IDPs </h2>
+<h3><a name="config_idps" id="konfigurationsparameter_allgemein_bku4"></a>2.2 Konfiguration einzelner IDPs </h3>
<p>Zus&auml;tzlich zu Basiskonfiguration m&uuml;ssen alle f&uuml;r diese IDP Interfederation registrierten IDPs konfiguriert werden. Diese Konfiguration erfolgt &uuml;ber das Modul MOA-ID-Configuration wobei f&uuml;r Interfederation ein eigener Men&uuml;punkt im Hauptmen&uuml; zur Verf&uuml;gung steht. &Uuml;ber diesen Konfigurationspunkt k&ouml;nnen neue IDPs hinzugef&uuml;gt (MOA-ID IDP hinzuf&uuml;gen) oder bestehende IDPs bearbeitet werden wobei alle aktuell hinterlegten IDPs in einer Liste dargestellt werden.</p>
<p>Die Konfiguration der einzelnen IDP Instanzen erfolgt &auml;hnlich zur Konfiguration von Online-Applikationen (siehe <a href="./../config/config.html#konfigurationsparameter_oa">Online-Applikationskonfiguration</a>), jedoch sind f&uuml;r eine IDP Konfiguration nicht alle Konfigurationsparameter aus der Online-Applikationskonfiguration erforderlich.</p>
<p>Im ersten Abschnitt werden allgemeine Informationen zum IDP konfiguriert.</p>
-<table width="1199" border="1">
+<table class="configtable">
<tr>
- <th width="153" scope="col">Name</th>
- <th width="204" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Online-Applikation ist aktiviert</td>
@@ -128,12 +128,12 @@
</table>
<p>&nbsp;</p>
<p>Der zweite Abschnitt behandelt spezielle Konfigurationsparameter f&uuml;r IDP Interfederation.</p>
-<table width="1199" border="1">
+<table class="configtable">
<tr>
- <th width="153" scope="col">Name</th>
- <th width="204" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadIDP_moaIDP_inboundSSO">Eingehendes SSO erlauben</span></td>
@@ -185,13 +185,13 @@
</ul>
</li>
</ul>
-<h1><a name="usage" id="konfigurationsparameter_allgemein_bku6"></a>3 Integration in bestehende Systeme</h1>
+<h2><a name="usage" id="konfigurationsparameter_allgemein_bku6"></a>3 Integration in bestehende Systeme</h2>
<p>Um den Interfederation Mechanismus in ein bestehendes System zu integrieren muss dem protokollspezifischen Authentifizierungsrequest, welcher da das Modul MOA-ID-Auth gesendet wird, ein zus&auml;tzlicher Parameter angef&uuml;gt werden. Dieser Parameter identifiziert den interfederation IDP von welchem eine aktive SSO Session verwendet werden soll. Dieser zus&auml;tzliche Parameter kann als http GET oder als http POST Parameter an MOA-ID-Auth &uuml;bertragen werden. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>interIDP</td>
@@ -202,7 +202,7 @@
</table>
<p>&nbsp;</p>
<p>Wie bereits im <a href="#sequenzediagramm">Abschnitt Sequenzdiagramm</a> erw&auml;hnt stehen f&uuml;r die &Uuml;bertragung des zus&auml;tzlichen Parameters zwei Varianten zur Verf&uuml;gung.</p>
-<h2><a name="usage_direct" id="konfigurationsparameter_allgemein_bku8"></a>3.1 Direkte &Uuml;bermittlung im Authentifizierungsrequest</h2>
+<h3><a name="usage_direct" id="konfigurationsparameter_allgemein_bku8"></a>3.1 Direkte &Uuml;bermittlung im Authentifizierungsrequest</h3>
<p>Bei dieser Variante wird der zus&auml;tzliche Parameter <em>interIDP</em> direkt im protokollspezifischen Authentifizierungsrequest, welcher den Authentifizierungsvorgang startet, angef&uuml;gt. In diesem Fall muss der Service Provider, welcher den Authentifizierungsrequest erzeugt, den zus&auml;tzlichen Parameter <em>interIDP</em> einf&uuml;gen. Diese Variante steht f&uuml;r alle verf&uuml;gbaren Authentifizierungsvarianten des Modules MOA-ID-Auth zur Verf&uuml;gung und es existieren keine besonderen Einschr&auml;nkungen. Das nachfolgende Beispiel zeigt die Verwendung in Kombination mit SAML 1 wobei der <em>interIDP</em> Parameter als http GET Parameter &uuml;bermittelt wird.</p>
<pre>&lt;a href="https://&lt;moa-id-server-und-pfad&gt;/StartAuthentication
?Target=&lt;gesch&auml;ftsbereich&gt;
@@ -210,13 +210,13 @@
&amp;bkuURI=&lt;bku-url&gt;
&amp;interIDP=&lt;IDP EntityID&gt;
&gt;</pre>
-<h2><a name="usage_redirect" id="konfigurationsparameter_allgemein_bku9"></a>3.2 Verwendung des Redirect Servlets</h2>
+<h3><a name="usage_redirect" id="konfigurationsparameter_allgemein_bku9"></a>3.2 Verwendung des Redirect Servlets</h3>
<p>Bei dieser Variante wird der zus&auml;tzliche Parameter <em>interIDP</em> und eine Redirect-URL <em>redirecturl</em> an ein Service der MOA-ID-Auth Instanz &uuml;bermittelt. Dieses Service validiert alle Parameter und hinterlegt den Parameter <em>interIDP</em> in einem http Cookie im Browser der Benutzerin oder des Benutzers. Anschlie&szlig;end erfolgt ein Redirect an die im Parameter redirecturl angegebene Service welches den eigentlichen Authentifizierungsrequest erzeugt und an die MOA-ID-Auth Instanz sendet. In diesem Fall ist es nicht erforderlich dass der Authentifizierungsrequest den zus&auml;tzlichen Parameter <em>interIDP</em> enth&auml;lt, da dieser &uuml;ber das zuvor gesetzte http Cookie vom Modul MOA-ID-Auth ausgewertet wird. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>interIDP</td>
@@ -232,15 +232,15 @@
</tr>
</table>
<p>&nbsp;</p>
-<h1><a name="vidp" id="konfigurationsparameter_allgemein_bku5"></a>4 STORK VIDP Konfiguration</h1>
+<h2><a name="vidp" id="konfigurationsparameter_allgemein_bku5"></a>4 STORK VIDP Konfiguration</h2>
<p>Das Modul MOA-ID-Auth kann auch als STORK2 VIDP betrieben werden. Diese VIDP Konfiguration erfolgt ebenfalls &uuml;ber den Men&uuml;punkt Interfederation, wobei neues VIDPs mit Hilfe der Schaltfl&auml;che VIDP hinzuf&uuml;gen konfiguriert werden k&ouml;nnen. </p>
<p>Die Konfiguration eines VIDPs erfolgt weitgehend identisch zur Konfiguration einer <a href="./../config/config.html#konfigurationsparameter_oa">Online-Applikation</a>, wobei im Falle eines VIDPs noch folgende zus&auml;tzliche Konfigurationsparameter zur Verf&uuml;gung stehen.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="185" scope="col">Name</th>
- <th width="85" scope="col">Beispielwert</th>
- <th width="66" scope="col">Optional</th>
- <th width="886" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><p>VIDP Interface aktiv</p></td>
@@ -260,10 +260,10 @@
Diese Attributprovider werden f&uuml;r die Abholung einiger Attribute von &ouml;sterreichischen B&uuml;rgern ben&ouml;tigt (Anmeldung in Ausland). Die Eintragung und Auswahl von Attributprovidern ist <span class="term">optional</span>. </p>
<p>W&auml;hrend des Anmeldevorgangs wird der Benutzer an den entsprechenden Attributprovider weitergeleitet. Am Attributprovider werden die erforderlichen Attribute ausgew&auml;hlt und zur&uuml;ck an VIDP (am Service Provider) geliefert. </p>
<br/>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name des Plugins</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name des Plugins</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>EHvdAttributeProvider</td>
@@ -293,11 +293,11 @@
</table>
<p>&nbsp;</p>
<p>Beispiel eines Eintrages f&uuml;r Attributprovider:</p>
-<pre><table width="1220" border="1">
+<pre><table class="configtable">
<tr>
- <th width="167" scope="col">AP Plugin</th>
- <th width="681" scope="col">URL</th>
- <th width="281" scope="col">Attribute</th>
+ <th>AP Plugin</th>
+ <th>URL</th>
+ <th>Attribute</th>
</tr>
<tr>
<td>MISAttributeRequestProvider</td>
@@ -306,10 +306,10 @@
</tr>
</table></pre>
<p>&nbsp;</p>
-<h1><a name="storkpvpgateway" id="konfigurationsparameter_allgemein_bku10"></a>5 STORK &lt;-&gt; PVP Gateway</h1>
+<h2><a name="storkpvpgateway" id="konfigurationsparameter_allgemein_bku10"></a>5 STORK &lt;-&gt; PVP Gateway</h2>
<p>Das Modul MOA-ID-Auth kann auch als Gateway zwischen dem Portalverbund der &ouml;sterreichischen Beh&ouml;rden und der STORK Infrastruktur betrieben werden. Diese Konfiguration konfiguriert einen Gateway welcher zur Authentifizierung &ouml;sterreichischer Benutzerinnen oder Benutzer im Falle einer STORK Anmeldung mit Hilfe der &ouml;sterreichischen PVP Infrastruktur dient. Der Einsprung zum Gateway erfolgt &uuml;ber den <em>PVPAuthenticationProvider</em> in der <a href="#vidp">VIDP Konfiguration</a>.</p>
<p>Die nachstehende Grafik skizziert den Prozessfluss eines solchen Anmeldevorgangs.</p>
-<p><img src="blockdiagramm_storkpvpgateway.png" width="1000" height="734" alt="Blockdiagramm STORK-PVP Gateway"></p>
+<div class="smallImgDiv"><img src="blockdiagramm_storkpvpgateway.png" alt="Blockdiagramm STORK-PVP Gateway"></div>
<ol>
<li>Eine &ouml;sterreichische Benutzerin oder ein &ouml;sterreichischer Benutzer m&ouml;chte sich an einer europ&auml;ischen Online Applikation (Applikation 1) anmelden.</li>
<li>Die Benutzerin oder der Benutzer wird an den entsprechenden VIDP unter Verwendung des STORK Protokolls zur Authentifizierung weitergeleitet. F&uuml;r den Fall das spezielle Attribute durch die Applikation angefordert wurden (z.B. <em>ECApplicationRole</em>) kann die Authentifizierung nicht am VIDP vorgenommen werden. In diesem Fall erfolgt eine Weiterleitung an den nationalen STORK-PVP Gateway (siehe <a href="#vidp">VIDP Konfiguration</a>).</li>
@@ -322,12 +322,12 @@
</ol>
<p>&nbsp;</p>
<p>Die Konfiguration eines STORK-PVP Gateways besteht aus folgenden Elementen.</p>
-<table width="1199" border="1">
+<table class="configtable">
<tr>
- <th width="153" scope="col">Name</th>
- <th width="204" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Online-Applikation ist aktiviert</td>
@@ -357,12 +357,13 @@
</tr>
</table>
<p>&nbsp;</p>
-<table width="1199" border="1">
+<table class="configtable">
+<table class="configtable">
<tr>
- <th width="153" scope="col">Name</th>
- <th width="204" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadIDP_pVPGateway_entityID">EntityID des PVP Portals:</span></td>
@@ -374,7 +375,7 @@
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
-<h1><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h1>
+<h2><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h2>
<table class="fixedWidth" border="1" cellpadding="2">
<tbody>
<tr>
@@ -411,5 +412,6 @@
</tr>
</tbody>
</table>
+ </div>
</body>
</html>
diff --git a/id/server/doc/handbook/intro/intro.html b/id/server/doc/handbook/intro/intro.html
index f2af77391..19c9aa72d 100644
--- a/id/server/doc/handbook/intro/intro.html
+++ b/id/server/doc/handbook/intro/intro.html
@@ -2,66 +2,67 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA-ID - Einf&uuml;hrung</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Einf&uuml;hrung</p>
- <hr/>
- <h1>Inhalt</h1>
- <ol>
- <li><a href="#allgemeines">Allgemeines</a>
- <ol>
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+
+ <div class="container">
+<h1 align="center">Einf&uuml;hrung</h1>
+ <h2>Inhalt</h2>
+ <ul class="index">
+ <li class="index"><a href="#allgemeines">Allgemeines</a>
+ <ul>
<li><a href="#allgemeines_service">Externe Services</a></li>
- </ol>
+ </ul>
</li>
- <li><a href="#ss">MOA-ID-Auth </a>
- <ol>
+ <li class="index"><a href="#moaidauth">MOA-ID-Auth </a>
+ <ul>
<li><a href="#ablauf">Ablauf einer Anmeldung</a></li>
- </ol>
+ </ul>
</li>
- <li><a href="#sp">MOA-ID-Configuration</a></li>
- </ol>
-<hr/>
- <h1><a name="allgemeines"></a>1 Allgemeines</h1>
- <p> Das Module MOA-ID-Auth kann von Anwendungen zur Identifizierung und Authentifizierung im Rahmen eines Anmeldeprozesses an einer Online-Applikation verwendet werden. Die Konfiguration des Modules MOA-ID-Auth erfolgt mit Hilfe des Zusatzmodules MOA-ID-Configuration welches eine web-basierte Konfigurationsschnittstelle zur Verf&uuml;gung stellt.</p>
+ <li class="index"><a href="#config">MOA-ID-Configuration</a></li>
+ </ul>
+ <h2><a name="allgemeines"></a>1 Allgemeines</h2>
+ <p> Das Modul MOA-ID-Auth kann von Anwendungen zur Identifizierung und Authentifizierung im Rahmen eines Anmeldeprozesses an einer Online-Applikation verwendet werden. Die Konfiguration des Modules MOA-ID-Auth erfolgt mit Hilfe des Zusatzmodules MOA-ID-Configuration welches eine web-basierte Konfigurationsschnittstelle zur Verf&uuml;gung stellt.</p>
<p>Das nachfolgende Blockdiagramm zeigt Struktur von MOA-ID und gibt eine kurze Beschreibung der einzelnen Komponenten.</p>
- <p><img src="Blockdiagramm.png" alt="Architektur MOA-ID" width="1000" height="678"></p>
- <p>&nbsp;</p>
+ <br/>
+ <p class="centeredimage"><img src="Blockdiagramm.png" alt="Architektur MOA-ID" width="95%" align="middle"></p>
+ <br/>
<p>MOA-ID besteht aus folgenden Kernkomponenten:</p>
<ol>
- <li><u>CORE LOGIC</u>: Diese Komponente ist die zentrale Logik zur Steuerung der einzelnen Prozesse innerhalb MOA-ID 2.x.</li>
- <li><u>Protocol Adapter</u>: Stellt die in MOA-ID 2.x unterst&uuml;tzten <a href="../protocol/protocol.html">Authentifizierungsprotokolle</a> f&uuml;r die Anbindung von Service Providern zur Verf&uuml;gung.</li>
- <li><u>Auth Sources</u>: Stellt die von MOA-ID 2.x unterst&uuml;tzten Identifikationsmechanismen und Single Sign-On Management Funktionen zur Verf&uuml;gung. Dies sind die &ouml;sterreichische B&uuml;rgerkarte oder Handy-Signatur, die Anmeldung ausl&auml;ndischer Personen mit Hilfe des STORK Protokoll oder mittels Single Sign-On von einem weiteren vertrauensw&uuml;rdigen Identity Provider (Interfederation). Dieses Modul beinhaltet somit alle jene Funktionen welche f&uuml;r den Authentifizierungs- oder Abmeldeprocess erforderlich sind. </li>
- <li><u>Template Generator</u>: Der Template Generator erzeugt f&uuml;r Service Provider die entsprechenden Login-Masken f&uuml;r die Integration in die eigene Web-Applikation.</li>
- <li><u>SSO Module</u>: Das Single Sign-On (SSO) Modul verwaltet die zus&auml;tzlichen Operationen die sich aus der Umsetzung von SSO ergeben. Dies umfasst im Besonderen das SSO Session-Management.</li>
- <li><u>Statistic Module</u>: Dieses Modul dient zur Generierung von anonymisierten Statistikdaten aus den Anmeldeinformationen. </li>
- <li><u>Monitoring &amp; Testing Module</u>: Dieses Modul implementiert Methoden mit deren Hilfe einzelne funktionale Bereiche aus MOA-ID-Auth getestet werden k&ouml;nnen. Somit dient dieses Modul als Schnittstellte zu einem externen Monitoring-Service.</li>
- <li><u>Configuration</u><u> Modul</u>: Dieses Modul stellt die Schnittstelle zur MOA-ID-Auth Konfiguration dar welche in einer Datenbank abgelegt wird. </li>
- <li><u>Konfigurationstool</u>: Oberfl&auml;che, mit deren Hilfe MOA-ID konfiguriert werden kann. Dies umfasst sowohl allgemeine Konfigurationsteile als auch die Konfiguration der einzelnen bei MOA-ID-Auth registrierten Online-Applikationen. Service Provider k&ouml;nnen sich am Konfigurationstool mittels B&uuml;rgerkarte oder Handy-Signatur anmelden und ihre Online-Applikationen verwalten.</li>
+ <li><b>CORE LOGIC</b>: Diese Komponente ist die zentrale Logik zur Steuerung der einzelnen Prozesse innerhalb MOA-ID 2.x.</li>
+ <li><b>Protocol Adapter</b>: Stellt die in MOA-ID 2.x unterst&uuml;tzten <a href="../protocol/protocol.html">Authentifizierungsprotokolle</a> f&uuml;r die Anbindung von Service Providern zur Verf&uuml;gung.</li>
+ <li><b>Auth Sources</b>: Stellt die von MOA-ID 2.x unterst&uuml;tzten Identifikationsmechanismen und Single Sign-On Management Funktionen zur Verf&uuml;gung. Dies sind die &ouml;sterreichische B&uuml;rgerkarte oder Handy-Signatur, die Anmeldung ausl&auml;ndischer Personen mit Hilfe des STORK Protokoll oder mittels Single Sign-On von einem weiteren vertrauensw&uuml;rdigen Identity Provider (Interfederation). Dieses Modul beinhaltet somit alle jene Funktionen welche f&uuml;r den Authentifizierungs- oder Abmeldeprocess erforderlich sind. </li>
+ <li><b>Template Generator</b>: Der Template Generator erzeugt f&uuml;r Service Provider die entsprechenden Login-Masken f&uuml;r die Integration in die eigene Web-Applikation.</li>
+ <li><b>SSO Module</b>: Das Single Sign-On (SSO) Modul verwaltet die zus&auml;tzlichen Operationen die sich aus der Umsetzung von SSO ergeben. Dies umfasst im Besonderen das SSO Session-Management.</li>
+ <li><b>Statistic Module</b>: Dieses Modul dient zur Generierung von anonymisierten Statistikdaten aus den Anmeldeinformationen. </li>
+ <li><b>Monitoring &amp; Testing Module</b>: Dieses Modul implementiert Methoden mit deren Hilfe einzelne funktionale Bereiche aus MOA-ID-Auth getestet werden k&ouml;nnen. Somit dient dieses Modul als Schnittstellte zu einem externen Monitoring-Service.</li>
+ <li><b>Configuration</b><b> Modul</b>: Dieses Modul stellt die Schnittstelle zur MOA-ID-Auth Konfiguration dar welche in einer Datenbank abgelegt wird. </li>
+ <li><b>Konfigurationstool</b>: Oberfl&auml;che, mit deren Hilfe MOA-ID konfiguriert werden kann. Dies umfasst sowohl allgemeine Konfigurationsteile als auch die Konfiguration der einzelnen bei MOA-ID-Auth registrierten Online-Applikationen. Service Provider k&ouml;nnen sich am Konfigurationstool mittels B&uuml;rgerkarte oder Handy-Signatur anmelden und ihre Online-Applikationen verwalten.</li>
</ol>
- <h2><a name="allgemeines_service" id="allgemeines_service"></a>1.1 Externe Services</h2>
+ <h3><a name="allgemeines_service" id="allgemeines_service"></a>1.1 Externe Services</h3>
<p>F&uuml;r die Anmeldung in Vertretung und die Anmeldung ausl&auml;ndischer Personen werden zus&auml;tzliche externe Services verwendet.</p>
- <h3><a name="allgemeines_service_ovs" id="allgemeines_service2"></a>1.1.1 Online-Vollmachten</h3>
+ <h4><a name="allgemeines_service_ovs" id="allgemeines_service2"></a>1.1.1 Online-Vollmachten</h4>
<p>Ab der MOA-ID Release 1.5.0 werden Online-Vollmachten (f&uuml;r Anwendungen aus dem &ouml;ffentlichen Bereich) unterst&uuml;tzt. Hierzu werden diese Vollmachten &uuml;ber ein Online-Vollmachten-Service ausgew&auml;hlt. Der Zugang zu diesem Online-Vollmachten Service ist &uuml;ber eine Client-Server Authentifizierung abgesichert. Als Client-Zertifikate werden Zertifikate der Firmen A-Trust bzw. A-CERT, die mit der Verwaltungs- oder Dienstleistereigenschaft versehen sind, akzeptiert. </p>
- <h3><a name="allgemeines_service_szrgw" id="allgemeines_service3"></a>1.1.2 Ausl&auml;ndische B&uuml;rger</h3>
+ <h4><a name="allgemeines_service_szrgw" id="allgemeines_service3"></a>1.1.2 Ausl&auml;ndische B&uuml;rger</h4>
<p> Ab der MOA-ID Release 1.4.7 ist es m&ouml;glich, dass sich auch ausl&auml;ndische B&uuml;rger mittels MOA-ID einloggen k&ouml;nnen. Hierzu wird eine Verbindung zu einem sogenannten Stammzahlenregister-Gateway aufgebaut, dass basierend auf den Zertifikatsdaten des ausl&auml;ndischen B&uuml;rgers eine Eintragung im Erg&auml;nzungsregister f&uuml;r nat&uuml;rliche Personen gem&auml;&szlig; E-Government Gesetz &sect;6(5) vornimmt. Somit ist es m&ouml;glich, dass eine Personenbindung ausgestellt werden kann, die in weitere Folge an MOA-ID weitergeleitet wird. Der Zugang zu diesem Stammzahlenregister-Gateway ist &uuml;ber eine Client-Server Authentifizierung abgesichert. Als Client-Zertifikate werden Zertifikate der Firmen A-Trust bzw. A-CERT, die mit der Verwaltungs- oder Dienstleistereigenschaft versehen sind, akzeptiert. </p>
-<h1><a name="moaidauth" id="moaidauth"></a>2 MOA-ID-Auth</h1>
+<h2><a name="moaidauth" id="moaidauth"></a>2 MOA-ID-Auth</h2>
<p>Das Modul MOA-ID-Auth dient der Identifizierung und Authentifizierung im Rahmen eines Anmeldevorgangs an einer Online-Applikation. Die Identifizierung und Authentifizierung erfolgt mit B&uuml;rgerkarte, Handy-Signatur oder f&uuml;r ausl&auml;ndische Personen mittels STORK.</p>
<p>Die Funktionalit&auml;t und der Aufbau der Schnittstellen des Modules MOA-ID-Auth in Richtung Online-Applikation werden im Kapitel <a href="../protocol/protocol.html">Protokolle</a> beschrieben.
<p>F&uuml;r den Betrieb von MOA-ID-Auth ist der Einsatz von MOA-Signaturpr&uuml;fung (MOA-SP) erforderlich.</p>
-<h2><a name="ablauf" id="ablauf"></a> 2.1 Ablauf einer Anmeldung</h2>
+<h3><a name="ablauf" id="ablauf"></a> 2.1 Ablauf einer Anmeldung</h3>
<p>Die nachfolgende Grafik beschreibt den Ablauf eines Abmeldevorgangs an einer Online-Applikation mit Hilfe von MOA-ID-Auth unter Verwendung der B&uuml;rgerkarte oder der Handy-Signatur.</p>
-<p><img src="anmeldeablauf.png" width="947" height="881" alt="Sequenzdiagramm eines Anmeldevorgangs mit MOA-ID-Auth"></p>
+<p class="centeredimage"><img src="anmeldeablauf.png" alt="Sequenzdiagramm eines Anmeldevorgangs mit MOA-ID-Auth" width="95%"></p>
<p>&nbsp;</p>
<ol>
<li>Der Benutzer verbindet sich zu einem Web-Portal (Service Provider) &uuml;ber das die Online-Applikation erreichbar ist. Nach der Bet&auml;tigung eines Login-Buttons wird der Anmeldevorgang ausgel&ouml;st.</li>
@@ -69,10 +70,10 @@
<li>MOA-ID-Auth validiert die Authentifizierungsanfrage des Service Providers</li>
<li>MOA-ID-Auth bietet dem Benutzer eine Auswahl von verf&uuml;gbaren Authentifizierungsmethoden (B&uuml;rgerkarte, Handy-Signatur, STORK) an.</li>
<li>Der Benutzer w&auml;hlt die gew&uuml;nschte Authentifizierungsmethode und sendet diese an MOA-ID-Auth.</li>
- <li>MOA-ID-AUTH erzeugt eine HTML-Seite mit einem &lt;InfoboxReadRequest&gt; zum Auslesen der Personenbindung. Diese HTML-Seite wird an den Browser geschickt.</li>
- <li>Der Browser schickt den &lt;InfoboxReadRequest&gt; an die ausgew&auml;hlte Bürgerkartenumgebung unter Verwendung des Security-Layer. Die Bürgerkartenumgebung liest die Personenbindung von der B&uuml;rgerkarte und sendet diese an MOA-ID-AUTH. MOA-ID-Auth prüft die Signatur der Personenbindung durch einen Aufruf von MOA-SP.</li>
- <li>MOA-ID-AUTH erstellt den AUTH-Block. Der AUTH-Block enth&auml;lt Vor- und Nachname aus der Personenbindung, URL von MOA-ID-AUTH, URL und Gesch&auml;ftsbereich der Online-Applikation oder im Falle einer SSO Anmeldung die URL und den Gesch&auml;ftsbereich der MOA-ID-Auth Instanz, die aktuelle Zeit, das aktuelle Datum und einen Zufallswert f&uuml;r diesen Anmeldevorgang. Anschlie&szlig;end wird eine XML Antwortseite, die das Kommando zum Signieren (&lt;CreateXMLSignatureRequest&gt;) des generierten AUTH-Blocks enth&auml;lt, an die ausgew&auml;hlte Bürgerkartenumgebung, unter Verwendung des Security-Layers, gesendet.</li>
- <li>Der Request wird von der Bürgerkartenumgebung verarbeitet. Die signierten Daten werden an MOA-ID-AUTH zur&uuml;ckgesendet.</li>
+ <li>MOA-ID-Auth erzeugt eine HTML-Seite mit einem &lt;InfoboxReadRequest&gt; zum Auslesen der Personenbindung. Diese HTML-Seite wird an den Browser geschickt.</li>
+ <li>Der Browser schickt den &lt;InfoboxReadRequest&gt; an die ausgew&auml;hlte Bürgerkartenumgebung unter Verwendung des Security-Layer. Die Bürgerkartenumgebung liest die Personenbindung von der B&uuml;rgerkarte und sendet diese an MOA-ID-Auth. MOA-ID-Auth prüft die Signatur der Personenbindung durch einen Aufruf von MOA-SP.</li>
+ <li>MOA-ID-Auth erstellt den AUTH-Block. Der AUTH-Block enth&auml;lt Vor- und Nachname aus der Personenbindung, URL von MOA-ID-Auth, URL und Gesch&auml;ftsbereich der Online-Applikation oder im Falle einer SSO Anmeldung die URL und den Gesch&auml;ftsbereich der MOA-ID-Auth Instanz, die aktuelle Zeit, das aktuelle Datum und einen Zufallswert f&uuml;r diesen Anmeldevorgang. Anschlie&szlig;end wird eine XML Antwortseite, die das Kommando zum Signieren (&lt;CreateXMLSignatureRequest&gt;) des generierten AUTH-Blocks enth&auml;lt, an die ausgew&auml;hlte Bürgerkartenumgebung, unter Verwendung des Security-Layers, gesendet.</li>
+ <li>Der Request wird von der Bürgerkartenumgebung verarbeitet. Die signierten Daten werden an MOA-ID-Auth zur&uuml;ckgesendet.</li>
<li>MOA-ID-Auth &uuml;berpr&uuml;ft den signierten AUTH-Block und generiert Information f&uuml;r weitere Anmeldungen mittels Single Sign-On.</li>
<li>MOA-ID-Auth generiert die Anmeldedaten (Assertion) welche folgende Information enthalten:
<ul>
@@ -89,7 +90,7 @@
<li> MOA-ID-Auth sendet die Anmeldedaten an den Service-Provider und setzt im Browser des Benutzers ein SSO Session-Token welches f&uuml;r weitere Anmeldevorg&auml;nge verwendet werden kann.</li>
<li>Die Anmeldedaten werden vom Service-Provider verarbeitet und der Benutzer wird vom Service-Provider an die Online-Applikation weitergeleitet. </li>
</ol>
-<h1><a name="config" id="config"></a>3 MOA-ID-Configuration </h1>
+<h2><a name="config" id="config"></a>3 MOA-ID-Configuration </h2>
<p>Das Modul MOA-ID-Configuration stellt eine web-basierte Benutzerschnittstelle zur Konfiguration des Moduls MOA-ID-Auth zur Verf&uuml;gung, wobei sich die Konfiguration in zwei Teilbereiche unterteilt ist. Eine detaillierte Aufstellung der einzelnen Konfigurationspunkte befindet sich im Kapitel <a href="../config/config.html">Konfiguration</a>.</p>
<ol>
<li>Allgemeine Konfiguration<br>
@@ -99,5 +100,6 @@
</ol>
<p>Zus&auml;tzlich unterst&uuml;tzt das Module MOA-ID-Configuration auch eine einfache Benutzerverwaltung mit Rechtevergabe mit deren Hilfe die Verwaltung von Online-Applikationen an den jeweiligen Service-Provider ausgelagert werden kann. Die Anmeldung am Konfigurationstool erfolgt mittels B&uuml;rgerkarte, Handysignatur oder STORK, wobei optional auch eine Anmeldung mittels Benutzername und Passwort zur Verf&uuml;gung steht.</p>
<p>&nbsp;</p>
+ </div>
</body>
</html>
diff --git a/id/server/doc/handbook/moduledevinfo/ProcessDefinition.xsd b/id/server/doc/handbook/moduledevinfo/ProcessDefinition.xsd
new file mode 100644
index 000000000..d6ab7ae46
--- /dev/null
+++ b/id/server/doc/handbook/moduledevinfo/ProcessDefinition.xsd
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://reference.e-government.gv.at/namespace/moa/process/definition/v1"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/moa/process/definition/v1"
+ elementFormDefault="qualified" version="1.0">
+
+ <xsd:element name="ProcessDefinition">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="StartEvent" type="tns:StartEventType" />
+ <xsd:element name="Task" type="tns:TaskType" />
+ <xsd:element name="Transition" type="tns:TransitionType" />
+ <xsd:element name="EndEvent" type="tns:EndEventType" />
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="ProcessNodeType" abstract="true">
+ <xsd:attribute name="id" type="xsd:ID" use="required" />
+ </xsd:complexType>
+
+ <xsd:complexType name="StartEventType">
+ <xsd:complexContent>
+ <xsd:extension base="tns:ProcessNodeType" />
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="TransitionType">
+ <xsd:attribute name="from" type="xsd:IDREF" use="required" />
+ <xsd:attribute name="to" type="xsd:IDREF" use="required" />
+ <xsd:attribute name="id" type="xsd:ID" />
+ <xsd:attribute name="conditionExpression" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="EndEventType">
+ <xsd:complexContent>
+ <xsd:extension base="tns:ProcessNodeType" />
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="TaskType">
+ <xsd:complexContent>
+ <xsd:extension base="tns:ProcessNodeType">
+ <xsd:attribute name="async" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="class" type="xsd:string" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/id/server/doc/handbook/moduledevinfo/moduledevinfo.html b/id/server/doc/handbook/moduledevinfo/moduledevinfo.html
new file mode 100644
index 000000000..28e4f1bb4
--- /dev/null
+++ b/id/server/doc/handbook/moduledevinfo/moduledevinfo.html
@@ -0,0 +1,388 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+ <title>MOA-ID - Informationen f&uuml;r Modul-Entwickler</title>
+ <link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <style type="text/css">
+ span {
+ font-family: 'Courier New';
+ font-size: 10pt;
+ color: #000000;
+ }
+ .sc0 {
+ font-weight: bold;
+ }
+ .sc1, .sc12, .sc13 {
+ color: #0000FF;
+ }
+ .sc3 {
+ color: #FF0000;
+ }
+ .sc6 {
+ font-weight: bold;
+ color: #8000FF;
+ }
+ .sc8 {
+ }
+ .sc9 {
+ color: #008000;
+ }
+ .sc11 {
+ color: #0000FF;
+ }
+ table {
+ border-collapse: collapse;
+ }
+ table, th, td {
+ border: thin solid gray;
+ }
+ </style>
+</head>
+
+<body link="#990000">
+
+ <table class="logoTable" width="100%" border="0" cellspacing="0"
+ cellpadding="10">
+ <tr>
+ <td align="center" class="logoTitle" width="267">
+ <img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left">
+ </td>
+ <td align="center" class="logoTitle">Dokumentation</td>
+ <td align="center" class="logoTitle" width="123">
+ <img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right">
+ </td>
+ </tr>
+ </table>
+ <hr />
+
+ <p class="title">
+ <a href="../index.html">MOA-ID (Identifikation)</a>
+ </p>
+ <p class="subtitle">Informationen f&uuml;r Modul-Entwickler</p>
+ <hr />
+
+
+ <h1>Inhalt</h1>
+ <ol>
+ <li>
+ <p>
+ <a href="#uebersicht">&Uuml;bersicht</a>
+ </p>
+ </li>
+ <li>
+ <p>
+ <a href="#prozesse">Prozesse</a>
+ </p>
+ <ol>
+ <li><a href="#tasks">Aufgaben (Tasks)</a></li>
+ <li><a href="#transitions">Transitions</a></li>
+ </ol>
+ </li>
+ <li>
+ <p>
+ <a href="#module">Module</a>
+ </p>
+ <ol>
+ <li><a href="#processselection">Metadaten und Prozessauswahl</a></li>
+ <li>
+ <p>
+ <a href="#discovery">Discovery</a>
+ </p>
+ <ol>
+ <li><a href="#serviceloader">Service Loader Mechanismus</a></li>
+ <li><a href="#springbean">Spring Bean Discovery</a></li>
+ </ol>
+ </li>
+ </ol>
+ </li>
+ <li>
+ <p>
+ <a href="#hinweise">Hinweise</a>
+ </p>
+ </li>
+ </ol>
+ <hr />
+
+
+ <h1>
+ <a name="uebersicht" id="uebersicht">1 &Uuml;bersicht</a>
+ </h1>
+ <p>
+ MOA-ID ab Version 2.2 erm&ouml;glicht die dynamische Erweiterung um zus&auml;tzliche Funktionalit&auml;t durch die Nutzung der
+ integrierten Modularchitektur.<br/>
+ Entwickler k&ouml;nnen nun eigene Prozesse, um die MOA-ID erweitert werden soll, definieren (z.B. Unterst&uuml;tzung
+ eines speziellen Authentifizierungsworkflows, Erweiterung um Vollmachten oder ausl&auml;ndische Identit&auml;ten etc).
+ MOA-ID bietet eine Ablaufsteuerung (&quot;ProcessEngine&quot;), die einzelne Aufgaben (Tasks) entsprechend einer vorgegebenen Prozessdefinition
+ abarbeiten kann.
+ </p>
+ <p>
+ Mehrere Prozesse k&ouml;nnen zu einzelnen Modulen zusammengefasst werden. Ein Modul, typischerweise repr&auml;sentiert durch eine separate JAR-Datei, wird automatisch erkannt, sobald sich
+ dieses im Classpath der Anwendung befindet. Damit stehen die in diesem Modul definierten Prozesse MOA-ID
+ automatisch zu Verf&uuml;gung.
+ </p>
+ <p>
+ Beim Starten eines Authentifizierungsvorgangs speichert MOA-ID die zu diesem Zeitpunkt zu Verf&uuml;gung stehenden
+ Informationen (Ergebnis der BKU-Auswahl, Auswahl des Herkunftslandes, Wunsch nach Vollmachten-Nutzung etc.) in
+ eine Datenstruktur (&quot;ExecutionContext&quot;). Module entscheiden dann auf Basis dieser Informationen, ob sie entsprechende Prozesse f&uuml;r den gegebenen Kontext anbieten k&ouml;nnen. Sobald ein
+ passender Prozess gefunden wurde, beginnt die MOA-ID ProcessEngine mit der Ausf&uuml;hrung der darin definierten
+ Aufgaben.
+ </p>
+ <p>
+ Bei diesen Aufgaben handelt es sich typischerweise um einzelne synchrone oder asynchrone Schritte eines kompletten
+ Authentifizierungsvorgangs wie z.B. das Erstellen eines HTML-Formulars zum Auslesen der Personenbindung (synchron),
+ das Empfangen und Verarbeiten einer Personenbindung (asynchron), das Aushandeln einer Session mit dem Vollmachtenportal (synchron) etc.
+ Jeder Task erh&auml;lt bei Ausf&uuml;hrung automatisch Zugriff auf den ExecutionContext, der von Task zu Task weitergereicht, zum Austausch bzw. Akkumulieren von Daten dient und schlie&szlig;lich auch persistiert wird.
+ Dar&uuml;ber hinaus steht jeweils HttpServletRequest und HttpServletResponse zu Verf&uuml;gung.
+ </p>
+
+ <h1>
+ <a name="prozesse" id="prozesse">2 Prozesse</a>
+ </h1>
+ <p>
+ Ein Prozess definiert sich prim&auml;r &uuml;ber seine Tasks, die es in einer bestimmten Abfolge abzuarbeiten gilt. Um welche Tasks es sich handelt und wie die Abfolge unter welchen Bedingungen aussieht wird in einer
+ ProzessDefinition in Form eines XML-Dokuments festgelegt.
+ </p>
+ <p>Siehe <a href="ProcessDefinition.xsd">ProcessDefinition.xsd</a>.<br/>&nbsp;</p>
+
+ <p>
+ Die folgende Prozessdefinition zeigt als Beispiel den internen Standard-Authentifizierungsprozess von MOA-ID. Dieser unterst&uuml;tzt Vollmachten uns ausl&auml;ndische Identit&auml;ten:<br/>&nbsp;
+ </p>
+ <div style="float: left; white-space: pre; line-height: 1; background: #FFFFFF; "><span class="sc1">&lt;?xml</span><span class="sc8"> </span><span class="sc3">version</span><span class="sc8">=</span><span class="sc6">"1.0"</span><span class="sc8"> </span><span class="sc3">encoding</span><span class="sc8">=</span><span class="sc6">"UTF-8"?&gt;</span><span class="sc0">
+</span><span class="sc1">&lt;pd:ProcessDefinition</span><span class="sc8"> </span><span class="sc3">id</span><span class="sc8">=</span><span class="sc6">"DefaultAuthentication"</span><span class="sc8"> </span><span class="sc3">xmlns:pd</span><span class="sc8">=</span><span class="sc6">"http://reference.e-government.gv.at/namespace/moa/process/definition/v1"</span><span class="sc1">&gt;</span><span class="sc0">
+
+ </span><span class="sc1">&lt;pd:Task</span><span class="sc8"> </span><span class="sc3">id</span><span class="sc8">=</span><span class="sc6">"createIdentityLinkForm"</span><span class="sc8"> </span><span class="sc3">class</span><span class="sc8">=</span><span class="sc6">"at.gv.egovernment.moa.id.auth.modules.internal.tasks.CreateIdentityLinkFormTask"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+ </span><span class="sc1">&lt;pd:Task</span><span class="sc8"> </span><span class="sc3">id</span><span class="sc8">=</span><span class="sc6">"verifyIdentityLink"</span><span class="sc8"> </span><span class="sc3">class</span><span class="sc8">=</span><span class="sc6">"at.gv.egovernment.moa.id.auth.modules.internal.tasks.VerifyIdentityLinkTask"</span><span class="sc8"> </span><span class="sc3">async</span><span class="sc8">=</span><span class="sc6">"true"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+ </span><span class="sc1">&lt;pd:Task</span><span class="sc8"> </span><span class="sc3">id</span><span class="sc8">=</span><span class="sc6">"verifyAuthBlock"</span><span class="sc8"> </span><span class="sc3">class</span><span class="sc8">=</span><span class="sc6">"at.gv.egovernment.moa.id.auth.modules.internal.tasks.VerifyAuthenticationBlockTask"</span><span class="sc8"> </span><span class="sc3">async</span><span class="sc8">=</span><span class="sc6">"true"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+ </span><span class="sc1">&lt;pd:Task</span><span class="sc8"> </span><span class="sc3">id</span><span class="sc8">=</span><span class="sc6">"verifyCertificate"</span><span class="sc8"> </span><span class="sc3">class</span><span class="sc8">=</span><span class="sc6">"at.gv.egovernment.moa.id.auth.modules.internal.tasks.VerifyCertificateTask"</span><span class="sc8"> </span><span class="sc3">async</span><span class="sc8">=</span><span class="sc6">"true"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+ </span><span class="sc1">&lt;pd:Task</span><span class="sc8"> </span><span class="sc3">id</span><span class="sc8">=</span><span class="sc6">"getMISSessionID"</span><span class="sc8"> </span><span class="sc3">class</span><span class="sc8">=</span><span class="sc6">"at.gv.egovernment.moa.id.auth.modules.internal.tasks.GetMISSessionIDTask"</span><span class="sc8"> </span><span class="sc3">async</span><span class="sc8">=</span><span class="sc6">"true"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+ </span><span class="sc1">&lt;pd:Task</span><span class="sc8"> </span><span class="sc3">id</span><span class="sc8">=</span><span class="sc6">"certificateReadRequest"</span><span class="sc8"> </span><span class="sc3">class</span><span class="sc8">=</span><span class="sc6">"at.gv.egovernment.moa.id.auth.modules.internal.tasks.CertificateReadRequestTask"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+ </span><span class="sc1">&lt;pd:Task</span><span class="sc8"> </span><span class="sc3">id</span><span class="sc8">=</span><span class="sc6">"prepareAuthBlockSignature"</span><span class="sc8"> </span><span class="sc3">class</span><span class="sc8">=</span><span class="sc6">"at.gv.egovernment.moa.id.auth.modules.internal.tasks.PrepareAuthBlockSignatureTask"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+ </span><span class="sc1">&lt;pd:Task</span><span class="sc8"> </span><span class="sc3">id</span><span class="sc8">=</span><span class="sc6">"getForeignID"</span><span class="sc8"> </span><span class="sc3">class</span><span class="sc8">=</span><span class="sc6">"at.gv.egovernment.moa.id.auth.modules.internal.tasks.GetForeignIDTask"</span><span class="sc8"> </span><span class="sc3">async</span><span class="sc8">=</span><span class="sc6">"true"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+
+ </span><span class="sc1">&lt;pd:StartEvent</span><span class="sc8"> </span><span class="sc3">id</span><span class="sc8">=</span><span class="sc6">"start"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+
+ </span><span class="sc1">&lt;pd:Transition</span><span class="sc8"> </span><span class="sc3">from</span><span class="sc8">=</span><span class="sc6">"start"</span><span class="sc8"> </span><span class="sc3">to</span><span class="sc8">=</span><span class="sc6">"createIdentityLinkForm"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+
+ </span><span class="sc1">&lt;pd:Transition</span><span class="sc8"> </span><span class="sc3">from</span><span class="sc8">=</span><span class="sc6">"createIdentityLinkForm"</span><span class="sc8"> </span><span class="sc3">to</span><span class="sc8">=</span><span class="sc6">"verifyIdentityLink"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+
+ </span><span class="sc1">&lt;pd:Transition</span><span class="sc8"> </span><span class="sc3">from</span><span class="sc8">=</span><span class="sc6">"verifyIdentityLink"</span><span class="sc8"> </span><span class="sc3">to</span><span class="sc8">=</span><span class="sc6">"certificateReadRequest"</span><span class="sc8"> </span><span class="sc3">conditionExpression</span><span class="sc8">=</span><span class="sc6">"!ctx['identityLinkAvailable'] || ctx['useMandate']"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+ </span><span class="sc1">&lt;pd:Transition</span><span class="sc8"> </span><span class="sc3">from</span><span class="sc8">=</span><span class="sc6">"verifyIdentityLink"</span><span class="sc8"> </span><span class="sc3">to</span><span class="sc8">=</span><span class="sc6">"prepareAuthBlockSignature"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+
+ </span><span class="sc1">&lt;pd:Transition</span><span class="sc8"> </span><span class="sc3">from</span><span class="sc8">=</span><span class="sc6">"prepareAuthBlockSignature"</span><span class="sc8"> </span><span class="sc3">to</span><span class="sc8">=</span><span class="sc6">"verifyAuthBlock"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+
+ </span><span class="sc1">&lt;pd:Transition</span><span class="sc8"> </span><span class="sc3">from</span><span class="sc8">=</span><span class="sc6">"certificateReadRequest"</span><span class="sc8"> </span><span class="sc3">to</span><span class="sc8">=</span><span class="sc6">"verifyCertificate"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+
+ </span><span class="sc1">&lt;pd:Transition</span><span class="sc8"> </span><span class="sc3">from</span><span class="sc8">=</span><span class="sc6">"verifyCertificate"</span><span class="sc8"> </span><span class="sc3">to</span><span class="sc8">=</span><span class="sc6">"verifyAuthBlock"</span><span class="sc8"> </span><span class="sc3">conditionExpression</span><span class="sc8">=</span><span class="sc6">"ctx['useMandate']"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+ </span><span class="sc1">&lt;pd:Transition</span><span class="sc8"> </span><span class="sc3">from</span><span class="sc8">=</span><span class="sc6">"verifyCertificate"</span><span class="sc8"> </span><span class="sc3">to</span><span class="sc8">=</span><span class="sc6">"getForeignID"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+
+ </span><span class="sc1">&lt;pd:Transition</span><span class="sc8"> </span><span class="sc3">from</span><span class="sc8">=</span><span class="sc6">"verifyAuthBlock"</span><span class="sc8"> </span><span class="sc3">to</span><span class="sc8">=</span><span class="sc6">"getMISSessionID"</span><span class="sc8"> </span><span class="sc3">conditionExpression</span><span class="sc8">=</span><span class="sc6">"ctx['useMandate']"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+ </span><span class="sc1">&lt;pd:Transition</span><span class="sc8"> </span><span class="sc3">from</span><span class="sc8">=</span><span class="sc6">"verifyAuthBlock"</span><span class="sc8"> </span><span class="sc3">to</span><span class="sc8">=</span><span class="sc6">"end"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+
+ </span><span class="sc1">&lt;pd:Transition</span><span class="sc8"> </span><span class="sc3">from</span><span class="sc8">=</span><span class="sc6">"getMISSessionID"</span><span class="sc8"> </span><span class="sc3">to</span><span class="sc8">=</span><span class="sc6">"end"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+ </span><span class="sc1">&lt;pd:Transition</span><span class="sc8"> </span><span class="sc3">from</span><span class="sc8">=</span><span class="sc6">"getForeignID"</span><span class="sc8"> </span><span class="sc3">to</span><span class="sc8">=</span><span class="sc6">"end"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+
+ </span><span class="sc1">&lt;pd:EndEvent</span><span class="sc8"> </span><span class="sc3">id</span><span class="sc8">=</span><span class="sc6">"end"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+
+</span><span class="sc1">&lt;/pd:ProcessDefinition&gt;</span><span class="sc0">
+</span></div>
+<p style="clear:left;">&nbsp;</p>
+
+ <p>
+ Jede Prozessbeschreibung muss zwingend ein <code>StartEvent</code> und ein <code>EndEvent</code> enthalten.
+ Einzelne Aufgaben sind durch <code>Task</code>-Elemente gekennzeichnet, wobei via Attribut <code>async</code>
+ festgelegt wird ob es sich dabei um einen synchronen (Standardeinstellung) oder um einen asynchronen Task handelt (siehe auch <a href="#tasks">Abschnitt 2.1</a>).
+ </p>
+
+ <h2>
+ <a name="tasks" id="tasks">2.1 Aufgaben (Tasks)</a>
+ </h2>
+ <p>
+ Aus technischer Sicht sind Aufgaben einfache Klassen, die die abstrakte Klasse <code>at.gv.egovernment.moa.id.process.springweb.MoaIdTask</code> (<code>moa-id-lib-xy.jar</code>)
+ implementieren. Diese definiert lediglich eine <code>execute</code>-Methode, die aufgerufen wird, sobald der Task
+ von der ProcessEngine gestartet wird. &Uuml;ber diese Methode erh&auml;lt der Task Zugriff auf den ExecutionContext sowie
+ auf HttpServletRequest und HttpServletResponse. Der HttpServletRequest und der ExecutionContext k&ouml;nnen nun ausgewertet, bzw. falls notwendig der ExecutionContext und die HttpServletResponse auch manipuliert werden.
+ </p>
+ <p>
+ Synchrone Tasks werden hintereinander ausgef&uuml;hrt. Trifft die Process Engine auf einen asynchronen Task wird dieser
+ nicht gleich ausgef&uuml;hrt, sondern der Prozess wird zun&auml;chst angehalten. Bei asynchronen Tasks handelt es sich meist um Tasks,
+ die zuvor eine Benutzerinteraktion erfordern (z.B. Signatur mit B&uuml;rgerkartenumgebung).<br/>
+ Als Beispiel eines asynchronen Tasks w&auml;re ein <code>VerifyIdentityLinkTask</code> zu nennen, der nach Eintreffen
+ der Antwort der B&uuml;rgerkartenumgebung auf der DataURL aufgeweckt wird, um eine <code>InfoBoxReadResponse</code> mit
+ der Personenbindung entgegen zu nehmen, diese zu parsen und zu validieren.
+ </p>
+ <p>
+ Die Aufgabe eines (DataURL-)Servlets, das den jeweiligen Prozess aufweckt, um die Ausf&uuml;hrung eines nachfolgenden asynchronen
+ Tasks zu bewirken, &uuml;bernimmt das interne Servlet <code>at.gv.egovernment.moa.id.auth.servlet.ProcessEngineSignalServlet</code>,
+ das auf die URL <code>/signalProcess</code> gemappt wurde.
+ </p>
+ <p>
+ <strong>Hinweis</strong>: Das interne <code>ProcessEngineSignalServlet</code> bzw. dessen Methode <code>getMoaSessionId(HttpServletRequest request)</code>
+ k&ouml;nnen bei Bedarf durch eine Modulspezifische Implementierung &uuml;berschrieben werden, um ggf. speziellen
+ Anforderungen in Bezug auf die Ermittlung der jeweiligen MOA Session Id Rechnung zu tragen (STORK PEPS
+ unterst&uuml;tzen keine Parameter wie <code>MOASessionID</code> in der assertion consumer url).<br/>
+ Als Beispiel dazu kann das Servlet <code>at.gv.egovernment.moa.id.auth.modules.stork.STORKProcessEngineSignalServlet</code>
+ des STORK-Moduls dienen.
+ </p>
+ <p>
+ &nbsp;<br/>
+ Als Beispiele typischer Tasks k&ouml;nnen die Klassen im package <code>at.gv.egovernment.moa.id.auth.modules.internal.tasks</code> herangezogen werden.<br/>
+ </p>
+
+ <h2>
+ <a name="transitions" id="transitions">2.2 Transitions</a>
+ </h2>
+ <p>
+ Die Abfolge der einzelnen Task wird in der Prozessbeschreibung durch die <code>Transition</code>-Elemente
+ bestimmt. Diese weisen die zwei verpflichtenden Attribute <code>from</code> und <code>to</code> auf, die jeweils einen Task (oder StartEvent) referenzieren <strong>von</strong> (<code>from</code>) dem die ProzessEngine <strong>zu</strong> (<code>to</code>) weiteren Task (oder EndEvent) traversiert. Betrachtet man einen
+ Prozess als Graphen, dann sind die Tasks als Knoten und die Transitions als Kanten anzusehen.
+ </p>
+ <p>
+ Jede Prozessausf&uuml;hrung beginnt mit dem <code>StartEvent</code>. Von diesem ausgehend werden alle m&ouml;glichen
+ Transitions zu anderen Tasks untersucht. Die erste Transition, die eine g&uuml;ltige Verbindung zu einem anderen Task
+ aufweist wird f&uuml;r die weitere Prozessausf&uuml;hrung herangezogen. Transitions k&ouml;nnen &uuml;ber das Attribut
+ <code>conditionExpression</code> mit einer Art Policy ausgestattet werden, die festlegt, ob eine Transition verwendet
+ werden kann oder nicht. Dies erm&ouml;glicht eine bedingte Ausf&uuml;hrung von Tasks.
+ </p>
+ <p>
+ Expressions m&uuml;ssen sich in eine booleschen Wert aufl&ouml;sen lassen: <code>true</code> (genauso
+ wie ein nicht gesetztes <code>conditionExpression</code>-Attribut) bedeutet, dass die Transition verwendet werden kann,
+ <code>false</code> bedeutet, dass die Transition nicht verwendet wird.
+ Bei den Expressions handelt es sich um <a href="http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/expressions.html">Spring EL Expressions</a>,
+ die einen leichten Zugriff auf den ExecutionContext, HttpServletRequestParameter sowie beliebige Spring-Beans erm&ouml;glichen:
+ </p>
+ <table cellspacing="0" cellpadding="5">
+ <tr>
+ <th>Bezeichner</th>
+ <th>Beispiel</th>
+ <th>Bedeutung</th>
+ </tr>
+ <tr>
+ <td><code>ctx</code></td>
+ <td><code>!ctx['identityLinkAvailable']</code></td>
+ <td>Erlaubt das Auswerten einzelner Variablen aus dem ExecutionContext, in diesem Fall einer booleschen Variable <code>identityLinkAvailable</code></td>
+ </tr>
+ <tr>
+ <td><code>requestParameter</code></td>
+ <td><code>requestParameter['myParam'] != null</code></td>
+ <td>Greift auf RequestParameter aus dem HttpServletRequest zur&uuml;ck und erm&ouml;glicht so eine Requestparameter abh&auml;ngige Abfolge von Tasks.</td>
+ </tr>
+ <tr>
+ <td><code>@</code></td>
+ <td><code>@mySpringBean.isFoo()</code></td>
+ <td>Greift auf ein Bean (in diesem Fall mit dem Namen <code>mySpringBean</code>) aus dem Spring ApplicationContext zur&uuml;ck.</td>
+ </tr>
+ </table>
+
+ <h1>
+ <a name="module" id="module">3 Module</a>
+ </h1>
+ <p>
+ Bei einem Modul handelt es sich grunds&auml;tzlich lediglich um eine logische Gruppierung von Prozessen.
+ Module sind bedingt durch ihr automatisches Discovery als eine Art Plug-in zu betrachten, weshalb sie typischerweise
+ auch in eigene JAR-Dateien ausgelagert vorliegen.
+ </p>
+ <p>Als Beispiel eines solchen Moduls kann das STORK-Modul (<code>moa-id-module-stork-xy.jar</code>) gesehen werden.
+
+ <h2>
+ <a name="processselection" id="processselection">3.1 Metadaten und Prozessauswahl</a>
+ </h2>
+ <p>
+ Jedes Modul muss das Interface <code>at.gv.egovernment.moa.id.auth.modules.AuthModule</code> implementieren, &uuml;ber
+ das der ProcessEngine zum einen Metadaten zu Verf&uuml;gung gestellt werden, diese zum anderen aber auch die Prozessauswahl
+ (siehe <a href="#uebersicht">Abschnitt&nbsp;1</a>) abgewickelt wird.
+ </p>
+ <p>
+ <dl>
+ <dt><code>int getPriority()</code></dt>
+ <dd>&Uuml;ber diese Methode gibt das Modul seine Priorit&auml;t bekannt. Dies beeinflusst die Reihenfolge des Moduls
+ bei der Abfrage nach passenden Prozessen beim Starten eines Authentifizierungsprozesses.<br/>
+ Standardpriorit&auml;t ist <code>0</code>. Module die vorgereiht werden sollen, m&uuml;ssen eine h&ouml;here Priorit&auml;t aufweisen.</dd>
+ </dl>
+ <dl>
+ <dt><code>String[] getProcessDefinitions()</code></dt>
+ <dd>Hier&uuml;ber gibt das Modul die Prozessdefinitionen (bzw. ResourceUris zu den entsprechenden XML-Dateien) bekannt.
+ Diese werden automatisch von MOA-ID geparst und registriert.
+ </dd>
+ </dl>
+ <dl>
+ <dt><code>String selectProcess(ExecutionContext context)</code></dt>
+ <dd>Diese Methode wird von MOA-ID beim Starten eines Authentifizierungsprozesses aufgerufen. Der ExecutionContext
+ wird mit den in oben in <a href="#uebersicht">Abschnitt&nbsp;1</a> erw&auml;hnten Informationen bef&uuml;llt und dieser
+ dann der <code>selectProcess</code>-Methode &uuml;bergeben. Diese entscheidet, ob ein passender Prozess zu Verf&uuml;gung
+ steht oder nicht. Eine eventuelle modulinterne Priorisierung muss das Modul selbst vornehmen.</dd>
+ </dl>
+ </p>
+ <p>
+ Als Beispiel kann die Implementierung des STORK-Moduls herangezogen werden: <code>at.gv.egovernment.moa.id.auth.modules.stork.STORKAuthModuleImpl</code><br/>
+ N&auml;here Informationen sind der Javadoc Dokumentation des AuthModule Interfaces zu entnehmen.
+ </p>
+
+ <h2>
+ <a name="discovery" id="discovery">3.2 Discovery</a>
+ </h2>
+ <p>
+ Das bereits erw&auml;hnte automatische Discovery von Modulen beschr&auml;nkt sich nun auf das automatische Auffinden der
+ jeweiligen <code>AuthModule</code>-Implementierung. MOA-ID sieht zwei Varianten vor, derartige Implementierung
+ aufzufinden. Welche der beiden zur Anwendung kommt (es k&ouml;nnen notfalls auch beide kombiniert werden), bleibt dem Modulentwickler &uuml;berlassen.
+ </p>
+
+ <h3>
+ <a name="serviceloader" id="serviceloader">3.2.1 Service Loader Mechanismus</a>
+ </h3>
+ <p>
+ Diese Variante sieht vor, dass jedes Modul (d.h. jede JAR-Datei) eine Datei <code>META-INF/services/at.gv.egovernment.moa.id.auth.modules.AuthModule</code>
+ enh&auml;lt, das die vorhandenen AuthModule-Implementierungen auflistet:
+ </p>
+ <pre>at.gv.egovernment.moa.id.auth.modules.internal.DefaultAuthModuleImpl
+at.gv.egovernment.moa.id.auth.modules.mymodule.MyAuthModuleImpl</pre>
+ <p>
+ N&auml;here Informationen zu diesem Mechanismus k&ouml;nnen hier entnommen werden:
+ <a href="http://docs.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html">Javadoc ServiceLoader</a> bzw. <a href="http://docs.oracle.com/javase/tutorial/ext/basics/spi.html">Java Tutorials: Creating Extensible Applications</a>
+ </p>
+
+ <h3>
+ <a name="springbean" id="springbean">3.2.2 Spring Bean Discovery</a>
+ </h3>
+ <p>
+ F&uuml;r den Fall, dass Module auf Basis des Spring Frameworks entwickelt werden, kann die AuthModule-Implementierung auch als Spring Bean erfolgen.
+ </p>
+ <p>
+ MOA-ID sucht beim Starten im Classpath nach Bean-Definitionen, die der Dateinamenskonvention <code>*.authmodule.beans.xml</code>
+ entsprechen und importiert diese. &Uuml;ber diesen Mechanismus k&ouml;nnen modulspezifische Spring Beans geladen bzw. initialisiert werden, u.a. auch AuthModule-Beans.<br/>&nbsp;
+ </p>
+ <p>Beispiel: <code>STORK.authmodule.beans.xml</code><br/>&nbsp;</p>
+
+ <div style="float: left; white-space: pre; line-height: 1; background: #FFFFFF; "><span class="sc12">&lt;?</span><span class="sc1">xml</span><span class="sc8"> </span><span class="sc3">version</span><span class="sc8">=</span><span class="sc6">"1.0"</span><span class="sc8"> </span><span class="sc3">encoding</span><span class="sc8">=</span><span class="sc6">"UTF-8"</span><span class="sc13">?&gt;</span><span class="sc0">
+</span><span class="sc1">&lt;beans</span><span class="sc8"> </span><span class="sc3">xmlns</span><span class="sc8">=</span><span class="sc6">"http://www.springframework.org/schema/beans"</span><span class="sc8">
+ </span><span class="sc3">xmlns:xsi</span><span class="sc8">=</span><span class="sc6">"http://www.w3.org/2001/XMLSchema-instance"</span><span class="sc8">
+ </span><span class="sc3">xmlns:context</span><span class="sc8">=</span><span class="sc6">"http://www.springframework.org/schema/context"</span><span class="sc8">
+ </span><span class="sc3">xsi:schemaLocation</span><span class="sc8">=</span><span class="sc6">"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"</span><span class="sc1">&gt;</span><span class="sc0">
+
+ </span><span class="sc1">&lt;context:annotation-config</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+
+ </span><span class="sc1">&lt;bean</span><span class="sc8"> </span><span class="sc3">id</span><span class="sc8">=</span><span class="sc6">"storkAuthModule"</span><span class="sc8"> </span><span class="sc3">class</span><span class="sc8">=</span><span class="sc6">"at.gv.egovernment.moa.id.auth.modules.stork.STORKAuthModuleImpl"</span><span class="sc1">&gt;</span><span class="sc0">
+ </span><span class="sc1">&lt;property</span><span class="sc8"> </span><span class="sc3">name</span><span class="sc8">=</span><span class="sc6">"priority"</span><span class="sc8"> </span><span class="sc3">value</span><span class="sc8">=</span><span class="sc6">"0"</span><span class="sc8"> </span><span class="sc11">/&gt;</span><span class="sc0">
+ </span><span class="sc1">&lt;/bean&gt;</span><span class="sc0">
+
+</span><span class="sc1">&lt;/beans&gt;</span><span class="sc0">
+</span></div>
+ <p style="clear:left;">&nbsp;</p>
+
+ <h1>
+ <a name="hinweise" id="hinweise">4 Hinweise</a>
+ </h1>
+ <p>
+ Um einzelne Funktionen als Plug-In umzusetzen, muss nicht unbedingt ein ganzer Prozess definiert werden. MOA-ID ab
+ Version 2.2 unterst&uuml;tzt die Servlet 3.0 API, was u.a. den Einsatz von <code>@WebServlet</code>-Annotations erm&ouml;glicht.
+ Damit entf&auml;llt eine statische Registrierung von Servlets im <code>web.xml</code>.
+ </p>
+ <p>Am Beispiel des MonitoringServlets (<code>at.gv.egovernment.moa.id.auth.servlet.MonitoringServlet</code>), das als
+ separates JAR (<code>moa-id-module-monitoring-xy.jar</code>) ausgef&uuml;hrt wurde, kann dies anschaulich beobachtet werden.
+
+ <p>&nbsp;</p>
+ <p>&nbsp;</p>
+</body>
+</html>
diff --git a/id/server/doc/handbook/protocol/protocol.html b/id/server/doc/handbook/protocol/protocol.html
index 1c6e51661..6214c393c 100644
--- a/id/server/doc/handbook/protocol/protocol.html
+++ b/id/server/doc/handbook/protocol/protocol.html
@@ -4,21 +4,22 @@
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title>MOA-ID - Protokolle</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Protokolle</p>
- <hr/>
-<h1>Inhalt</h1>
- <ol>
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+
+<div class="container">
+<h1>Protokolle</h1>
+
+<h2>Inhalt</h2>
+ <ol class="index">
<li><a href="#allgemeines">Allgemeines</a>
<ol>
<li><a href="#allgemeines_zugangspunkte">&Uuml;bersicht der Zugangspunkte</a></li>
@@ -78,18 +79,18 @@
<li><a href="#referenzierte_spezifikation">Referenzierte Spezifikation</a></li>
</ol>
-<hr/>
- <h1><a name="allgemeines"></a>1 Allgemeines</h1>
- <p>Dieses Kapitel behandelt jene Authentifizierungsprotokolle die vom Modul MOA-ID-Auth unterstützt werden.
+
+ <h2><a name="allgemeines"></a>1 Allgemeines</h2>
+ <p>Dieses Kapitel behandelt jene Authentifizierungsprotokolle die vom Modul MOA-ID-Auth unterstützt werden.
Wobei die Verwendung der Protokolle PVP 2.1 oder OpenID Connect empfohlen wird. Das Protokoll SAML 1, welches bis zur MOA-ID Version 1.5.1
- verwendet wurde, wird jedoch ab der Version 2.0 nur mehr aus Kompatibilitätsgründen angeboten und nicht mehr aktiv weiterentwickelt.</p>
-<h2><a name="allgemeines_zugangspunkte" id="allgemeines_zugangspunkte"></a>1.1 &Uuml;bersicht der Zugangspunkte</h2>
+ verwendet wurde, wird jedoch ab der Version 2.0 nur mehr aus Kompatibilitätsgründen angeboten und nicht mehr aktiv weiterentwickelt.</p>
+<h3><a name="allgemeines_zugangspunkte" id="allgemeines_zugangspunkte"></a>1.1 &Uuml;bersicht der Zugangspunkte</h3>
<p>In diesem Abschnitt sind die Zugangspunkte der vom Modul MOA-ID-Auth unterst&uuml;tzten Protokolle kurz zusammengefasst. Eine detaillierte Beschreibung der einzelnen Protokolle finden Sie in den anschlie&szlig;enden Unterkapiteln. </p>
- <table width="1247" border="1">
+ <table class="configtable">
<tr>
- <th width="164" scope="col">Protokoll</th>
- <th width="168" scope="col">Requesttyp</th>
- <th width="893" scope="col">URL</th>
+ <th>Protokoll</th>
+ <th>Requesttyp</th>
+ <th>URL</th>
</tr>
<tr>
<td><a href="#pvp21">PVP 2.1</a></td>
@@ -122,12 +123,12 @@ Redirect Binding</td>
<td><a href="#openid">OpenID Connect</a></td>
<td>Authentifizierungsrequest <br>
(AuthCode-Request)</td>
- <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth2/auth</td>
+ <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth3/auth</td>
</tr>
<tr>
<td><a href="#openid">OpenID Connect</a></td>
<td><p>AccessToken-Request</p></td>
- <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth2/token</td>
+ <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth3/token</td>
</tr>
<tr>
<td><a href="#saml1">SAML 1</a></td>
@@ -153,21 +154,21 @@ Redirect Binding</td>
<p>http://&lt;host&gt;:&lt;port&gt;/moa-id-auth/idpSingleLogout</p></td>
</tr>
</table>
- <h2><a name="allgemeines_attribute" id="allgemeines_zugangspunkte2"></a>1.2 &Uuml;bersicht der m&ouml;glichen Attribute</h2>
+ <h3><a name="allgemeines_attribute" id="allgemeines_zugangspunkte2"></a>1.2 &Uuml;bersicht der m&ouml;glichen Attribute</h3>
<p>Die nachfolgende Tabelle beinhaltet eine Liste aller Attribute die vom Modul MOA-ID-Auth an die Online-Applikation zur&uuml;ckgeliefert werden k&ouml;nnen, sofern diese nach der Authentifizierung zur Verf&uuml;gung stehen. Alle Namen beziehen sich auf den Attributnamen im jeweiligen Protokoll. Detailinformationen zu den einzelnen Attributen finden Sie in der <a href="#referenzierte_spezifikation">PVP 2.1 Spezifikation</a> der der <a href="#referenzierte_spezifikation">STORK Spezifikation</a>.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
<th colspan="4" align="center" valign="middle" scope="col">Protokolle</th>
- <th width="429" rowspan="3" scope="col">Beschreibung</th>
+ <th rowspan="3" scope="col">Beschreibung</th>
</tr>
<tr>
- <th width="208" rowspan="2" scope="col">PVP 2.1</th>
+ <th rowspan="2" scope="col">PVP 2.1</th>
<th colspan="2" scope="col">OpenID Connect</th>
- <th width="335" rowspan="2" scope="col">SAML 1</th>
+ <th rowspan="2" scope="col">SAML 1</th>
</tr>
<tr>
- <th width="188" scope="col">Name</th>
- <th width="53" scope="col">Profil</th>
+ <th>Name</th>
+ <th>Profil</th>
</tr>
<tr>
<td>urn:oid:1.2.40.0.10.2.1.1.149</td>
@@ -515,16 +516,16 @@ Redirect Binding</td>
<p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
</tr>
</table>
-<h2><a name="statuscodes" id="allgemeines_zugangspunkte6"></a>1.3 &Uuml;bersicht der m&ouml;glichen MOA-ID spezifischen Statuscodes</h2>
+<h3><a name="statuscodes" id="allgemeines_zugangspunkte6"></a>1.3 &Uuml;bersicht der m&ouml;glichen MOA-ID spezifischen Statuscodes</h3>
<p>Vom Modul MOA-ID-Auth werden verschiedene Authentifizierungsprotokolle wobei diese Protokolle die Fehlerr&uuml;ckgabe unterschiedlich spezifizieren. Zus&auml;tzlich zu den protokollabh&auml;ngigen Statuscodes (<a href="#referenzierte_spezifikation">siehe Spezifikation des jeweiligen Protokolls</a>) werden zus&auml;tzliche protokollunabh&auml;ngige Statuscodes an den Service Provider zur&uuml;ckgeliefert, wobei sich das Format der Fehlerr&uuml;ckgabe jedoch weiterhin protokollspezifisch ist.</p>
<p>Die nachfolgende Tabelle zeigt alle protokollunabh&auml;ngigen Statuscodes welche vom Modul MOA-ID-Auth zur&uuml;ckgeliefert werden k&ouml;nnen.</p>
-<h3><a name="statuscodes_1xxxx" id="allgemeines_zugangspunkte7"></a>1.3.1 Statuscodes 1xxxx</h3>
+<h4><a name="statuscodes_1xxxx" id="allgemeines_zugangspunkte7"></a>1.3.1 Statuscodes 1xxxx</h4>
<p>Alle Statuscodes beginnend mit der Zahl eins beschreiben Fehler welche w&auml;hrend des Identifizierungs- und Authentifizierungsvorgangs aufgetreten sind.</p>
-<h4><a name="statuscodes_10xxx" id="allgemeines_zugangspunkte11"></a>1.3.1.1 Authentifizierung (10xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_10xxx" id="allgemeines_zugangspunkte11"></a>1.3.1.1 Authentifizierung (10xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>1000</td>
@@ -559,11 +560,11 @@ Redirect Binding</td>
<td>Vollmachtsmodus f&uuml;r ausl&auml;ndische Personen wird nicht unterst&uuml;tzt.</td>
</tr>
</table>
-<h4><a name="statuscodes_11xxx" id="allgemeines_zugangspunkte12"></a>1.3.1.2 Validierung (11xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_11xxx" id="allgemeines_zugangspunkte12"></a>1.3.1.2 Validierung (11xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>1100</td>
@@ -606,11 +607,11 @@ Redirect Binding</td>
<td>Fehler beim Validieren der SZR-Gateway Response</td>
</tr>
</table>
-<h4><a name="statuscodes_12xxx" id="allgemeines_zugangspunkte13"></a>1.3.1.3 STORK (12xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_12xxx" id="allgemeines_zugangspunkte13"></a>1.3.1.3 STORK (12xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>1200</td>
@@ -637,16 +638,16 @@ Redirect Binding</td>
<td>Der geforderte QAA Level ist h&ouml;her als der QAA Level der gew&auml;hlten Authentifizierungsmethode</td>
</tr>
</table>
-<h3><a name="statuscodes_4xxxx" id="allgemeines_zugangspunkte8"></a>1.3.2 Statuscodes 4xxxx</h3>
+<h4><a name="statuscodes_4xxxx" id="allgemeines_zugangspunkte8"></a>1.3.2 Statuscodes 4xxxx</h4>
<p>Alles Statuscodes beginnend mit der Zahl vier beschreiben Fehler die w&auml;hrend der Kommunikation mit externen Services aufgetreten sind.</p>
-<h4><a name="statuscodes_40xxx" id="allgemeines_zugangspunkte19"></a>1.3.2.1 BKU (40xxxx)</h4>
+<h5><a name="statuscodes_40xxx" id="allgemeines_zugangspunkte19"></a>1.3.2.1 BKU (40xxxx)</h5>
<p>Tritt w&auml;hrend des Anmeldevorgangs in der B&uuml;rgerkartenumgebung ein Fehler auf so wird der entsprechende Fehlercode an den Service Provider weitergereicht. Der der durch das Modul MOA-ID-Auth weitergereichte Statuscode f&uuml;r B&uuml;rgerkartenumgebungsfehler wei&szlig;t das folgende zweiteilige Format auf. Der erste Teil, bestehend aus zwei Dezimalstellen, kennzeichnet den Fehler als Fehler als B&uuml;rgerkartenumgebungsfehler. Der zweite Teil, bestehend aus vier Dezimalstellen bezeichnet den eindeutigen Identifikator des Fehlers aus der B&uuml;rgerkartenumgebung (<a href="#referenzierte_spezifikation">siehe SecurityLayer Spezifikation</a>). </p>
<p align="right"><em>{40}{xxxxx}</em></p>
<blockquote>
<p>{40} ... MOA-ID Statuscode f&uuml;r Fehler aus der B&uuml;rgerkartenumgebung</p>
<p>{xxxx} .... Fehlercode der B&uuml;rgerkartenumgebung.</p>
</blockquote>
-<h4><a name="statuscodes_41xxx" id="allgemeines_zugangspunkte20"></a>1.3.2.2 MIS (41xxxx)</h4>
+<h5><a name="statuscodes_41xxx" id="allgemeines_zugangspunkte20"></a>1.3.2.2 MIS (41xxxx)</h5>
<p>Tritt w&auml;hrend der Kommunikation mit dem Online-Vollmachten Service oder der Vollmachtsauswahl ein Fehler auf so wird der entsprechende Fehlercode an den Service Provider weitergereicht. Der der durch das Modul MOA-ID-Auth weitergereichte Statuscode f&uuml;r Fehler aus dem Online-Vollmachten Service wei&szlig;t das folgende zweiteilige Format auf. Der erste Teil, bestehend aus drei Dezimalstellen, kennzeichnet den Fehler als Fehler als Online-Vollmachten Service Fehler. Der zweite Teil, bestehend aus drei Dezimalstellen bezeichnet den eindeutigen Identifikator des Fehlers aus dem Online-Vollmachten Service (<a href="#referenzierte_spezifikation">siehe Online-Vollmachten Spezifikation</a>). </p>
<p><em>{411}{xxxx}</em></p>
<blockquote>
@@ -654,10 +655,10 @@ Redirect Binding</td>
<p>{xxx} .... Fehlercode des Online-Vollmachten Service.</p>
</blockquote>
<p>Zus&auml;tzlich zu den gemappten Fehlern aus dem Online-Vollmachen Service werden zus&auml;tzliche weitere Fehlercodes definiert.</p>
-<table width="1237" border="1">
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>41000</td>
@@ -668,11 +669,11 @@ Redirect Binding</td>
<td>Allgemeiner Fehler bei der Kommunikation mit dem Online-Vollmachten Service</td>
</tr>
</table>
-<h4><a name="statuscodes_42xxx" id="allgemeines_zugangspunkte21"></a>1.3.2.3 SZR-Gateway (42xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_42xxx" id="allgemeines_zugangspunkte21"></a>1.3.2.3 SZR-Gateway (42xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>4200</td>
@@ -683,35 +684,35 @@ Redirect Binding</td>
<td>Die Antragung in das SZR ist fehlgeschlagen</td>
</tr>
</table>
-<h4><a name="statuscodes_43xxx" id="allgemeines_zugangspunkte22"></a>1.3.2.4 MOA SP/SS(43xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_43xxx" id="allgemeines_zugangspunkte22"></a>1.3.2.4 MOA SP/SS(43xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>4300</td>
<td>Fehler beim Aufruf von MOA SP/SS</td>
</tr>
</table>
-<h4><a name="statuscodes_44xxx" id="allgemeines_zugangspunkte23"></a>1.3.2.5 Interfederation (44xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_44xxx" id="allgemeines_zugangspunkte23"></a>1.3.2.5 Interfederation (44xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>4400</td>
<td>Fehler beim Generieren der Anmeldedaten</td>
</tr>
</table>
-<h3><a name="statuscodes_6xxxx" id="allgemeines_zugangspunkte9"></a>1.3.3 Statuscodes 6xxxx</h3>
+<h4><a name="statuscodes_6xxxx" id="allgemeines_zugangspunkte9"></a>1.3.3 Statuscodes 6xxxx</h4>
<p>Alles Statuscodes beginnend mit der Zahl sechs beschreiben protokollspezifische Fehler die nicht durch das jeweilige Authentifizierungsprotokoll abgebildet werden.</p>
-<h4><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte24"></a>1.3.3.1 Allgemein (61xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte24"></a>1.3.3.1 Allgemein (61xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>6000</td>
@@ -722,11 +723,11 @@ Redirect Binding</td>
<td>Der STORK Request wurde nicht erkannt oder wird nicht unterst&uuml;tzt</td>
</tr>
</table>
-<h4><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte16"></a>1.3.3.2 PVP 2.1 (61xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte16"></a>1.3.3.2 PVP 2.1 (61xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>6100</td>
@@ -753,35 +754,35 @@ Redirect Binding</td>
<td>Der Request konnte nicht g&uuml;ltig validiert werden.</td>
</tr>
</table>
-<h4><a name="statuscodes_62xxx" id="allgemeines_zugangspunkte17"></a>1.3.3.3 OpenID Connect (62xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_62xxx" id="allgemeines_zugangspunkte17"></a>1.3.3.3 OpenID Connect (62xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>6200</td>
<td>Fehlerhafte redirect url</td>
</tr>
</table>
-<h4><a name="statuscodes_63xxx" id="allgemeines_zugangspunkte18"></a>1.3.3.4 SAML 1(63xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_63xxx" id="allgemeines_zugangspunkte18"></a>1.3.3.4 SAML 1(63xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>6300</td>
<td>Fehlerhaftes SAML Artifact Format</td>
</tr>
</table>
-<h3><a name="statuscodes_9xxxx" id="allgemeines_zugangspunkte10"></a>1.3.4 Statuscodes 9xxxx</h3>
+<h4><a name="statuscodes_9xxxx" id="allgemeines_zugangspunkte10"></a>1.3.4 Statuscodes 9xxxx</h4>
<p>Alles Statuscodes beginnend mit der Zahl neun beschreiben interne Serverfehler.</p>
-<h4><a name="statuscodes_90xxx" id="allgemeines_zugangspunkte14"></a>1.3.4.1 Konfigurationsfehler (90xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_90xxx" id="allgemeines_zugangspunkte14"></a>1.3.4.1 Konfigurationsfehler (90xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>9000</td>
@@ -816,11 +817,11 @@ Redirect Binding</td>
<td>Der SZR-Gateway Client konnte nicht initialisiert werden.</td>
</tr>
</table>
-<h4><a name="statuscodes_91xxx" id="allgemeines_zugangspunkte15"></a>1.3.4.2 Interne Fehler (91xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_91xxx" id="allgemeines_zugangspunkte15"></a>1.3.4.2 Interne Fehler (91xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>9100</td>
@@ -844,7 +845,7 @@ Redirect Binding</td>
</tr>
</table>
<p>&nbsp;</p>
-<h2><a name="allgemeines_sso" id="allgemeines_zugangspunkte3"></a>1.4 Single Sign-On</h2>
+<h3><a name="allgemeines_sso" id="allgemeines_zugangspunkte3"></a>1.4 Single Sign-On</h3>
<p>Das Modul MOA-ID-Auth unterst&uuml;tzt ab der Version 2.0 Single Sign-On (SSO), wobei diese Funktionalit&auml;t unabh&auml;ngig vom verwendeten Protokoll ist. Bei Verwendung von SSO muss sich der Benutzer nur ein Mal bei MOA-ID-Auth authentifizieren und danach steht die authentifizierte Session f&uuml;r die Benutzerin oder den Benutzer f&uuml;r weitere Anmeldevorg&auml;nge ohne weitere Authentifizierung mittels B&uuml;rgerkarte, Handy-Signatur oder STORK zur Verf&uuml;gung. Die SSO Session kann danach durch <a href="#allgemeines_ssologout">die Benutzerin oder den Benutzer beendet</a> werden, oder sie wird von MOA-ID-Auth nach der <a href="./../config/config.html#konfigurationsparameter_allgemein_timeouts">maximal erlaubten Sessionzeit</a> serverseitig beendet. </p>
<p>Das nachfolgende Sequenzdiagramm zeigt eine Anmeldung mittels Single Sign-On an zwei Online-Applikationen unter Verwendung von PVP 2.1. Aus Gr&uuml;nden der &Uuml;bersichtlichkeit wurden die Teile welche die Kommunikation mit der B&uuml;rgerkartenumgebung, die Vollmachten-Auswahl oder den Metadatenaustausch betreffen bewusst nicht ber&uuml;cksichtigt.</p>
<p><img src="sso_sequence.png" width="1095" height="978" alt="Sequenzdiagramm einer Anmeldung mittels Single Sign-On"></p>
@@ -873,7 +874,7 @@ Redirect Binding</td>
<li>Ist die Validierung der Assertion erfolgreich wird die Benutzerin oder der Benutzer an der Online-Applikation 2 angemeldet</li>
</ol>
<p>Zus&auml;tzliche Informationen zur Konfiguration und die sich daraus ergebenden Anforderungen oder Einschr&auml;nkungen finden sie <a href="./../config/config.html#konfigurationsparameter_allgemein_sso">hier</a>.</p>
-<h2><a name="allgemeines_ssologout" id="allgemeines_zugangspunkte5"></a>1.5 SSO Logout </h2>
+<h3><a name="allgemeines_ssologout" id="allgemeines_zugangspunkte5"></a>1.5 SSO Logout </h3>
<p>Das Modul MOA-ID-Auth stellt ein einfaches Service zur Beendigung einer bestehenden Single Sign-On Session zur Verf&uuml;gung. Nach dem Aufruf dieses Service aus dem Browser des Users wird eine bestehende SSO Session beendet und anschlie&szlig;end wird die Benutzerin oder der Benutzer an eine im LogOut Request angegebene URL weitergeleitet. </p>
<p>Das SSO Logout Service steht unter folgender URL zur Verf&uuml;gung und ben&ouml;tigt einen http GET Parameter:</p>
<pre>http://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
@@ -882,11 +883,11 @@ Redirect Binding</td>
<pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
</pre>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>redirect</td>
@@ -901,7 +902,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
<pre>https://demo.egiz.gv.at/moa-id-auth/LogOut?redirect=https://demo.egiz.gv.at/demoportal-openID_demo
</pre>
<p><strong>Hinweis:</strong> Dieses Service bietet jedoch NICHT eine vollst&auml;ndige Single Log-Out Funktionalit&auml;t wie sie im SAML 2 Protokoll vorgesehen ist, sondern beendet ausschlie&szlig;lich die SSO Session in der MOA-ID-Auth Instanz.</p>
-<h3><a name="allgemeines_ssologout_slo" id="allgemeines_zugangspunkte25"></a>1.5.1 Single LogOut</h3>
+<h4><a name="allgemeines_ssologout_slo" id="allgemeines_zugangspunkte25"></a>1.5.1 Single LogOut</h4>
<p>Ab der Version 2.1 unterst&uuml;tzt das Modul MOA-ID-Auth Single LogOut (SLO) laut SAML2 Spezifikation. Die SLO Funktionaltit&auml;t steht jedoch nur f&uuml;r Online-Applikationen zur Verf&uuml;gung welche als Authentifizierungsprotokoll PVP 2.1 verwenden. F&uuml;r alle anderen Authentifizierungsprotokolle steht aktuell kein SLO zur Verf&uuml;gung. </p>
<p>F&uuml;r Single LogOut stehen sowohl IDP initialisiertes SLO als auch Service Provider initialisiertes SLO zur Verf&uuml;gung. Als Einsprungpunkt f&uuml;r IDP initialisiertes SLO stellt das Modul MOA-ID-Auth folgende Web Adressen zur Verf&uuml;gung. Nach dem Aufruf dieses Services wird der Single LogOut Vorgang gestartet. Nach erfolgreicher Bearbeitung aller SLO Requests / Response erfolgt die Statusausgabe in den Browser.</p>
<pre>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/idpSingleLogout</pre>
@@ -912,14 +913,14 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Wenn Single Sign-On mit Authentifizierungsprotokollen, welche kein SLO unters&uuml;tzen verwendet wurde, schl&auml;gt der Single LogOut Vorgang auf jeden Fall fehl, da der Benutzer an den jeweiligen Online-Applikationen nicht angemeldet werden kann. Die SSO Session am Identityprovider wird jedoch auf jeden Fall beendet</p>
<p>&nbsp;</p>
-<h2><a name="allgemeines_legacy" id="allgemeines_zugangspunkte4"></a>1.6 Legacy Request (B&uuml;rgerkartenauswahl beim Service Provider)</h2>
+<h3><a name="allgemeines_legacy" id="allgemeines_zugangspunkte4"></a>1.6 Legacy Request (B&uuml;rgerkartenauswahl beim Service Provider)</h3>
<p>Soll die B&uuml;rgerkartenauswahl jedoch weiterhin, wie aus MOA-ID 1.5.1 bekannt direkt in der Online-Applikation des Service Providers erfolgen muss f&uuml;r das jeweilige Protokoll der <a href="./../config/config.html#konfigurationsparameter_allgemein_protocol_legacy">Legacy Modus aktiviert</a> werden. Wird der Legacy Modus verwendet muss jedoch zus&auml;tzlich zu den protokollspezifischen Parametern mindestens der Parameter <em>bkuURI</em>, welcher die gew&auml;hlte B&uuml;rgerkartenumgebung enth&auml;lt, im Authentifizierungsrequest an MOA-ID-Auth &uuml;bergeben werden (siehe <a href="#saml1_startauth">Protokoll SAML 1</a>). Die folgenden Parameter stehen bei Verwendung des Legacy Modus unabh&auml;ngig vom verwendeten Protokoll zur Verf&uuml;gung und bilden den gesamten Umfang der B&uuml;rgerkartenauswahl, wie aus MOA-ID 1.5.1 bekannt, ab.</p>
-<table border="1" width="1247">
+<table class="configtable">
<tbody>
<tr>
- <th scope="col" width="170">Name</th>
- <th scope="col" width="221">Beispielwert</th>
- <th scope="col" width="834">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>bkuURI=&lt;bku-url&gt;</td>
@@ -948,10 +949,10 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Bei einer vollst&auml;ndigen Neukonfiguration ist der Legacy Modus standardm&auml;&szlig;ig f&uuml;r alle Protokolle deaktiviert.</p>
<p><strong>Hinweis:</strong> Bei der Verwendung des Legacy Request f&uuml;r die B&uuml;rgerkartenauswahl ist jedoch zu beachten dass im Falle einer aktiven Single Sign-On Session, MOA-ID-Auth mit einer Abfrage zum SSO Anmeldevorgang antwortet.</p>
-<h1><a name="pvp21"></a>2 PVP 2.1</h1>
+<h2><a name="pvp21"></a>2 PVP 2.1</h2>
<p>Die PVP 2.1 Implementierung des Modules MOA-ID-Auth bezieht sich auf das <a href="#referenzierte_spezifikation">S-Profil der PVP 2 Spezifikation</a>. Das S - Profil von PVP 2 verwendet SAML WebSSO f&uuml;r die Authentifizierung von Benutzern mit Webbrowser. Dadurch wird die direkte Kommunikation des Browsers mit der Anwendung erm&ouml;glicht, was in Anwendungsf&auml;llen notwendig ist, wo Anwendungen nicht kompatibel mit dem Reverse - Proxy - Verfahren sind, datenschutzrechtliche Probleme bestehen oder SAML WebSSO als Industriestandard unterst&uuml;tzt werden soll.</p>
<p>Bevor PVP 2.1 als Authentifizierungsprotokoll verwendet werden kann muss das Modul MOA-ID-Auth entsprechend konfiguriert werden. Detailinformationen zur Konfiguration finden Sie <a href="../config/config.html">hier</a>.</p>
-<h2><a name="pvp21_sequenz" id="pvp21_sequenz"></a>2.1 Ablauf einer Anmeldung mittels PVP 2.1</h2>
+<h3><a name="pvp21_sequenz" id="pvp21_sequenz"></a>2.1 Ablauf einer Anmeldung mittels PVP 2.1</h3>
<p>Die nachfolgende Abbildung zeigt das Sequenzdiagramm eines Anmeldevorgangs mittels PVP 2.1 und des Modules MOA-ID-Auth als Identity Provider. Aus Gr&uuml;nden der &Uuml;bersichtlichkeit wurden die Teile welche die Kommunikation mit der B&uuml;rgerkartenumgebung oder die Vollmachten-Auswahl betreffen bewusst nicht ber&uuml;cksichtigt.</p>
<p><img src="pvp21_sequence.png" width="968" height="687" alt="Sequenzdiagramm PVP 2.1"></p>
<ol>
@@ -973,7 +974,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
</ol>
</li>
</ol>
-<h2><a name="pvp21_metadata" id="pvp21_metadata"></a>2.2 Metadaten</h2>
+<h3><a name="pvp21_metadata" id="pvp21_metadata"></a>2.2 Metadaten</h3>
<p>Das Modul MOA-ID-Auth stellt f&uuml;r Service-Provider (Online-Applikationen) Metadaten bereit welche alle PVP 2.1 spezifischen Informationen der MOA-ID-Auth Instanz beinhalten. Diese Metadaten werden durch das Modul MOA-ID-Auth signiert, wodurch Service Provider die Authentizit&auml;t der Metadaten verifizieren k&ouml;nnen. Ein Beispiel f&uuml;r Metadaten von MOA-ID-Auth finden sie <a href="#idp_metadata.xml">hier</a>. Die aktuellen Metadaten zu Ihrer MOA-ID-Auth Instanz k&ouml;nnen unter folgender URL abgerufen werden.</p>
<pre>http://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</pre>
@@ -993,7 +994,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</ul>
<p>Zus&auml;tzlich unterst&uuml;tzt das Modul MOA-ID-Auth auch die Verschl&uuml;sselung PVP 2.1 Assertion mit einem vom Service-Provider definierten Zertifikat. Um diese Funktion zu nutzen muss in den Metadaten ein zweites XML Element <code>md:EntitiesDescriptor/md:EntityDescriptormd:SPSSODescriptor/md:KeyDescriptor</code> mit dem Attribut <code>use=&quot;encryption&quot;</code> vorhanden sein (siehe <a href="./serviceprovider_metadata.xml">Beispiel</a>). In diesem Fall verwendet das Modul MOA-ID-Auth, dass in diesem Element hinterlegte Zertifikat zur Verschl&uuml;sselung der PVP 2.1 Assertion.</p>
<p><strong>Hinweis:</strong> Fehlt im XML Element <code>md:EntitiesDescriptor/md:EntityDescriptormd:SPSSODescriptor/md:KeyDescriptor</code> das Attribut <code>use</code> wird das in diesem Element hinterlegte Zertifikat sowohl zur Pr&uuml;fung der Signatur des Authentifizierungsrequest als auch zur Verschl&uuml;sselung der PVP 2.1 Assertion verwendet.</p>
-<h2><a name="pvp21_binding" id="pvp21_binding"></a>2.3 Zugangspunkte</h2>
+<h3><a name="pvp21_binding" id="pvp21_binding"></a>2.3 Zugangspunkte</h3>
<p>F&uuml;r die Kommunikation zwischen Service Provider und dem Modul MOA-ID-Auth stellt MOA-ID-Auth aktuell zwei PVP 2.1 spezifische Zugangspunkte zur Verf&uuml;gung. Detailinformationen zu den beiden Zugangspunkten (Bindings) entnehmen finden Sie in der <a href="#referenzierte_spezifikation">SAML2 Spezifikation</a>. </p>
<ul>
<li><strong>POST Binding</strong>: In diesem Fall erfolgt die &Uuml;bertragung mittels http POST. Hierf&uuml;r stellt MOA-ID-Auth den folgenden Zugangspunkt zur Verf&uuml;gung.</li>
@@ -1004,16 +1005,16 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</ul>
<pre>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/redirect</pre>
<p><strong>Hinweis:</strong> Die Zugangspunkte k&ouml;nnen auch direkt aus den von MOA-ID-Auth generierten Metadaten entnommen werden.</p>
-<h3><a name="pvp21_binding_request" id="pvp21_binding2"></a>2.3.1 Authentifizierungsrequest</h3>
+<h4><a name="pvp21_binding_request" id="pvp21_binding2"></a>2.3.1 Authentifizierungsrequest</h4>
<p>Der Authentifizierungsrequest wird vom Service Provider erstellt und an das Modul MOA-ID-Auth &uuml;bermittelt. Zur &Uuml;bertragung, muss je nach verwendetem Binding, einer der beiden <a href="#pvp21_binding">Zugangspunkte</a> und die entsprechende Kodierung der Parameter verwendet werden.</p>
<p>Folgende Minimalanforderungen an den Authentifizierungsrequest m&uuml;ssen erf&uuml;llt sein.</p>
<ul>
<li>Der Request muss durch den Service Provider signiert sein (siehe <a href="AuthRequest.xml">Beispiel</a>). Die Signatur wird durch das Modul MOA-ID-Auth mit Hilfe des in den <a href="#pvp21_metadata">Metadaten hinterlegten Zertifikats</a> validiert. Schl&auml;gt die Signaturpr&uuml;fung fehl oder ist keine Signatur vorhanden wird der Request abgewiesen und MOA-ID-Auth antwortet mit http Code <em>400</em> und der Fehlermeldung <em>NO valid protocol request received!</em>.</li>
<li>
- <table border="1" cellpadding="2" class="fixedWidth">
+ <table class="configtable">
<tr>
- <td width="8%">Name</td>
- <td width="92%"><code>saml2p:AuthnRequest/saml2:Issuer</code></td>
+ <td>Name</td>
+ <td ><code>saml2p:AuthnRequest/saml2:Issuer</code></td>
</tr>
<tr>
<td> Gebrauch</td>
@@ -1026,7 +1027,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</table>
</li>
<li>
- <table border="1" cellpadding="2" class="fixedWidth">
+ <table class="configtable">
<tr>
<td width="8%">Name</td>
<td width="92%"><code>/saml2p:AuthnRequest/@ID</code></td>
@@ -1044,7 +1045,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</ul>
<p>Einen Beispielrequest finden Sie <a href="AuthRequest.xml">hier</a>.</p>
<p><strong>Hinweis:</strong> Detailinformationen finden Sie im Abschnitt <a href="#referenzierte_spezifikation">Spezifikationen</a> in der PVP 2.1 Spezifikation und der SAML2 Spezifikation.</p>
-<h3><a name="pvp21_binding_response" id="pvp21_binding3"></a>2.3.2 Authentifizierungsresponse</h3>
+<h4><a name="pvp21_binding_response" id="pvp21_binding3"></a>2.3.2 Authentifizierungsresponse</h4>
<p>Nach erfolgreicher Authentifizierung antwortet das Modul MOA-ID-Auth mit einer PVP 2.1 Assertion. Zur &Uuml;bertragung der Assertion erfolgt an das in den Metadaten der Online-Applikation angegebene <em>AssertionConsumerService</em> (siehe <a href="#pvp21_metadata">Metadaten</a>).</p>
<p>Aktuell werden vom Modul MOA-ID-Auth zwei Bindings zur &Uuml;bertragung der Assertion unterst&uuml;tzt.</p>
<ul>
@@ -1145,13 +1146,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
<td><p>Dieses Attribut beinhaltet einen von MOA-ID-Auth ausgestellten G&uuml;ltigkeitszeitraum f&uuml;r diese Assertion. Aktuell betr&auml;gt der G&uuml;ltigkeitszeitraum f&uuml;nf Minuten ab dem Ausstellzeitpunkt.</p></td>
</tr>
</table>
-<h1><a name="openid"></a>3 OpenID Connect </h1>
-<p>OpenID Connect ist ein Authentifizierungsprotokoll welches auf dem OAuth 2.0 Protokoll aufbaut. Dieses Protokoll erlaubt Online-Applikationen die Identifizierung und Authentifizierung von Benutzern, mit Hilfe des Modules MOA-ID-Auth. Der Vorteil von OpenID Connect im Vergleich zu auf SAML basierten Protokollen (PVP 2.1, SAML 1) ist der einfachere Aufbau der einzelnen Protokollnachrichten. Zusätzlich existieren einige frei Verfügbare Bibliotheken für unterschiedliche Programmiersprachen, welche OpenID Connect implementieren.</p>
+<h2><a name="openid"></a>3 OpenID Connect </h2>
+<p>OpenID Connect ist ein Authentifizierungsprotokoll welches auf dem OAuth 2.0 Protokoll aufbaut. Dieses Protokoll erlaubt Online-Applikationen die Identifizierung und Authentifizierung von Benutzern, mit Hilfe des Modules MOA-ID-Auth. Der Vorteil von OpenID Connect im Vergleich zu auf SAML basierten Protokollen (PVP 2.1, SAML 1) ist der einfachere Aufbau der einzelnen Protokollnachrichten. Zusätzlich existieren einige frei Verfügbare Bibliotheken für unterschiedliche Programmiersprachen, welche OpenID Connect implementieren.</p>
<p>Bevor OpenID Connect in Kombination mit dem Modul MOA-ID-Auth verwendet werden kann muss das Modul MOA-ID-Auth konfiguriert werden. Detailinformationen zur <a href="./../config/config.html#basisconfig_moa_id_auth_param_protocol_openid" >Allgemeinen Konfiguration</a> und zur <a href="./../config/config.html#konfigurationsparameter_oa_protocol_openIDConnect">online-applikationsspezifischen Konfiguration</a> finden Sie im jeweiligen Abschnitt des Kapitels Konfiguration.</p>
-<p>Die nachfolgende Beschreibung gibt einen kurzen Überblick zur Verwendung des Protokolls OpenID Connect in Kombination mit dem Modul MOA-ID-Auth. Detailinformationen zu OpenID Connect entnehmen Sie bitte der aktuellen <a href="#referenzierte_spezifikation">OpenID Connect Spezifikation</a></p>
+<p>Die nachfolgende Beschreibung gibt einen kurzen Ãœberblick zur Verwendung des Protokolls OpenID Connect in Kombination mit dem Modul MOA-ID-Auth. Detailinformationen zu OpenID Connect entnehmen Sie bitte der aktuellen <a href="#referenzierte_spezifikation">OpenID Connect Spezifikation</a></p>
-<h2><a name="openid_sequenzdiagramm"></a>3.1 Ablauf einer Anmeldung mittels OpenID Connect</h2>
-<p>Die nachfolgende Abbildung zeigt das Sequenzdiagramm eines Anmeldevorgangs mittels OpenID Connect und des Modules MOA-ID-Auth als Identity Provider. Aus Gründen der Übersichtlichkeit wurden die Teile welche die Kommunikation mit der Bürgerkartenumgebung oder die Vollmachten-Auswahl betreffen bewusst nicht berücksichtigt.</p>
+<h3><a name="openid_sequenzdiagramm"></a>3.1 Ablauf einer Anmeldung mittels OpenID Connect</h3>
+<p>Die nachfolgende Abbildung zeigt das Sequenzdiagramm eines Anmeldevorgangs mittels OpenID Connect und des Modules MOA-ID-Auth als Identity Provider. Aus Gründen der Übersichtlichkeit wurden die Teile welche die Kommunikation mit der Bürgerkartenumgebung oder die Vollmachten-Auswahl betreffen bewusst nicht berücksichtigt.</p>
<p><img src="openIDconnect_sequenz.png" width="1138" height="705" alt="Sequenzdiagramm OpenID Connect"></p>
<ol>
@@ -1182,23 +1183,23 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</ol>
</li>
</ol>
-<h2><a name="openid_interface"></a>3.2 Zugangspunkte</h2>
-<p>Zur Verwendung von OpenID Connect stellt das Modul MOA-ID-Auth zwei Zugangspunkte zur Kommunikation mit der Online-Applikation zur Verfügung. Diese Zugangspunkte bezeichnen die URLs unter welchen das Modul MOA-ID-Auth die entsprechenden OpenID Connect Nachrichten entgegennimmt.</p>
+<h3><a name="openid_interface"></a>3.2 Zugangspunkte</h3>
+<p>Zur Verwendung von OpenID Connect stellt das Modul MOA-ID-Auth zwei Zugangspunkte zur Kommunikation mit der Online-Applikation zur Verfügung. Diese Zugangspunkte bezeichnen die URLs unter welchen das Modul MOA-ID-Auth die entsprechenden OpenID Connect Nachrichten entgegennimmt.</p>
<ul>
- <li><b>AuthCode-Request:</b> <em>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth2/auth</em><br> Unter dieser URL wird der Authn Request entgegengenommen. Dieser Request startet den Authentifizierungsvorgang an der Online-Applikation. Hier finden Sie Detailinformationen zum <a href="#openid_req_authnreq"> Request </a>und zur <a href="#openid_req_authnresp">Response</a>.</li>
- <li><b>AccessToken-Request:</b> <em>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth2/token</em><br> Unter dieser URL können nach erfolgreicher Authentifizierung die eigentlichen Authentifizierungsdaten am Modul MOA-ID-Auth abgeholt werden. Hier finden Sie Detailinformationen zum <a href="#openid_req_tokenreq"> Request </a>und zur <a href="#openid_req_tokenresp">Response</a>.</li>
+ <li><b>AuthCode-Request:</b> <em>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth3/auth</em><br> Unter dieser URL wird der Authn Request entgegengenommen. Dieser Request startet den Authentifizierungsvorgang an der Online-Applikation. Hier finden Sie Detailinformationen zum <a href="#openid_req_authnreq"> Request </a>und zur <a href="#openid_req_authnresp">Response</a>.</li>
+ <li><b>AccessToken-Request:</b> <em>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth3/token</em><br> Unter dieser URL können nach erfolgreicher Authentifizierung die eigentlichen Authentifizierungsdaten am Modul MOA-ID-Auth abgeholt werden. Hier finden Sie Detailinformationen zum <a href="#openid_req_tokenreq"> Request </a>und zur <a href="#openid_req_tokenresp">Response</a>.</li>
</ul>
-<h2><a name="openid_requests"></a>3.3 Beschreibung der Nachrichten</h2>
-<p>Dieser Abschnitt beschreibt die einzelnen OpenID Connect spezifischen Nachrichten, welche zwischen der Online-Applikation und dem Modul MOA-ID-Auth während eines Authentifizierungsvorgangs ausgetauscht werden. Hierbei wird auch auf das Sequenzdiagramm aus <a href="#openid_sequenzdiagramm">Abschnitt 3.1</a> Bezug genommen.</p>
+<h3><a name="openid_requests"></a>3.3 Beschreibung der Nachrichten</h3>
+<p>Dieser Abschnitt beschreibt die einzelnen OpenID Connect spezifischen Nachrichten, welche zwischen der Online-Applikation und dem Modul MOA-ID-Auth während eines Authentifizierungsvorgangs ausgetauscht werden. Hierbei wird auch auf das Sequenzdiagramm aus <a href="#openid_sequenzdiagramm">Abschnitt 3.1</a> Bezug genommen.</p>
-<h3><a name="openid_req_authnreq"></a>3.2.1 AuthCode Request</h3>
-<p>Der AuthCode Request ist die Authentifizierungsanfrage einer Online-Applikation für eine Benutzerin oder einen Benutzer.
-Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für die Übertragung der Parameter sowohl http GET als auch http POST verwendet werden kann.</p>
-<table width="1247" border="1">
+<h4><a name="openid_req_authnreq"></a>3.2.1 AuthCode Request</h4>
+<p>Der AuthCode Request ist die Authentifizierungsanfrage einer Online-Applikation für eine Benutzerin oder einen Benutzer.
+Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für die Übertragung der Parameter sowohl http GET als auch http POST verwendet werden kann.</p>
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>client_id</td>
@@ -1241,7 +1242,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
</table>
<p>&nbsp;</p>
<p>Nachfolgend ein Beispiel f&uuml;r einen OpenID Connect Authentifizierungsrequest an das Modul MOA-ID-Auth.</p>
-<pre>&lt;form method=&quot;get&quot; action=&quot;https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth2/auth&quot;&gt;
+<pre>&lt;form method=&quot;get&quot; action=&quot;https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth3/auth&quot;&gt;
&lt;input type=&quot;hidden&quot; value=&quot;code&quot; name=&quot;response_type&quot;&gt;
&lt;input type=&quot;hidden&quot; value=&quot;https://demo.egiz.gv.at/demoportal-openID_demo&quot; name=&quot;client_id&quot;&gt;
&lt;input type=&quot;hidden&quot; value=&quot;https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action&quot; name=&quot;redirect_uri&quot;&gt;
@@ -1249,13 +1250,13 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
&lt;input type=&quot;hidden&quot; value=&quot;1152547590&quot; name=&quot;state&quot;&gt;
&lt;input type=&quot;submit&quot; value=&quot;OpenID Connect login&quot;&gt;
&lt;/form&gt;</pre>
-<h3><a name="openid_req_authnresp"></a>3.2.2 AuthCode Response</h3>
+<h4><a name="openid_req_authnresp"></a>3.2.2 AuthCode Response</h4>
<p>Das Ergebnis des AuthCode Requests wird an die <em>redirect_uri</em> der Online-Applikation gesendet. Die nachfolgenden Parameter werden dabei &uuml;bergeben.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>state</td>
@@ -1271,13 +1272,13 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
<p>&nbsp;</p>
<p>Nachfolgend ein Beispiel f&uuml;r eine AuthCode Response.</p>
<pre>https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action?state=1425782214234&amp;code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7 </pre>
-<h3><a name="openid_req_tokenreq"></a>3.2.3 AccessToken Request</h3>
+<h4><a name="openid_req_tokenreq"></a>3.2.3 AccessToken Request</h4>
<p>Mit dem AccessToken Request k&ouml;nnen vom Service Provider der Online-Applikation die Anmeldedaten an der MOA-ID-Auth Instanz abgeholt werden. F&uuml;r die Abholung m&uuml;ssen folgende Parameter mit dem AccessToken Request an MOA-ID-Auth &uuml;bertragen werden, wobei f&uuml;r die &Uuml;bertragung der Parameter sowohl http GET als auch http POST verwendet werden kann.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>grant_type</td>
@@ -1307,7 +1308,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
</table>
<p>&nbsp;</p>
<p>Nachfolgend ein Beispiel f&uuml;r einen AccessToken Request</p>
-<pre>&lt;form method=&quot;POST&quot; action=&quot;https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth2/token&quot;&gt;
+<pre>&lt;form method=&quot;POST&quot; action=&quot;https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth3/token&quot;&gt;
&lt;input type=&quot;hidden&quot; value=&quot;authorization_code&quot; name=&quot;grant_type&quot;&gt;
&lt;input type=&quot;hidden&quot; value=&quot;https://demo.egiz.gv.at/demoportal-openID_demo&quot; name=&quot;client_id&quot;&gt;
&lt;input type=&quot;hidden&quot; value=&quot;https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action&quot; name=&quot;redirect_uri&quot;&gt;
@@ -1315,16 +1316,16 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
&lt;input type=&quot;hidden&quot; value=&quot;4/P7q7W91a-oMsCeLvIaQm6bTrgtp7&quot; name=&quot;code&quot;&gt;
&lt;/form&gt;</pre>
-<h3><a name="openid_req_tokenresp"></a>3.2.4 AccessToken Response</h3>
+<h4><a name="openid_req_tokenresp"></a>3.2.4 AccessToken Response</h4>
<p>Die AccessToken Response beinhaltet ein signiertes JSON-Token welches alle angeforderten (Parameter <em>scope</em> im AuthCode Request) und vorhandenen Authentifizierungsdaten beinhaltet. Dieses JSON-Token ist mit einer JSON Web Signatur von MOA-ID-Auth signiert, wobei die Signatur alle angeforderten Daten einschlie&szlig;t. Details zur Konfiguration des Signatur Zertifikats finden Sie <a href="../config/config.html#basisconfig_moa_id_auth_param_protocol_openid">hier</a>. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>access_token</td>
@@ -1365,20 +1366,20 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
NzYxMDAxIiwKICJhdWQiOiAiczZCaGRSa3F0MyIsCiAibm9uY2UiOiAibi0wUzZ
fV3pBMk1qIiwKICJleHAiOiAxMzExMjgxOTcwLAogImlhdCI6IDEzMTEyODA5Nz
AKfQ.ggW8hZ1EuVLuxNuuIJKX_V8a_OMXzR0EHR9R6jgdqrOOF4daGU96Sr_P6q
- Jp6IcmD3HP99Obi1PRs-cwh3LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJ
+ Jp6IcmD3HP99Obi1PRs-cwh4LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJ
NqeGpe-gccMg4vfKjkM8FcGvnzZUN4_KSP0aAp1tOJ1zZwgjxqGByKHiOtX7Tpd
QyHE5lcMiKPXfEIQILVq0pc_E2DzL7emopWoaoZTF_m0_N0YzFC6g6EJbOEoRoS
K5hoDalrcvRYLSrQAZZKflyuVCyixEoV9GfNQC3_osjzw2PAithfubEEBLuVVk4
XUVrWOLrLl0nx7RkKU8NXNHq-rvKMzqg&quot;
} </pre>
-<h3><a name="openid_req_errorresponse" id="openid_req_errorresponse"></a>3.2.5 Error Response</h3>
+<h4><a name="openid_req_errorresponse" id="openid_req_errorresponse"></a>3.2.5 Error Response</h4>
<p>Sollte w&auml;hrend des Authentifizierungsvorgangs ein Fehler auftreten antwortet das Modul MOA-ID-Auth mit einer Error Response. Diese beinhaltet folgende Parameter</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>error</td>
@@ -1397,10 +1398,10 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
</tr>
</table>
<p>&nbsp;</p>
-<h1><a name="saml1"></a>3 SAML 1</h1>
+<h2><a name="saml1"></a>3 SAML 1</h2>
<p>SAML 1 wird durch MOA-ID-Auth 2.0 auch weiterhin, aus Gr&uuml;nden der Abw&auml;rtskompatibilit&auml;t, als Authentifizierungsprotokoll unterst&uuml;tzt. Es wird jedoch der Umstieg auf ein aktuelles Authentifizierungsprotokoll wie PVP 2.1 oder OpenID Connect empfohlen.</p>
<p>Die nachfolgenden Abschnitte beschreiben den Anmeldevorgang unter Verwendung von SAML1 wobei die Funktionalit&auml;t, wie sie aus MOA-ID &lt;= 1.5.1 bekannt ist, auch weiterhin unterst&uuml;tzt wird (B&uuml;rgerkartenauswahl auf Seiten des Service Provider). Zus&auml;tzlich steht f&uuml;r SAML 1 jedoch auch die Funktionalit&auml;t der automatischen Generierung der B&uuml;rgerkartenauswahl durch das Modul MOA-ID-Auth zur Verf&uuml;gung.</p>
-<h2><a name="saml1_sequence" id="saml1_sequence"></a>3.1 Ablauf einer Anmeldung mittels SAML 1</h2>
+<h3><a name="saml1_sequence" id="saml1_sequence"></a>3.1 Ablauf einer Anmeldung mittels SAML 1</h3>
<p>Die nachfolgende Abbildung zeigt das Sequenzdiagramm eines Anmeldevorgangs mittels SAML 1 und des Modules MOA-ID-Auth als Identity Provider. Hierbei wird die aus MOA-ID 1.5.1 bekannte Variante der B&uuml;rgerkartenauswahl beim Service Provider verwenden. Aus Gr&uuml;nden der &Uuml;bersichtlichkeit wurden die Teile welche die Kommunikation mit der B&uuml;rgerkartenumgebung oder die Vollmachten-Auswahl betreffen bewusst nicht ber&uuml;cksichtigt.</p>
<p><img src="saml1_sequence.png" width="936" height="592" alt="Sequenzdiagramm f&uuml;r SAML 1"></p>
<ol>
@@ -1419,7 +1420,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
<li>MOA-ID-Auth validiert das Artifact. Ist die Validierung erfolgreich antwortet MOA-ID-Auth mit der SAML 1 Assertion, welche die Anmeldedaten beinhaltet. </li>
<li>Der Service Provider verarbeitet die Assertion und danach ist der Benutzer an der Online-Applikation angemeldet.</li>
</ol>
-<h2><a name="saml1_zugang" id="saml1_zugang"></a>3.2 Zugangspunkte</h2>
+<h3><a name="saml1_zugang" id="saml1_zugang"></a>3.2 Zugangspunkte</h3>
<p>Zur Verwendung von SAML 1 stellt das Modul MOA-ID-Auth zwei Zugangspunkte zur Kommunikation mit der Online-Applikation (Service Provider) zur Verf&uuml;gung. Diese Zugangspunkte bezeichnen die URLs unter welchen das Modul MOA-ID-Auth die entsprechenden SAML1 Nachrichten entgegennimmt.</p>
<ul>
<li><strong>StartAuthentication Request:</strong> <em>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/StartAuthentication</em><br>
@@ -1427,7 +1428,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
<li><strong>GetAuthenticationData:</strong> <em>http(s)://&lt;host&gt;:&lt;port&gt;/moa-id-auth/services/GetAuthenticationData</em><br>
Unter dieser URL k&ouml;nnen nach erfolgreicher Authentifizierung die eigentlichen Authentifizierungsdaten am Modul MOA-ID-Auth abgeholt werden.</li>
</ul>
-<h2><a name="saml1_startauth" id="saml1_zugang2"></a>3.3 StartAuthentication Request</h2>
+<h3><a name="saml1_startauth" id="saml1_zugang2"></a>3.3 StartAuthentication Request</h3>
<p>MOA-ID-Auth wird immer durch eine andere (verweisende) Webseite aufgerufen. Diese Webseite kann z.B. Teil eines Portals sein. Der Aufruf erfolgt durch einen Verweis der Form, wobei die Parameter sowohl als http GET als auch als http POST an MOA-ID-Auth &uuml;bergeben werden k&ouml;nnen.</p>
<pre>&lt;a href="https://&lt;moa-id-server-und-pfad&gt;/StartAuthentication
?Target=&lt;gesch&auml;ftsbereich&gt;
@@ -1436,11 +1437,11 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
&amp;Template=&lt;template-url&gt;
&amp;useMandate=false
&amp;CCC=&lt;ccc&gt;"&gt;</pre>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="170" scope="col">Name</th>
- <th width="221" scope="col">Beispielwert</th>
- <th width="834" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>&lt;moa-id-server-und-pfad&gt;</td>
@@ -1486,12 +1487,12 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
<td><strong>Optional:</strong> Die sourceID flie&szlig;t in die Generierung des SAML1 Artifacts, welches an den Service Provider returniert wird, ein. Detailinformationen zur Generierung des SAML1 Artifacts und zur sourceID finden Sie in der <a href="#referenzierte_spezifikation">SAML1 Spezifikation</a>.</td>
</tr>
</table>
-<h2><a name="saml1_getassertion" id="saml1_zugang3"></a>3.4 GetAuthenticationData Request</h2>
+<h3><a name="saml1_getassertion" id="saml1_zugang3"></a>3.4 GetAuthenticationData Request</h3>
<p>Nach erfolgter Authentisierung stehen in MOA-ID-AUTH Anmeldedaten zum Abholen bereit, und MOA-ID-AUTH veranlasst einen Redirect zur Online-Applikation (OA). <br>
<br>
In diesem Redirect werden der Gesch&auml;ftsbereich und ein SAML-Artifact als Parameter &uuml;bergeben. </p>
<pre>&lt;a href="https://&lt;oa-url&gt;?Target=&lt;gesch&auml;ftsbereich&gt;&amp;SAMLArtifact=&lt;saml-artifact&gt;"&gt;</pre>
-<table border="1">
+<table class="configtable">
<tbody valign="baseline">
<tr>
<td>oa-url&gt;</td>
@@ -1519,8 +1520,8 @@ Sollte w&auml;hrend des Anmeldevorgangs ein Fehler aufgetreten sein, antwortet d
<li> <a href="file:///D:/Projekte/svn/moa-id/moa-idspss/id/server/doc/cs-sstc-schema-assertion-01.xsd">SAML 1.0 Assertion Schema</a></li>
</ul>
<p>Der detaillierte Aufbau der &lt;saml:Assertion&gt; zu den Anmeldedaten ist in der <a href="./../spec/MOA_ID_1.4_20070802.pdf">Spezifikation MOA-ID 1.4</a> beschrieben.</p>
-<h1><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h1>
-<table class="fixedWidth" border="1" cellpadding="2">
+<h2><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h2>
+<table class="configtable">
<tbody>
<tr>
<th>Spezifikation</th>
@@ -1560,5 +1561,6 @@ Sollte w&auml;hrend des Anmeldevorgangs ein Fehler aufgetreten sein, antwortet d
</tr>
</tbody>
</table>
+ </div>
</body>
</html>
diff --git a/id/server/doc/htmlTemplates/BKU-selection.html b/id/server/doc/htmlTemplates/BKU-selection.html
index ef070b8eb..d0af6401b 100644
--- a/id/server/doc/htmlTemplates/BKU-selection.html
+++ b/id/server/doc/htmlTemplates/BKU-selection.html
@@ -837,7 +837,7 @@
src="#CONTEXTPATH#/img/valid-html5-blue.png" alt="HTML5 ist valide!" />
</a> <a href="http://jigsaw.w3.org/css-validator/"> <img
style="border: 0; width: 88px; height: 31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/doc/htmlTemplates/sendAssertion.html b/id/server/doc/htmlTemplates/sendAssertion.html
index b80d654cc..1a3e683de 100644
--- a/id/server/doc/htmlTemplates/sendAssertion.html
+++ b/id/server/doc/htmlTemplates/sendAssertion.html
@@ -608,7 +608,7 @@
</a>
<a href="http://jigsaw.w3.org/css-validator/">
<img style="border:0;width:88px;height:31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/idserverlib/.gitignore b/id/server/idserverlib/.gitignore
index ea8c4bf7f..19f2e002c 100644
--- a/id/server/idserverlib/.gitignore
+++ b/id/server/idserverlib/.gitignore
@@ -1 +1,2 @@
/target
+/target
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index 65004490b..19e81c36d 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -24,18 +24,48 @@
<url>https://build.shibboleth.net/nexus/content/groups/public/</url>
</repository>
</repositories>
-
+
<dependencies>
- <dependency>
- <groupId>eu.stork</groupId>
- <artifactId>oasis-dss-api</artifactId>
- <version>1.0.0-RELEASE</version>
- </dependency>
+ <!-- TestNG -->
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>6.1.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>eu.stork</groupId>
+ <artifactId>oasis-dss-api</artifactId>
+ <version>1.0.0-RELEASE</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-io</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>MOA.id.server</groupId>
<artifactId>moa-id-commons</artifactId>
</dependency>
+
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>${hibernate.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-c3p0</artifactId>
+ <version>${hibernate.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <version>${hibernate.version}</version>
+ </dependency>
+
<!-- <dependency>
<groupId>eu.stork</groupId>
@@ -53,6 +83,7 @@
<artifactId>moa-common</artifactId>
<type>jar</type>
</dependency>
+
<dependency>
<groupId>MOA</groupId>
<artifactId>moa-common</artifactId>
@@ -100,8 +131,6 @@
<dependency>
<groupId>at.gv.util</groupId>
<artifactId>egovutils</artifactId>
- <!-- <version>1.0.7</version> -->
- <version>2.0.0</version>
<exclusions>
<exclusion>
<groupId>com.sun</groupId>
@@ -129,6 +158,16 @@
</exclusion>
</exclusions>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxws</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-transports-http</artifactId>
+ </dependency>
+
<dependency>
<groupId>javax.xml.bind</groupId>
@@ -147,11 +186,13 @@
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</dependency>
+ <!--
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
+ -->
<dependency>
<groupId>xalan-bin-dist</groupId>
@@ -216,12 +257,7 @@
<artifactId>jul-to-slf4j</artifactId>
<version>1.7.6</version>
</dependency> -->
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
+
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
@@ -346,13 +382,23 @@
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
+ <exclusion>
+ <artifactId>google-collections</artifactId>
+ <groupId>com.google.collections</groupId>
+ </exclusion>
</exclusions>
</dependency>
<dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>18.0</version>
+ </dependency>
+
+ <dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
- <version>1.9</version>
+ <version>1.10</version>
</dependency>
<!-- Google OAuth Client -->
@@ -367,15 +413,14 @@
<artifactId>google-oauth-client-jetty</artifactId>
<version>1.19.0</version>
<scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>servlet-api</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
- <!-- TestNG -->
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>6.1.1</version>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>eu.stork</groupId>
<artifactId>DocumentService</artifactId>
@@ -396,6 +441,72 @@
</exclusion>
</exclusions>
</dependency>
+
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- testing -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>1.4.178</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <!-- tools -->
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-collections4</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>${org.apache.commons.lang3.version}</version>
+ </dependency>
+
+ <!-- spring -->
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-expression</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-webmvc</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<build>
@@ -427,16 +538,7 @@
</executions>
</plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- </configuration>
- </plugin>
-
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
@@ -462,11 +564,10 @@
</tag>
</tags>
<links>
- <link>http://java.sun.com/j2se/1.4/docs/api/</link>
- <link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
+ <link>http://docs.oracle.com/javase/7/docs/api/</link>
<link>http://logging.apache.org/log4j/docs/api/</link>
</links>
- <target>1.5</target>
+ <target>1.7</target>
</configuration>
<executions>
<execution>
@@ -496,7 +597,30 @@
</execution>
</executions>
</plugin>
+
+ <!-- enable co-existence of testng and junit -->
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.version}</version>
+ <configuration>
+ <threadCount>1</threadCount>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-junit47</artifactId>
+ <version>${surefire.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-testng</artifactId>
+ <version>${surefire.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+
</plugins>
+
</build>
</project>
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java
index b68db92a4..f45a16780 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java
@@ -23,6 +23,7 @@
package at.gv.egovernment.moa.id.advancedlogging;
import java.io.ByteArrayInputStream;
+import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
@@ -160,8 +161,9 @@ public class StatisticLogger {
dblog.setPv(false);
}
+ InputStream is = null;
try {
- InputStream is = new ByteArrayInputStream(mandate.getMandate());
+ is = new ByteArrayInputStream(mandate.getMandate());
JAXBContext jc = JAXBContext.newInstance(Mandate.class);
Unmarshaller u = jc.createUnmarshaller();
@@ -189,6 +191,17 @@ public class StatisticLogger {
} catch (JAXBException e) {
Logger.warn("Advancted logging can not parse mandate.", e);
+
+ } finally {
+ if (is!=null) {
+ try {
+ is.close();
+
+ } catch (IOException e) {
+ Logger.warn("Close InputStream failed." , e);
+
+ }
+ }
}
}
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java
index 43384c58a..eab7c511e 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java
@@ -11,9 +11,11 @@ import java.io.InputStream;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
+import java.net.URL;
import java.security.NoSuchAlgorithmException;
import java.security.Principal;
import java.security.cert.CertificateException;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
//import java.security.cert.CertificateFactory;
import java.util.Calendar;
@@ -29,6 +31,7 @@ import javax.xml.transform.TransformerException;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.BooleanUtils;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
@@ -311,27 +314,28 @@ public class AuthenticationServer implements MOAIDAuthConstants {
}
/**
- * Processes an <code>&lt;InfoboxReadResponse&gt;</code> sent by the
- * security layer implementation.<br>
+ * Processes an <code>&lt;InfoboxReadResponse&gt;</code> sent by the security layer implementation.<br>
* <ul>
* <li>Validates given <code>&lt;InfoboxReadResponse&gt;</code></li>
- * <li>Parses identity link enclosed in
- * <code>&lt;InfoboxReadResponse&gt;</code></li>
+ * <li>Parses identity link enclosed in <code>&lt;InfoboxReadResponse&gt;</code></li>
* <li>Verifies identity link by calling the MOA SP component</li>
* <li>Checks certificate authority of identity link</li>
* <li>Stores identity link in the session</li>
* <li>Verifies all additional infoboxes returned from the BKU</li>
* <li>Creates an authentication block to be signed by the user</li>
- * <li>Creates and returns a <code>&lt;CreateXMLSignatureRequest&gt;</code>
- * containg the authentication block, meant to be returned to the security
- * layer implementation</li>
+ * <li>Creates and returns a <code>&lt;CreateXMLSignatureRequest&gt;</code> containg the authentication block, meant
+ * to be returned to the security layer implementation</li>
* </ul>
- *
- * @param sessionID ID of associated authentication session data
- * @param infoboxReadResponseParameters The parameters from the response returned from the BKU
- * including the <code>&lt;InfoboxReadResponse&gt;</code>
- * @return String representation of the
- * <code>&lt;CreateXMLSignatureRequest&gt;</code>
+ *
+ * @param sessionID
+ * ID of associated authentication session data
+ * @param infoboxReadResponseParameters
+ * The parameters from the response returned from the BKU including the
+ * <code>&lt;InfoboxReadResponse&gt;</code>
+ * @return String "found!" in case the identity link could be retrieved and successfully validated, {@code null} in
+ * case the identity link could not be retrieved (indicates that the card did not contain an identity link
+ * which might indicate a foreign identity). Note that failing to parse or failing to validate the identity
+ * link results in an Exception being thrown.
* @throws BKUException
*/
public String verifyIdentityLink(AuthenticationSession session,
@@ -1057,6 +1061,7 @@ public class AuthenticationServer implements MOAIDAuthConstants {
ByteArrayInputStream bais = new ByteArrayInputStream(mandate
.getMandate());
Document doc = DOMUtils.parseDocumentSimple(bais);
+ bais.close();
return doc.getDocumentElement();
}
@@ -1095,14 +1100,14 @@ public class AuthenticationServer implements MOAIDAuthConstants {
* <li>Stores authentication data in the authentication data store indexed
* by the SAML artifact</li>
* <li>Deletes authentication session</li>
- * <li>Returns the SAML artifact, encoded BASE64</li>
+ * <li><strike>Returns the SAML artifact, encoded BASE64</strike><br/>New id of the authenticated MOA session or {@code null} in case of mandate mode (???)</li>
* </ul>
*
* @param sessionID session ID of the running authentication session
* @param xmlCreateXMLSignatureReadResponse String representation of the
* <code>&lt;CreateXMLSignatureResponse&gt;</code>
- * @return SAML artifact needed for retrieving authentication data, encoded
- * BASE64
+ * @return <strike>SAML artifact needed for retrieving authentication data, encoded
+ * BASE64</strike><br/>New id of the authenticated MOA session or {@code null} in case of mandate mode (???)
* @throws BKUException
*/
public String verifyAuthenticationBlock(AuthenticationSession session,
@@ -1362,17 +1367,16 @@ public class AuthenticationServer implements MOAIDAuthConstants {
/**
* Gets the foreign authentication data.<br>
* <ul>
- * <li>Creates authentication data</li>
+ * <li><strong>Creates authentication data</strong></li>
* <li>Creates a corresponding SAML artifact</li>
* <li>Stores authentication data in the authentication data store indexed
* by the SAML artifact</li>
* <li>Deletes authentication session</li>
- * <li>Returns the SAML artifact, encoded BASE64</li>
+ * <li><strike>Returns the SAML artifact, encoded BASE64</strike></li>
* </ul>
*
* @param sessionID session ID of the running authentication session
- * @return SAML artifact needed for retrieving authentication data, encoded
- * BASE64
+ * @return String "new Session"
*/
public String getForeignAuthenticationData(AuthenticationSession session)
throws AuthenticationException, BuildException, ParseException,
@@ -1381,46 +1385,6 @@ public class AuthenticationServer implements MOAIDAuthConstants {
if (session == null)
throw new AuthenticationException("auth.10", new Object[]{
REQ_VERIFY_AUTH_BLOCK, PARAM_SESSIONID});
-
- // // post processing of the infoboxes
- // Iterator iter = session.getInfoboxValidatorIterator();
- // boolean formpending = false;
- // if (iter != null) {
- // while (!formpending && iter.hasNext()) {
- // Vector infoboxValidatorVector = (Vector) iter.next();
- // String identifier = (String) infoboxValidatorVector.get(0);
- // String friendlyName = (String) infoboxValidatorVector.get(1);
- // InfoboxValidator infoboxvalidator = (InfoboxValidator) infoboxValidatorVector
- // .get(2);
- // InfoboxValidationResult infoboxValidationResult = null;
- // try {
- // infoboxValidationResult = infoboxvalidator.validate(session
- // .getIdentityLink().getSamlAssertion());
- // } catch (ValidateException e) {
- // Logger.error("Error validating " + identifier + " infobox:"
- // + e.getMessage());
- // throw new ValidateException("validator.44",
- // new Object[]{friendlyName});
- // }
- // if (!infoboxValidationResult.isValid()) {
- // Logger.info("Validation of " + identifier
- // + " infobox failed.");
- // throw new ValidateException("validator.40", new Object[]{
- // friendlyName,
- // infoboxValidationResult.getErrorMessage()});
- // }
- // String form = infoboxvalidator.getForm();
- // if (ParepUtils.isEmpty(form)) {
- // AddAdditionalSAMLAttributes(
- // session,
- // infoboxValidationResult.getExtendedSamlAttributes(),
- // identifier, friendlyName);
- // } else {
- // return "Redirect to Input Processor";
- // }
- // }
- // }
-
VerifyXMLSignatureResponse vsresp = new VerifyXMLSignatureResponse();
X509Certificate cert = session.getSignerCertificate();
vsresp.setX509certificate(cert);
@@ -1442,8 +1406,8 @@ public class AuthenticationServer implements MOAIDAuthConstants {
* Retrieves a session from the session store.
*
* @param id session ID
- * @return <code>AuthenticationSession</code> stored with given session ID,
- * <code>null</code> if session ID unknown
+ * @return <code>AuthenticationSession</code> stored with given session ID (never {@code null}).
+ * @throws AuthenticationException in case the session id does not reflect a valic, active session.
*/
public static AuthenticationSession getSession(String id)
throws AuthenticationException {
@@ -1749,10 +1713,6 @@ public class AuthenticationServer implements MOAIDAuthConstants {
// String acsURL = new DataURLBuilder().buildDataURL(issuerValue,
// PEPSConnectorServlet.PEPSCONNECTOR_SERVLET_URL_PATTERN, moasession.getSessionID());
- //solve Problem with sessionIDs
- String acsURL = issuerValue + PEPSConnectorServlet.PEPSCONNECTOR_SERVLET_URL_PATTERN;
-
- Logger.debug("MOA Assertion Consumer URL (PEPSConnctor): " + acsURL);
String providerName = oaParam.getFriendlyName();
Logger.debug("Issuer value: " + issuerValue);
@@ -1772,7 +1732,7 @@ public class AuthenticationServer implements MOAIDAuthConstants {
boolean globallyMandatory = false;
for (StorkAttribute currentGlobalAttribute : storkConfig.getStorkAttributes())
if (current.getName().equals(currentGlobalAttribute.getName())) {
- globallyMandatory = currentGlobalAttribute.isMandatory();
+ globallyMandatory = BooleanUtils.isTrue(currentGlobalAttribute.isMandatory());
break;
}
@@ -1787,12 +1747,18 @@ public class AuthenticationServer implements MOAIDAuthConstants {
List<String> value = new ArrayList<String>();
Logger.debug("PEPS supports XMLSignatures:"+cpeps.isXMLSignatureSupported());
+ String acsURL;
if(cpeps.isXMLSignatureSupported())//Send SignRequest to PEPS
{
+ //solve Problem with sessionIDs
+ acsURL = issuerValue + PEPSConnectorServlet.PEPSCONNECTOR_SERVLET_URL_PATTERN;
+
value.add(generateDssSignRequest(CreateXMLSignatureRequestBuilder.buildForeignIDTextToBeSigned("wie im Signaturzertifikat (as in my signature certificate)", oaParam, moasession),
"application/xhtml+xml", moasession.getCcc()));
newAttribute.setValue(value);
attributeList.add(newAttribute);
+
+ // TODO[branch]: STORK AuthReq CPEPS acsURL "/PEPSConnector"
}
else//Process SignRequest locally with MOCCA
{
@@ -1808,6 +1774,7 @@ public class AuthenticationServer implements MOAIDAuthConstants {
moasession.setSignedDoc(signedDoc);
acsURL = issuerValue + PEPSConnectorWithLocalSigningServlet.PEPSCONNECTOR_SERVLET_URL_PATTERN;
+ // TODO[branch]: STORK AuthReq acsURL "/PEPSConnectorWithLocalSigning"
try {
AuthenticationSessionStoreage.storeSession(moasession);
} catch (MOADatabaseException e) {
@@ -1816,6 +1783,7 @@ public class AuthenticationServer implements MOAIDAuthConstants {
}
}
+ Logger.debug("MOA Assertion Consumer URL (PEPSConnctor): " + acsURL);
if (Logger.isDebugEnabled()) {
Logger.debug("The following attributes are requested for this OA:");
@@ -1880,6 +1848,17 @@ public class AuthenticationServer implements MOAIDAuthConstants {
//send
moasession.setStorkAuthnRequest(authnRequest);
+ // do PEPS-conform logging for easier evaluation
+ try {
+ // 2015-03-12 16:44:27.144#S-PEPS receives request from SP#spurl#spepsurl#spapp#spdomain#citizen country#qaa#msghash#msg_id id1#
+ Logger.info(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()) + "#S-PEPS receives request from SP#" +
+ moasession.getPublicOAURLPrefix() + "#" + issuerValue + "#" + spApplication + "#" +
+ new URL(moasession.getPublicOAURLPrefix()).getHost() + "#" + moasession.getCcc() + "#" + oaParam.getQaaLevel() +
+ "#_hash_#" + moasession.getProcessInstanceId() + "#");
+ } catch (Exception e1) {
+ Logger.info("STORK PEPS conform logging failed because of: " + e1.getMessage());
+ }
+
AuthenticationSessionStoreage.changeSessionID(moasession, authnRequest.getSamlId());
@@ -1900,6 +1879,8 @@ public class AuthenticationServer implements MOAIDAuthConstants {
StringWriter writer = new StringWriter();
template.merge(context, writer);
+ // TODO[branch]: SAML2 Form Submit to CPEPS, response to acsURL Servlet
+
resp.setContentType("text/html;charset=UTF-8");
resp.getOutputStream().write(writer.toString().getBytes("UTF-8"));
@@ -1910,6 +1891,17 @@ public class AuthenticationServer implements MOAIDAuthConstants {
}
Logger.info("STORK AuthnRequest successfully successfully prepared for client with target location: " + authnRequest.getDestination());
+
+ // do PEPS-conform logging for easier evaluation
+ try {
+ // 2015-03-12 16:44:27.144#S-PEPS generates request to C-PEPS#spepsurl#cpepsurl#spapp#spdomain#citizen country#qaa#msghash#msg_id id1#id2#
+ Logger.info(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()) + "#S-PEPS generates request to C-PEPS#" +
+ issuerValue + "#" + destination + "#" + spApplication + "#" +
+ new URL(moasession.getPublicOAURLPrefix()).getHost() + "#" + moasession.getCcc() + "#" + oaParam.getQaaLevel() +
+ "#_hash_#" + moasession.getProcessInstanceId() + "#" + authnRequest.getSamlId() + "#");
+ } catch (Exception e1) {
+ Logger.info("STORK PEPS conform logging failed because of: " + e1.getMessage());
+ }
}
private static String generateDssSignRequest(String text, String mimeType, String citizenCountry) {
@@ -1986,6 +1978,16 @@ public class AuthenticationServer implements MOAIDAuthConstants {
} catch (Throwable e) {
throw new CertificateException(e);
+
+ } finally {
+ try {
+ is.close();
+
+ } catch (IOException e) {
+ Logger.warn("Close InputStream failed." , e);
+
+ }
+
}
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationSessionCleaner.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationSessionCleaner.java
index fe35866b1..104cd8622 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationSessionCleaner.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationSessionCleaner.java
@@ -45,7 +45,7 @@ public class AuthenticationSessionCleaner implements Runnable {
public static void start() {
// start the session cleanup thread
Thread sessionCleaner =
- new Thread(new AuthenticationSessionCleaner());
+ new Thread(new AuthenticationSessionCleaner(), "AuthenticationSessionCleaner");
sessionCleaner.setName("SessionCleaner");
sessionCleaner.setDaemon(true);
sessionCleaner.setPriority(Thread.MIN_PRIORITY);
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java
index db8b4dd80..5223a181d 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java
@@ -149,7 +149,9 @@ public interface MOAIDAuthConstants {
Collections.unmodifiableMap(new HashMap<String, String>() {
private static final long serialVersionUID = 1L;
{
+ put("AT", "Other Countries");//"Workaround for PEPS Simulator"
put("BE", "Belgi&euml;/Belgique");
+ //put("CH", "Schweiz");
put("EE", "Eesti");
put("ES", "Espa&ntilde;a");
put("FI", "Suomi");
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java
index db36356c0..025c4c652 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java
@@ -147,13 +147,15 @@ public class MOAIDAuthInitializer {
.toString() }, ex);
}
}
-
+
// Initializes IAIKX509TrustManager logging
+ /*
String log4jConfigURL = System.getProperty("log4j.configuration");
Logger.info("Log4J Configuration: " + log4jConfigURL);
if (log4jConfigURL != null) {
IAIKX509TrustManager.initLog(new LoggerConfigImpl(log4jConfigURL));
}
+ */
// Initializes the Axis secure socket factory for use in calling the
// MOA-SP web service
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java
index 52488c3cb..cd751ce7f 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java
@@ -43,6 +43,7 @@ import javax.xml.bind.Marshaller;
import org.opensaml.saml2.core.Attribute;
import org.opensaml.saml2.core.AttributeQuery;
+import org.opensaml.saml2.core.AuthnStatement;
import org.opensaml.saml2.core.Response;
import org.opensaml.ws.soap.common.SOAPException;
import org.opensaml.xml.XMLObject;
@@ -214,7 +215,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
} else {
//build AuthenticationData from MOASession
- buildAuthDataFormMOASession(authdata, session, oaParam);
+ buildAuthDataFormMOASession(authdata, session, oaParam, protocolRequest);
}
@@ -271,12 +272,13 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
AssertionAttributeExtractor extractor =
new AssertionAttributeExtractor(intfResp);
- if (!extractor.containsAllRequiredAttributes()) {
+ if (!extractor.containsAllRequiredAttributes()) {
+ Logger.info("Received assertion does no contain a minimum set of attributes. Starting AttributeQuery process ...");
//collect attributes by using BackChannel communication
String endpoint = idp.getIDPAttributQueryServiceURL();
if (MiscUtil.isEmpty(endpoint)) {
- Logger.error("No AttributeQueryURL for interfederationIDP " + oaParam.getPublicURLPrefix());
- throw new ConfigurationException("No AttributeQueryURL for interfederationIDP " + oaParam.getPublicURLPrefix(), null);
+ Logger.error("No AttributeQueryURL for interfederationIDP " + idp.getPublicURLPrefix());
+ throw new ConfigurationException("No AttributeQueryURL for interfederationIDP " + idp.getPublicURLPrefix(), null);
}
//build attributQuery request
@@ -321,7 +323,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
}
//parse response information to authData
- buildAuthDataFormInterfederationResponse(authdata, session, extractor, oaParam);
+ buildAuthDataFormInterfederationResponse(authdata, session, extractor, oaParam, req);
} catch (SOAPException e) {
throw new BuildException("builder.06", null, e);
@@ -348,7 +350,8 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
AuthenticationData authData,
AuthenticationSession session,
AssertionAttributeExtractor extractor,
- IOAAuthParameters oaParam)
+ IOAAuthParameters oaParam,
+ IRequest req)
throws BuildException, AssertionAttributeExtractorExeption {
Logger.debug("Build AuthData from assertion starts ....");
@@ -358,14 +361,35 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
authData.setFamilyName(extractor.getSingleAttributeValue(PVPConstants.PRINCIPAL_NAME_NAME));
authData.setGivenName(extractor.getSingleAttributeValue(PVPConstants.GIVEN_NAME_NAME));
authData.setDateOfBirth(extractor.getSingleAttributeValue(PVPConstants.BIRTHDATE_NAME));
- authData.setBPKType(extractor.getSingleAttributeValue(PVPConstants.EID_SECTOR_FOR_IDENTIFIER_NAME));
authData.setCcc(extractor.getSingleAttributeValue(PVPConstants.EID_ISSUING_NATION_NAME));
authData.setBkuURL(extractor.getSingleAttributeValue(PVPConstants.EID_CCS_URL_NAME));
authData.setIdentificationValue(extractor.getSingleAttributeValue(PVPConstants.EID_SOURCE_PIN_NAME));
authData.setIdentificationType(extractor.getSingleAttributeValue(PVPConstants.EID_SOURCE_PIN_TYPE_NAME));
+
+ if (extractor.containsAttribute(PVPConstants.EID_SECTOR_FOR_IDENTIFIER_NAME)) {
+ String bpkType = extractor.getSingleAttributeValue(PVPConstants.EID_SECTOR_FOR_IDENTIFIER_NAME);
+ if (bpkType.startsWith(Constants.URN_PREFIX_CDID) &&
+ !bpkType.substring(Constants.URN_PREFIX_CDID.length(),
+ Constants.URN_PREFIX_CDID.length() + 1).equals("+")) {
+ Logger.warn("Receive uncorrect encoded bBKType attribute " + bpkType + " Starting attribute value correction ... ");
+ bpkType = Constants.URN_PREFIX_CDID + "+" + bpkType.substring(Constants.URN_PREFIX_CDID.length() + 1);
+
+ }
+
+ authData.setBPKType(bpkType);
+ }
+
if (extractor.containsAttribute(PVPConstants.BPK_NAME)) {
String pvpbPK = extractor.getSingleAttributeValue(PVPConstants.BPK_NAME);
+
+ if (pvpbPK.startsWith("bPK:")) {
+ Logger.warn("Attribute " + PVPConstants.BPK_NAME
+ + " contains a not standardize prefix! Staring attribute value correction process ...");
+ pvpbPK = pvpbPK.substring("bPK:".length());
+
+ }
+
String[] spitted = pvpbPK.split(":");
authData.setBPK(spitted[1]);
if (MiscUtil.isEmpty(authData.getBPKType())) {
@@ -513,7 +537,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
}
//build OA specific bPK/wbPK information
- buildOAspecificbPK(oaParam, authData,
+ buildOAspecificbPK(req, oaParam, authData,
authData.getIdentificationValue(),
authData.getIdentificationType());
@@ -521,7 +545,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
if (MiscUtil.isEmpty(authData.getBPK())) {
Logger.debug("Calcutlate bPK from baseID");
- buildOAspecificbPK(oaParam, authData,
+ buildOAspecificbPK(req, oaParam, authData,
authData.getIdentificationValue(),
authData.getIdentificationType());
@@ -536,7 +560,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
} else {
Logger.debug("Found PVP QAA level. QAA mapping process starts ... ");
- String mappedQAA = PVPtoSTORKMapper.getInstance().mapQAALevel(qaaLevel);
+ String mappedQAA = PVPtoSTORKMapper.getInstance().mapToQAALevel(qaaLevel);
if (MiscUtil.isNotEmpty(mappedQAA))
authData.setQAALevel(mappedQAA);
@@ -586,7 +610,8 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
if (extractor.containsAttribute(PVPConstants.EID_IDENTITY_LINK_NAME)) {
try {
InputStream idlStream = Base64Utils.decodeToStream(extractor.getSingleAttributeValue(PVPConstants.EID_IDENTITY_LINK_NAME), false);
- IdentityLink idl = new IdentityLinkAssertionParser(idlStream).parseIdentityLink();
+ IdentityLink idl = new IdentityLinkAssertionParser(idlStream).parseIdentityLink();
+ idlStream.close();
buildOAspecificIdentityLink(oaParam, authData, idl);
} catch (ParseException e) {
@@ -744,6 +769,12 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
}
}
+ //set PVP OU attribute
+ if (extractor.containsAttribute(PVPConstants.OU_NAME)) {
+ authData.setPvpAttribute_OU(extractor.getSingleAttributeValue(PVPConstants.OU_NAME));
+ Logger.debug("Found PVP 'OU' attribute in response -> " + authData.getPvpAttribute_OU());
+
+ }
//set STORK attributes
if (extractor.containsAttribute(PVPConstants.EID_STORK_TOKEN_NAME)) {
@@ -761,8 +792,19 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
authData.setSsoSession(true);
authData.setInterfederatedSSOSession(true);
- if (extractor.getFullAssertion().getConditions() != null && extractor.getFullAssertion().getConditions().getNotOnOrAfter() != null)
+ if (extractor.getFullAssertion().getAuthnStatements() != null
+ && extractor.getFullAssertion().getAuthnStatements().size() > 0) {
+ for (AuthnStatement el : extractor.getFullAssertion().getAuthnStatements()) {
+ if (el.getSessionNotOnOrAfter() != null) {
+ authData.setSsoSessionValidTo(el.getSessionNotOnOrAfter().toDate());
+ break;
+ }
+ }
+
+ } else {
authData.setSsoSessionValidTo(extractor.getFullAssertion().getConditions().getNotOnOrAfter().toDate());
+
+ }
//only for SAML1
if (PVPConstants.STORK_QAA_1_4.equals(authData.getQAALevel()))
@@ -805,7 +847,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
}
private static void buildAuthDataFormMOASession(AuthenticationData authData, AuthenticationSession session,
- IOAAuthParameters oaParam) throws BuildException, ConfigurationException {
+ IOAAuthParameters oaParam, IRequest protocolRequest) throws BuildException, ConfigurationException {
IdentityLink identityLink = session.getIdentityLink();
@@ -864,7 +906,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
}
} catch (Exception e) {
- Logger.error("Failed to extract country code from certificate", e);
+ Logger.error("Failed to extract country code from certificate with message: " + e.getMessage());
}
@@ -919,7 +961,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
Logger.trace("Authenticated User is OW: " + mandate.getOWbPK());
} else {
- buildOAspecificbPK(oaParam, authData,
+ buildOAspecificbPK(protocolRequest, oaParam, authData,
identityLink.getIdentificationValue(),
identityLink.getIdentificationType());
@@ -951,7 +993,13 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
//resign IDL
IdentityLinkReSigner identitylinkresigner = IdentityLinkReSigner.getInstance();
Element resignedilAssertion;
- resignedilAssertion = identitylinkresigner.resignIdentityLink(businessServiceIdl.getSamlAssertion());
+
+ AuthConfigurationProvider config = AuthConfigurationProvider.getInstance();
+ if (config.isIdentityLinkResigning()) {
+ resignedilAssertion = identitylinkresigner.resignIdentityLink(businessServiceIdl.getSamlAssertion(), config.getIdentityLinkResigningKey());
+ } else {
+ resignedilAssertion = businessServiceIdl.getSamlAssertion();
+ }
IdentityLinkAssertionParser resignedIDLParser = new IdentityLinkAssertionParser(resignedilAssertion);
IdentityLink resignedIDL = resignedIDLParser.parseIdentityLink();
@@ -963,7 +1011,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
}
- private static void buildOAspecificbPK(IOAAuthParameters oaParam, AuthenticationData authData, String baseID, String baseIDType) throws BuildException {
+ private static void buildOAspecificbPK(IRequest protocolRequest, IOAAuthParameters oaParam, AuthenticationData authData, String baseID, String baseIDType) throws BuildException {
if (oaParam.getBusinessService()) {
//since we have foreigner, wbPK is not calculated in BKU
@@ -984,9 +1032,15 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
if (baseIDType.equals(Constants.URN_PREFIX_BASEID)) {
// only compute bPK if online application is a public service and we have the Stammzahl
- String bpkBase64 = new BPKBuilder().buildBPK(baseID, oaParam.getTarget());
+ String target = null;
+ if (protocolRequest instanceof SAML1RequestImpl)
+ target = protocolRequest.getTarget();
+ else
+ target = oaParam.getTarget();
+
+ String bpkBase64 = new BPKBuilder().buildBPK(baseID, target);
authData.setBPK(bpkBase64);
- authData.setBPKType(Constants.URN_PREFIX_CDID + "+" + oaParam.getTarget());
+ authData.setBPKType(Constants.URN_PREFIX_CDID + "+" + target);
}
Logger.trace("Authenticate user with bPK " + authData.getBPK());
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/StartAuthenticationBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/StartAuthenticationBuilder.java
index 484fe1f9e..9a8372a2d 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/StartAuthenticationBuilder.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/StartAuthenticationBuilder.java
@@ -47,6 +47,15 @@ public class StartAuthenticationBuilder {
}
+ /**
+ * Depending on the selected citizen's country ({@code moasession.ccc}):
+ * <ul>
+ * <li><strong>Either</strong> creates an "IdentityLinkForm" with embedded {@code InfoBoxReadRequest} to be submitted to a citizen card
+ * environment for reading the subject's IdentityLink</li>
+ * </ul>
+ *
+ * @return The IdentityLinkForm.
+ */
public String build(AuthenticationSession moasession, HttpServletRequest req,
HttpServletResponse resp) throws WrongParametersException, MOAIDException {
@@ -54,25 +63,11 @@ public class StartAuthenticationBuilder {
throw new AuthenticationException("auth.18", new Object[] { });
}
- STORKConfig storkConfig = AuthConfigurationProvider.getInstance().getStorkConfig();
-
- Logger.info("Starting authentication for a citizen of country: " + (StringUtils.isEmpty(moasession.getCcc()) ? "AT" : moasession.getCcc()));
- // STORK or normal authentication
- if (storkConfig.isSTORKAuthentication(moasession.getCcc())) {
- //STORK authentication
- Logger.trace("Found C-PEPS configuration for citizen of country: " + moasession.getCcc());
- Logger.debug("Starting STORK authentication");
-
- AuthenticationServer.startSTORKAuthentication(req, resp, moasession);
- return "";
-
- } else {
- //normal MOA-ID authentication
- Logger.debug("Starting normal MOA-ID authentication");
-
- String getIdentityLinkForm = AuthenticationServer.getInstance().startAuthentication(moasession, req);
+ //normal MOA-ID authentication
+ Logger.debug("Starting normal MOA-ID authentication");
+
+ String getIdentityLinkForm = AuthenticationServer.getInstance().startAuthentication(moasession, req);
- return getIdentityLinkForm;
- }
+ return getIdentityLinkForm;
}
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java
index 26c22fb4a..76bf93249 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java
@@ -304,6 +304,8 @@ public class AuthenticationSession implements Serializable {
private String authnContextClassRef;
// private String requestedProtocolURL = null;
+ private String processInstanceId;
+
public String getAuthnContextClassRef() {
return authnContextClassRef;
}
@@ -1110,6 +1112,22 @@ public class AuthenticationSession implements Serializable {
*/
public Date getSessionCreated() {
return sessionCreated;
- }
+ }
+
+ /**
+ * Returns the identifier of the process instance associated with this moaid session.
+ * @return The process instance id (may be {@code null} if no process has been created yet).
+ */
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ /**
+ * Sets the process instance identifier in order to associate a certain process instance with this moaid session.
+ * @param processInstanceId The process instance id.
+ */
+ public void setProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/AbstractAuthServletTask.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/AbstractAuthServletTask.java
new file mode 100644
index 000000000..67ddd170a
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/AbstractAuthServletTask.java
@@ -0,0 +1,378 @@
+package at.gv.egovernment.moa.id.auth.modules;
+
+import static at.gv.egovernment.moa.id.auth.MOAIDAuthConstants.*;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.FileItemFactory;
+import org.apache.commons.fileupload.FileUploadException;
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import org.apache.commons.lang3.ArrayUtils;
+
+import at.gv.egovernment.moa.id.advancedlogging.StatisticLogger;
+import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.servlet.AuthServlet;
+import at.gv.egovernment.moa.id.config.ConfigurationException;
+import at.gv.egovernment.moa.id.entrypoints.DispatcherServlet;
+import at.gv.egovernment.moa.id.process.springweb.MoaIdTask;
+import at.gv.egovernment.moa.id.storage.DBExceptionStoreImpl;
+import at.gv.egovernment.moa.id.storage.IExceptionStore;
+import at.gv.egovernment.moa.id.util.ServletUtils;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.MiscUtil;
+
+/**
+ * Task based counterpart to {@link AuthServlet}, providing the same utility methods (error handling, parameter parsing
+ * etc.).</p> The code has been taken from {@link AuthServlet}.
+ */
+public abstract class AbstractAuthServletTask extends MoaIdTask {
+
+ protected static final String ERROR_CODE_PARAM = "errorid";
+
+ protected void handleErrorNoRedirect(String errorMessage, Throwable exceptionThrown,
+ HttpServletRequest req, HttpServletResponse resp) {
+
+ if (null != errorMessage) {
+ Logger.error(errorMessage);
+ req.setAttribute("ErrorMessage", errorMessage);
+ }
+
+ if (null != exceptionThrown) {
+ if (null == errorMessage)
+ errorMessage = exceptionThrown.getMessage();
+ Logger.error(errorMessage, exceptionThrown);
+ req.setAttribute("ExceptionThrown", exceptionThrown);
+ }
+
+ if (Logger.isDebugEnabled()) {
+ req.setAttribute("LogLevel", "debug");
+ }
+
+
+ StatisticLogger logger = StatisticLogger.getInstance();
+ logger.logErrorOperation(exceptionThrown);
+
+
+ // forward this to errorpage-auth.jsp where the HTML error page is
+ // generated
+ ServletContext context = req.getServletContext();
+ RequestDispatcher dispatcher = context
+ .getRequestDispatcher("/errorpage-auth.jsp");
+ try {
+
+ resp.setHeader(HEADER_EXPIRES, HEADER_VALUE_EXPIRES);
+ resp.setHeader(HEADER_PRAGMA, HEADER_VALUE_PRAGMA);
+ resp.setHeader(HEADER_CACHE_CONTROL, HEADER_VALUE_CACHE_CONTROL);
+ resp.addHeader(HEADER_CACHE_CONTROL, HEADER_VALUE_CACHE_CONTROL_IE);
+
+ dispatcher.forward(req, resp);
+ } catch (ServletException e) {
+ Logger.error(e);
+ } catch (IOException e) {
+ Logger.error(e);
+ }
+ }
+
+ /**
+ * Handles an error. <br>>
+ * <ul>
+ * <li>Logs the error</li>
+ * <li>Places error message and exception thrown into the request as request
+ * attributes (to be used by <code>"/errorpage-auth.jsp"</code>)</li>
+ * <li>Sets HTTP status 500 (internal server error)</li>
+ * </ul>
+ *
+ * @param errorMessage
+ * error message
+ * @param exceptionThrown
+ * exception thrown
+ * @param req
+ * servlet request
+ * @param resp
+ * servlet response
+ */
+ protected void handleError(String errorMessage, Throwable exceptionThrown,
+ HttpServletRequest req, HttpServletResponse resp, String pendingRequestID) {
+
+ if (null != errorMessage) {
+ Logger.error(errorMessage);
+ req.setAttribute("ErrorMessage", errorMessage);
+ }
+
+ if (null != exceptionThrown) {
+ if (null == errorMessage)
+ errorMessage = exceptionThrown.getMessage();
+ Logger.error(errorMessage, exceptionThrown);
+ req.setAttribute("ExceptionThrown", exceptionThrown);
+ }
+
+ if (Logger.isDebugEnabled()) {
+ req.setAttribute("LogLevel", "debug");
+ }
+
+ if (!(exceptionThrown instanceof MOAIDException)) {
+ Logger.error("Receive an internal error: Message=" + exceptionThrown.getMessage(), exceptionThrown);
+
+ }
+
+ IExceptionStore store = DBExceptionStoreImpl.getStore();
+ String id = store.storeException(exceptionThrown);
+
+ if (id != null && MiscUtil.isNotEmpty(pendingRequestID)) {
+
+ String redirectURL = null;
+
+ redirectURL = ServletUtils.getBaseUrl(req);
+ redirectURL += "/dispatcher?" + ERROR_CODE_PARAM + "=" + id
+ + "&" + DispatcherServlet.PARAM_TARGET_PENDINGREQUESTID + "=" + pendingRequestID;
+
+ resp.setContentType("text/html");
+ resp.setStatus(302);
+
+ resp.addHeader("Location", redirectURL);
+ Logger.debug("REDIRECT TO: " + redirectURL);
+
+ return;
+
+ } else {
+
+ //Exception can not be stored in database
+ handleErrorNoRedirect(errorMessage, exceptionThrown, req, resp);
+ }
+ }
+
+ /**
+ * Handles a <code>WrongParametersException</code>.
+ *
+ * @param req
+ * servlet request
+ * @param resp
+ * servlet response
+ */
+ protected void handleWrongParameters(WrongParametersException ex,
+ HttpServletRequest req, HttpServletResponse resp) {
+ Logger.error(ex.toString());
+ req.setAttribute("WrongParameters", ex.getMessage());
+
+ // forward this to errorpage-auth.jsp where the HTML error page is
+ // generated
+ ServletContext context = req.getServletContext();
+ RequestDispatcher dispatcher = context
+ .getRequestDispatcher("/errorpage-auth.jsp");
+ try {
+ setNoCachingHeaders(resp);
+ dispatcher.forward(req, resp);
+ } catch (ServletException e) {
+ Logger.error(e);
+ } catch (IOException e) {
+ Logger.error(e);
+ }
+ }
+
+ /**
+ * Logs all servlet parameters for debugging purposes.
+ */
+ protected void logParameters(HttpServletRequest req) {
+ for (Enumeration params = req.getParameterNames(); params
+ .hasMoreElements();) {
+ String parname = (String) params.nextElement();
+ Logger.debug("Parameter " + parname + req.getParameter(parname));
+ }
+ }
+
+ /**
+ * Parses the request input stream for parameters, assuming parameters are
+ * encoded UTF-8 (no standard exists how browsers should encode them).
+ *
+ * @param req
+ * servlet request
+ *
+ * @return mapping parameter name -> value
+ *
+ * @throws IOException
+ * if parsing request parameters fails.
+ *
+ * @throws FileUploadException
+ * if parsing request parameters fails.
+ */
+ protected Map<String, String> getParameters(HttpServletRequest req) throws IOException,
+ FileUploadException {
+
+ Map<String, String> parameters = new HashMap<String, String>();
+
+ if (ServletFileUpload.isMultipartContent(req)) {
+ // request is encoded as mulitpart/form-data
+ FileItemFactory factory = new DiskFileItemFactory();
+ ServletFileUpload upload = null;
+ upload = new ServletFileUpload(factory);
+ List items = null;
+ items = upload.parseRequest(req);
+ for (int i = 0; i < items.size(); i++) {
+ FileItem item = (FileItem) items.get(i);
+ if (item.isFormField()) {
+ // Process only form fields - no file upload items
+ String logString = item.getString("UTF-8");
+
+ // TODO use RegExp
+ String startS = "<pr:Identification><pr:Value>";
+ String endS = "</pr:Value><pr:Type>urn:publicid:gv.at:baseid</pr:Type>";
+ String logWithMaskedBaseid = logString;
+ int start = logString.indexOf(startS);
+ if (start > -1) {
+ int end = logString.indexOf(endS);
+ if (end > -1) {
+ logWithMaskedBaseid = logString.substring(0, start);
+ logWithMaskedBaseid += startS;
+ logWithMaskedBaseid += "xxxxxxxxxxxxxxxxxxxxxxxx";
+ logWithMaskedBaseid += logString.substring(end,
+ logString.length());
+ }
+ }
+ parameters
+ .put(item.getFieldName(), item.getString("UTF-8"));
+ Logger.debug("Processed multipart/form-data request parameter: \nName: "
+ + item.getFieldName()
+ + "\nValue: "
+ + logWithMaskedBaseid);
+ }
+ }
+ }
+
+ else {
+ // request is encoded as application/x-www-urlencoded
+ // [tknall]: we must not consume request body input stream once servlet-api request parameters have been accessed
+
+ /*
+ InputStream in = req.getInputStream();
+
+ String paramName;
+ String paramValueURLEncoded;
+ do {
+ paramName = new String(readBytesUpTo(in, '='));
+ if (paramName.length() > 0) {
+ paramValueURLEncoded = readBytesUpTo(in, '&');
+ String paramValue = URLDecoder.decode(paramValueURLEncoded,
+ "UTF-8");
+ parameters.put(paramName, paramValue);
+ }
+ } while (paramName.length() > 0);
+ in.close();
+ */
+
+ Iterator<Entry<String, String[]>> requestParamIt = req.getParameterMap().entrySet().iterator();
+ while (requestParamIt.hasNext()) {
+ Entry<String, String[]> entry = requestParamIt.next();
+ String key = entry.getKey();
+ String[] values = entry.getValue();
+ // take the last value from the value array since the legacy code above also does it this way
+ parameters.put(key, ArrayUtils.isEmpty(values) ? null : values[values.length-1]);
+ }
+
+ }
+
+ return parameters;
+ }
+
+ /**
+ * Reads bytes up to a delimiter, consuming the delimiter.
+ *
+ * @param in
+ * input stream
+ * @param delimiter
+ * delimiter character
+ * @return String constructed from the read bytes
+ * @throws IOException
+ */
+ protected String readBytesUpTo(InputStream in, char delimiter)
+ throws IOException {
+ ByteArrayOutputStream bout = new ByteArrayOutputStream();
+ boolean done = false;
+ int b;
+ while (!done && (b = in.read()) >= 0) {
+ if (b == delimiter)
+ done = true;
+ else
+ bout.write(b);
+ }
+ return bout.toString();
+ }
+
+ /**
+ * Sets response headers that prevent caching (code taken from {@link AuthServlet}).
+ *
+ * @param resp
+ * The HttpServletResponse.
+ */
+ public void setNoCachingHeaders(HttpServletResponse resp) {
+ resp.setHeader(HEADER_EXPIRES, HEADER_VALUE_EXPIRES);
+ resp.setHeader(HEADER_PRAGMA, HEADER_VALUE_PRAGMA);
+ resp.setHeader(HEADER_CACHE_CONTROL, HEADER_VALUE_CACHE_CONTROL);
+ resp.addHeader(HEADER_CACHE_CONTROL, HEADER_VALUE_CACHE_CONTROL_IE);
+ }
+
+ /**
+ * Adds a parameter to a URL.
+ *
+ * @param url
+ * the URL
+ * @param paramname
+ * parameter name
+ * @param paramvalue
+ * parameter value
+ * @return the URL with parameter added
+ */
+ protected static String addURLParameter(String url, String paramname,
+ String paramvalue) {
+ String param = paramname + "=" + paramvalue;
+ if (url.indexOf("?") < 0)
+ return url + "?" + param;
+ else
+ return url + "&" + param;
+ }
+
+ /**
+ * Checks if HTTP requests are allowed
+ *
+ * @param authURL
+ * requestURL
+ * @throws AuthenticationException
+ * if HTTP requests are not allowed
+ * @throws ConfigurationException
+ */
+ protected void checkIfHTTPisAllowed(String authURL)
+ throws AuthenticationException, ConfigurationException {
+ // check if HTTP Connection may be allowed (through
+ // FRONTEND_SERVLETS_ENABLE_HTTP_CONNECTION_PROPERTY)
+
+ //Removed from MOA-ID 2.0 config
+// String boolStr = AuthConfigurationProvider
+// .getInstance()
+// .getGenericConfigurationParameter(
+// AuthConfigurationProvider.FRONTEND_SERVLETS_ENABLE_HTTP_CONNECTION_PROPERTY);
+ if ((!authURL.startsWith("https:"))
+ //&& (false == BoolUtils.valueOf(boolStr))
+ )
+ throw new AuthenticationException("auth.07", new Object[] { authURL
+ + "*" });
+
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/AuthModule.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/AuthModule.java
new file mode 100644
index 000000000..8983403d8
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/AuthModule.java
@@ -0,0 +1,42 @@
+package at.gv.egovernment.moa.id.auth.modules;
+
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.model.ProcessDefinition;
+
+/**
+ * Provides metadata of a certain module. Uses for module discovery and process selection.
+ */
+public interface AuthModule {
+
+ /**
+ * Returns the priority of the module. The priority defines the order of the respective module within the chain of
+ * discovered modules. Higher priorized modules are asked before lower priorized modules for a process that they can
+ * handle.
+ * <p/>
+ * Internal default modules are priorized neutral ({@code 0}. Use a higher priority ({@code 1...Integer.MAX_VALUE})
+ * in order to have your module(s) priorized or a lower priority ({@code Integer.MIN_VALUE...-1}) in order to put
+ * your modules behind default modules.
+ *
+ * @return the priority of the module.
+ */
+ int getPriority();
+
+ /**
+ * Selects a process (description), referenced by its unique id, which is able to perform authentication with the
+ * given {@link ExecutionContext}. Returns {@code null} if no appropriate process (description) was available within
+ * this module.
+ *
+ * @param context
+ * an ExecutionContext for a process.
+ * @return the process-ID of a process which is able to work with the given ExecutionContext, or {@code null}.
+ */
+ String selectProcess(ExecutionContext context);
+
+ /**
+ * Returns the an Array of {@link ProcessDefinition}s of the processes included in this module.
+ *
+ * @return an array of resource uris of the processes included in this module.
+ */
+ String[] getProcessDefinitions();
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/TaskExecutionException.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/TaskExecutionException.java
new file mode 100644
index 000000000..3e9f4cf14
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/TaskExecutionException.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2014 Federal Chancellery Austria
+ * MOA-ID has been developed in a cooperation between BRZ, the Federal
+ * Chancellery Austria - ICT staff unit, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://www.osor.eu/eupl/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text
+ * file for details on the various modules and licenses.
+ * The "NOTICE" text file is part of the distribution. Any derivative works
+ * that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+package at.gv.egovernment.moa.id.auth.modules;
+
+import at.gv.egovernment.moa.id.process.ProcessExecutionException;
+
+/**
+ * @author tlenz
+ *
+ */
+public class TaskExecutionException extends ProcessExecutionException {
+
+ private static final long serialVersionUID = 1L;
+ Throwable originalException = null;
+
+ /**
+ * @param message
+ * @param cause
+ */
+ public TaskExecutionException(String message, Throwable cause) {
+ super(message, cause);
+ originalException = cause;
+
+ }
+
+ /**
+ * Get the original internal exception from task
+ *
+ * @return the originalException
+ */
+ public Throwable getOriginalException() {
+ return originalException;
+ }
+
+
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/DefaultAuthModuleImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/DefaultAuthModuleImpl.java
new file mode 100644
index 000000000..8ae4a9999
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/DefaultAuthModuleImpl.java
@@ -0,0 +1,28 @@
+package at.gv.egovernment.moa.id.auth.modules.internal;
+
+import org.apache.commons.lang3.StringUtils;
+
+import at.gv.egovernment.moa.id.auth.modules.AuthModule;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+
+/**
+ * Module descriptor
+ */
+public class DefaultAuthModuleImpl implements AuthModule {
+
+ @Override
+ public int getPriority() {
+ return 0;
+ }
+
+ @Override
+ public String selectProcess(ExecutionContext context) {
+ return StringUtils.isBlank((String) context.get("ccc")) ? "DefaultAuthentication" : null;
+ }
+
+ @Override
+ public String[] getProcessDefinitions() {
+ return new String[] { "classpath:at/gv/egovernment/moa/id/auth/modules/internal/DefaultAuthentication.process.xml" };
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/CertificateReadRequestTask.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/CertificateReadRequestTask.java
new file mode 100644
index 000000000..ed3089a41
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/CertificateReadRequestTask.java
@@ -0,0 +1,103 @@
+package at.gv.egovernment.moa.id.auth.modules.internal.tasks;
+
+import static at.gv.egovernment.moa.id.auth.MOAIDAuthConstants.*;
+
+import java.io.IOException;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.BooleanUtils;
+
+import at.gv.egovernment.moa.id.auth.AuthenticationServer;
+import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder;
+import at.gv.egovernment.moa.id.auth.builder.InfoboxReadRequestBuilderCertificate;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.AbstractAuthServletTask;
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
+import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
+import at.gv.egovernment.moa.id.util.ServletUtils;
+import at.gv.egovernment.moa.logging.Logger;
+
+/**
+ * Creates {@code InfoBoxReadRequest} in order to read the subject's certificates.<p/>
+ * In detail:
+ * <ul>
+ * <li>Renames the moa session id.</li>
+ * <li>Creates {@code InfoBoxReadRequest} in order to read the subject's certificates.</li>
+ * <li>Responds with {@code InfoBoxReadRequest} (for CCE), {@code DataURL} is {@code /VerifyCertificate}</li>
+ * </ul>
+ * Expects:
+ * <ul>
+ * <li>HttpServletRequest parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_SESSIONID PARAM_SESSIONID}</li>
+ * </ul>
+ * Result:
+ * <ul>
+ * <li>Responds with {@code InfoBoxReadRequest} (for CCE), {@code DataURL} is {@code /VerifyCertificate}</li>
+ * </ul>
+ * Code taken from {@link at.gv.egovernment.moa.id.auth.servlet.VerifyIdentityLinkServlet}.
+ * @see #execute(ExecutionContext, HttpServletRequest, HttpServletResponse)
+ *
+ */
+public class CertificateReadRequestTask extends AbstractAuthServletTask {
+
+ @Override
+ public void execute(ExecutionContext executionContext, HttpServletRequest req, HttpServletResponse resp)
+ throws TaskExecutionException {
+
+ // TODO[branch]: Foreign citizen or mandate mode; respond with IRR for certificates, dataURL = "/VerifyCertificate"
+ Logger.info("Send InfoboxReadRequest to BKU to get signer certificate.");
+
+ setNoCachingHeaders(resp);
+ try {
+
+ String sessionID = StringEscapeUtils.escapeHtml(req.getParameter(PARAM_SESSIONID));
+
+ // check parameter
+ if (!ParamValidatorUtils.isValidSessionID(sessionID)) {
+ throw new WrongParametersException("CertificateReadRequestTask", PARAM_SESSIONID, "auth.12");
+ }
+
+ AuthenticationSession session = AuthenticationServer.getSession(sessionID);
+
+ boolean useMandate = session.getUseMandate();
+ boolean identityLinkAvailable = BooleanUtils.isTrue((Boolean) executionContext.get("identityLinkAvailable"));
+
+ if (!identityLinkAvailable && useMandate) {
+ Logger.error("Online-Mandate Mode for foreign citizencs not supported.");
+ throw new AuthenticationException("auth.13", null);
+ }
+
+ // change MOASessionID
+ AuthenticationSessionStoreage.changeSessionID(session);
+
+ // create the InfoboxReadRequest to get the certificate
+ String infoboxReadRequest = new InfoboxReadRequestBuilderCertificate().build(true);
+
+ // build dataurl (to the VerifyCertificateSerlvet)
+ String dataurl = new DataURLBuilder().buildDataURL(session.getAuthURL(), REQ_VERIFY_CERTIFICATE,
+ session.getSessionID());
+
+ ServletUtils.writeCreateXMLSignatureRequest(resp, infoboxReadRequest,
+ AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl);
+
+ } catch (MOAIDException ex) {
+ throw new TaskExecutionException(ex.getMessage(), ex);
+
+ } catch (IOException e) {
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ } finally {
+ ConfigurationDBUtils.closeSession();
+ }
+
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/CreateIdentityLinkFormTask.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/CreateIdentityLinkFormTask.java
new file mode 100644
index 000000000..ee6f0d5a4
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/CreateIdentityLinkFormTask.java
@@ -0,0 +1,120 @@
+package at.gv.egovernment.moa.id.auth.modules.internal.tasks;
+
+import static at.gv.egovernment.moa.id.auth.MOAIDAuthConstants.*;
+
+import java.io.PrintWriter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.ObjectUtils;
+
+import at.gv.egovernment.moa.id.auth.builder.StartAuthenticationBuilder;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.AbstractAuthServletTask;
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.auth.servlet.GenerateIFrameTemplateServlet;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
+import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.MiscUtil;
+import at.gv.egovernment.moa.util.StringUtils;
+
+/**
+ * Creates a http form including an embedded {@code InfoBoxReadRequest} for reading the identity link.<p/>
+ * In detail:
+ * <ul>
+ * <li>Renames the moa session id.</li>
+ * <li>Removes ExecutionContext property {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_SESSIONID PARAM_SESSIONID}.</li>
+ * <li>Creates the http form mentioned above.</li>
+ * <li>Returns the http form via HttpServletResponse.</li>
+ * </ul>
+ * Expects:
+ * <ul>
+ * <li>HttpServletRequest parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_SESSIONID PARAM_SESSIONID} <strong>or</strong></li>
+ * <li>ExecutionContext property {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_SESSIONID PARAM_SESSIONID} (in case of legacy authentication without CCE selection, where the moa session is not provided by request parameter).</li>
+ * </ul>
+ * Result:
+ * <ul>
+ * <li>The identity link form via HttpServletResponse.</li>
+ * </ul>
+ * Possible branches:
+ * <ul>
+ * <li>In case of STORK authentication
+ * <ul>
+ * <li>Creates STORK auth SAML request.</li>
+ * <li>Creates and returns a form for submitting the SAML request to the CPEPS (post binding).</li>
+ * <li>Returns the form via HttpServletResponse.</li>
+ * </ul>
+ * </li>
+ * </ul>
+ * Code taken from {@link at.gv.egovernment.moa.id.auth.servlet.GenerateIFrameTemplateServlet}.
+ * @see #execute(ExecutionContext, HttpServletRequest, HttpServletResponse)
+ *
+ */
+public class CreateIdentityLinkFormTask extends AbstractAuthServletTask {
+
+ @Override
+ public void execute(ExecutionContext executionContext, HttpServletRequest req, HttpServletResponse resp)
+ throws TaskExecutionException {
+
+ String moasessionid = StringEscapeUtils.escapeHtml(ObjectUtils.defaultIfNull(req.getParameter(PARAM_SESSIONID), (String) executionContext.get(PARAM_SESSIONID)));
+ AuthenticationSession moasession = null;
+ try {
+
+ if (MiscUtil.isEmpty(moasessionid)) {
+ Logger.warn("MOASessionID is empty.");
+ throw new MOAIDException("auth.18", new Object[] {});
+ }
+
+ try {
+ moasession = AuthenticationSessionStoreage.getSession(moasessionid);
+ AuthenticationSessionStoreage.changeSessionID(moasession);
+ executionContext.remove(PARAM_SESSIONID);
+
+ } catch (MOADatabaseException e) {
+ Logger.info("MOASession with SessionID=" + moasessionid + " is not found in Database");
+ throw new MOAIDException("init.04", new Object[] { moasessionid });
+
+ } catch (Throwable e) {
+ Logger.info("No HTTP Session found!");
+ throw new MOAIDException("auth.18", new Object[] {});
+ }
+
+ StartAuthenticationBuilder startauth = StartAuthenticationBuilder.getInstance();
+ String getIdentityLinkForm = startauth.build(moasession, req, resp);
+
+ if (!StringUtils.isEmpty(getIdentityLinkForm)) {
+ resp.setContentType("text/html;charset=UTF-8");
+ PrintWriter out = new PrintWriter(resp.getOutputStream());
+ out.print(getIdentityLinkForm);
+ out.flush();
+ Logger.debug("Finished GET " + GenerateIFrameTemplateServlet.class);
+ }
+
+ } catch (WrongParametersException ex) {
+// handleWrongParameters(ex, req, resp);
+ throw new TaskExecutionException(ex.getMessage(), ex);
+ }
+
+ catch (MOAIDException ex) {
+// handleError(null, ex, req, resp, pendingRequestID);
+ throw new TaskExecutionException(ex.getMessage(), ex);
+
+ } catch (Exception e) {
+ Logger.error("CreateIdentityLinkFormTask has an interal Error.", e);
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ }
+
+ finally {
+ ConfigurationDBUtils.closeSession();
+ }
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GetForeignIDTask.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GetForeignIDTask.java
new file mode 100644
index 000000000..6bf68e2eb
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GetForeignIDTask.java
@@ -0,0 +1,185 @@
+package at.gv.egovernment.moa.id.auth.modules.internal.tasks;
+
+import static at.gv.egovernment.moa.id.auth.MOAIDAuthConstants.*;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.security.cert.CertificateException;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.transform.TransformerException;
+
+import org.apache.commons.fileupload.FileUploadException;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.w3c.dom.Element;
+
+import at.gv.egovernment.moa.id.auth.AuthenticationServer;
+import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.data.CreateXMLSignatureResponse;
+import at.gv.egovernment.moa.id.auth.data.IdentityLink;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.exception.ParseException;
+import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.AbstractAuthServletTask;
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.auth.parser.CreateXMLSignatureResponseParser;
+import at.gv.egovernment.moa.id.auth.parser.IdentityLinkAssertionParser;
+import at.gv.egovernment.moa.id.client.SZRGWClientException;
+import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
+import at.gv.egovernment.moa.id.moduls.ModulUtils;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
+import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.DOMUtils;
+import at.gv.util.xsd.srzgw.CreateIdentityLinkResponse;
+
+/**
+ * Evaluates the {@code CreateXMLSignatureResponse}, extracts signature and certificate and asks the SZR Gateway for an identity link.<p/>
+ * In detail:
+ * <ul>
+ * <li>Renames the moa session id.</li>
+ * <li>Parses the CreateXMLSignatureResponse retrieved from POST parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_XMLRESPONSE PARAM_XMLRESPONSE}.</li>
+ * <li>Extracts signature and signer certificate.</li>
+ * <li>Send request to SZR Gateway in order to get an identity link.</li>
+ * <li>Updates moa session (sets identity link, QAA level 4, authentication data and foreigner flag).</li>
+ * <li>Redirects back to {@code /dispatcher} in order to finalize authentication.</li>
+ * </ul>
+ * Expects:
+ * <ul>
+ * <li>HttpServletRequest parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_SESSIONID PARAM_SESSIONID}</li>
+ * <li>HttpServletRequest parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_XMLRESPONSE PARAM_XMLRESPONSE} containing a {@code CreateXMLSignatureResponse}.</li>
+ * </ul>
+ * Result:
+ * <ul>
+ * <li>Identity link, QAA level 4 and foreigner flag put into moa session.</li>
+ * <li>Redirect to {@code /dispatcher}.</li>
+ * </ul>
+ * Code taken from {@link at.gv.egovernment.moa.id.auth.servlet.GetForeignIDServlet}.
+ * @see #execute(ExecutionContext, HttpServletRequest, HttpServletResponse)
+ *
+ */
+public class GetForeignIDTask extends AbstractAuthServletTask {
+
+ @Override
+ public void execute(ExecutionContext executionContext, HttpServletRequest req, HttpServletResponse resp)
+ throws TaskExecutionException {
+
+ Logger.debug("POST GetForeignIDServlet");
+
+ setNoCachingHeaders(resp);
+
+ Map<String, String> parameters;
+
+ try {
+ parameters = getParameters(req);
+
+ } catch (FileUploadException | IOException e) {
+ Logger.error("Parsing mulitpart/form-data request parameters failed: " + e.getMessage());
+ throw new TaskExecutionException("Parsing mulitpart/form-data request parameters failed", new IOException(e.getMessage()));
+ }
+
+ String sessionID = StringEscapeUtils.escapeHtml(req.getParameter(PARAM_SESSIONID));
+ String pendingRequestID = null;
+ String redirectURL = null;
+ AuthenticationSession session = null;
+ try {
+ // check parameter
+ if (!ParamValidatorUtils.isValidSessionID(sessionID)) {
+ throw new WrongParametersException("GetForeignID", PARAM_SESSIONID, "auth.12");
+ }
+ String xmlCreateXMLSignatureResponse = (String) parameters.get(PARAM_XMLRESPONSE);
+ if (!ParamValidatorUtils.isValidXMLDocument(xmlCreateXMLSignatureResponse)) {
+ throw new WrongParametersException("GetForeignID", PARAM_XMLRESPONSE, "auth.12");
+ }
+ pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(sessionID);
+ session = AuthenticationServer.getSession(sessionID);
+
+ // change MOASessionID
+ sessionID = AuthenticationSessionStoreage.changeSessionID(session);
+
+ Logger.debug(xmlCreateXMLSignatureResponse);
+
+ CreateXMLSignatureResponse csresp = new CreateXMLSignatureResponseParser(xmlCreateXMLSignatureResponse)
+ .parseResponseDsig();
+
+ try {
+ String serializedAssertion = DOMUtils.serializeNode(csresp.getDsigSignature());
+ session.setAuthBlock(serializedAssertion);
+
+ } catch (TransformerException e) {
+ throw new ParseException("parser.04", new Object[] { REQ_VERIFY_AUTH_BLOCK, PARAM_XMLRESPONSE });
+
+ } catch (IOException e) {
+ throw new ParseException("parser.04", new Object[] { REQ_VERIFY_AUTH_BLOCK, PARAM_XMLRESPONSE });
+
+ }
+
+ Element signature = csresp.getDsigSignature();
+
+ try {
+ session.setSignerCertificate(AuthenticationServer.getCertificateFromXML(signature));
+ } catch (CertificateException e) {
+ Logger.error("Could not extract certificate from CreateXMLSignatureResponse");
+ throw new MOAIDException("auth.14", null);
+ }
+
+ // make SZR request to the identity link
+ CreateIdentityLinkResponse response = AuthenticationServer.getInstance().getIdentityLink(signature);
+
+ if (null != response.getErrorResponse()) {
+ // TODO fix exception parameter
+ throw new SZRGWClientException("service.08", (String) response.getErrorResponse().getErrorCode(),
+ (String) response.getErrorResponse().getInfo());
+ } else {
+ IdentityLinkAssertionParser ilParser = new IdentityLinkAssertionParser(new ByteArrayInputStream(
+ response.getIdentityLink()));
+ IdentityLink identitylink = ilParser.parseIdentityLink();
+ session.setIdentityLink(identitylink);
+
+ // set QAA Level four in case of card authentifcation
+ session.setQAALevel(PVPConstants.STORK_QAA_1_4);
+
+ AuthenticationServer.getInstance().getForeignAuthenticationData(session);
+
+ // session is implicit stored in changeSessionID!!!!
+ String newMOASessionID = AuthenticationSessionStoreage.changeSessionID(session);
+
+ Logger.info("Changed MOASession " + sessionID + " to Session " + newMOASessionID);
+ Logger.info("Daten angelegt zu MOASession " + newMOASessionID);
+
+ redirectURL = new DataURLBuilder().buildDataURL(session.getAuthURL(),
+ ModulUtils.buildAuthURL(session.getModul(), session.getAction(), pendingRequestID),
+ newMOASessionID);
+ redirectURL = resp.encodeRedirectURL(redirectURL);
+
+ // TODO[branch]: Final step back to /dispatcher
+
+ try {
+ AuthenticationSessionStoreage.storeSession(session);
+ } catch (MOADatabaseException e) {
+ throw new MOAIDException("Session store error", null);
+ }
+
+ resp.setContentType("text/html");
+ resp.setStatus(302);
+ resp.addHeader("Location", redirectURL);
+ Logger.debug("REDIRECT TO: " + redirectURL);
+ }
+
+ } catch (MOAIDException ex) {
+ throw new TaskExecutionException(ex.getMessage(), ex);
+
+ } catch (Exception e) {
+ Logger.error("GetForeignIDServlet has an interal Error.", e);
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ }
+
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GetMISSessionIDTask.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GetMISSessionIDTask.java
new file mode 100644
index 000000000..4ff5672bd
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GetMISSessionIDTask.java
@@ -0,0 +1,183 @@
+package at.gv.egovernment.moa.id.auth.modules.internal.tasks;
+
+import static at.gv.egovernment.moa.id.auth.MOAIDAuthConstants.*;
+import iaik.pki.PKIException;
+
+import java.security.GeneralSecurityException;
+import java.util.List;
+
+import javax.net.ssl.SSLSocketFactory;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.commons.lang.StringEscapeUtils;
+import org.xml.sax.SAXException;
+
+import at.gv.egovernment.moa.id.auth.AuthenticationServer;
+import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.AbstractAuthServletTask;
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
+import at.gv.egovernment.moa.id.config.ConnectionParameter;
+import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
+import at.gv.egovernment.moa.id.moduls.ModulUtils;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
+import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
+import at.gv.egovernment.moa.id.util.SSLUtils;
+import at.gv.egovernment.moa.id.util.client.mis.simple.MISMandate;
+import at.gv.egovernment.moa.id.util.client.mis.simple.MISSimpleClient;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.DOMUtils;
+
+/**
+ * Retrieves a mandate from the online mandate issuing service.<p/>
+ * In detail:
+ * <ul>
+ * <li>Renames the moa session id.</li>
+ * <li>Retrieves the mandate referenced within the moa session from the online (external) mandate issuing service.</li>
+ * <li>Verifies the mandate.</li>
+ * <li>Puts mandate into moa session.</li>
+ * <li>Redirects back to {@code /dispatcher} in order to finalize the authentication.</li>
+ * </ul>
+ * Expects:
+ * <ul>
+ * <li>HttpServletRequest parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_SESSIONID PARAM_SESSIONID}</li>
+ * </ul>
+ * Result:
+ * <ul>
+ * <li>Mandate put into moa session.</li>
+ * <li>Redirect to {@code /dispatcher}.</li>
+ * </ul>
+ * Code taken from {@link at.gv.egovernment.moa.id.auth.servlet.GetMISSessionIDServlet}.
+ * @see #execute(ExecutionContext, HttpServletRequest, HttpServletResponse)
+ *
+ */
+public class GetMISSessionIDTask extends AbstractAuthServletTask {
+
+ @Override
+ public void execute(ExecutionContext executionContext, HttpServletRequest req, HttpServletResponse resp)
+ throws TaskExecutionException {
+
+ Logger.debug("POST GetMISSessionIDServlet");
+
+ String sessionID = req.getParameter(PARAM_SESSIONID);
+
+ // escape parameter strings
+ sessionID = StringEscapeUtils.escapeHtml(sessionID);
+
+ AuthenticationSession session = null;
+ String pendingRequestID = null;
+ try {
+ // check parameter
+ if (!ParamValidatorUtils.isValidSessionID(sessionID))
+ throw new WrongParametersException("VerifyCertificate",
+ PARAM_SESSIONID, "auth.12");
+
+ pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(sessionID);
+
+ session = AuthenticationServer.getSession(sessionID);
+
+ //change MOASessionID
+ sessionID = AuthenticationSessionStoreage.changeSessionID(session);
+
+ String misSessionID = session.getMISSessionID();
+
+ AuthConfigurationProvider authConf = AuthConfigurationProvider
+ .getInstance();
+ ConnectionParameter connectionParameters = authConf
+ .getOnlineMandatesConnectionParameter();
+ SSLSocketFactory sslFactory = SSLUtils.getSSLSocketFactory(
+ AuthConfigurationProvider.getInstance(),
+ connectionParameters);
+
+ List<MISMandate> list = MISSimpleClient.sendGetMandatesRequest(
+ connectionParameters.getUrl(), misSessionID, sslFactory);
+
+ if (list == null || list.size() == 0) {
+ Logger.error("Keine Vollmacht gefunden.");
+ throw new AuthenticationException("auth.15", null);
+ }
+
+ // for now: list contains only one element
+ MISMandate mandate = (MISMandate) list.get(0);
+
+ // TODO[tlenz]: UTF-8 ?
+ String sMandate = new String(mandate.getMandate());
+ if (sMandate == null || sMandate.compareToIgnoreCase("") == 0) {
+ Logger.error("Mandate is empty.");
+ throw new AuthenticationException("auth.15",
+ new Object[] { GET_MIS_SESSIONID });
+ }
+
+ //check if it is a parsable XML
+ byte[] byteMandate = mandate.getMandate();
+ // TODO[tlenz]: UTF-8 ?
+ String stringMandate = new String(byteMandate);
+ DOMUtils.parseDocument(stringMandate, false,
+ null, null).getDocumentElement();
+
+ // extract RepresentationType
+ AuthenticationServer.getInstance().verifyMandate(session, mandate);
+
+ session.setMISMandate(mandate);
+ session.setAuthenticatedUsed(false);
+ session.setAuthenticated(true);
+
+ //set QAA Level four in case of card authentifcation
+ session.setQAALevel(PVPConstants.STORK_QAA_1_4);
+
+ String oldsessionID = session.getSessionID();
+
+ //Session is implicite stored in changeSessionID!!!
+ String newMOASessionID = AuthenticationSessionStoreage.changeSessionID(session);
+
+ Logger.info("Changed MOASession " + oldsessionID + " to Session " + newMOASessionID);
+ Logger.info("Daten angelegt zu MOASession " + newMOASessionID);
+
+ String redirectURL = new DataURLBuilder().buildDataURL(
+ session.getAuthURL(),
+ ModulUtils.buildAuthURL(session.getModul(),
+ session.getAction(), pendingRequestID), newMOASessionID);
+ redirectURL = resp.encodeRedirectURL(redirectURL);
+
+ // TODO[branch]: Final step back to /dispatcher
+
+ resp.setContentType("text/html");
+ resp.setStatus(302);
+ resp.addHeader("Location", redirectURL);
+ Logger.debug("REDIRECT TO: " + redirectURL);
+
+ } catch (MOAIDException ex) {
+ throw new TaskExecutionException(ex.getMessage(), ex);
+
+ } catch (GeneralSecurityException ex) {
+ throw new TaskExecutionException(ex.getMessage(), ex);
+
+ } catch (PKIException e) {
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ } catch (SAXException e) {
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ } catch (ParserConfigurationException e) {
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ } catch (Exception e) {
+ Logger.error("MISMandateValidation has an interal Error.", e);
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ }
+ finally {
+ ConfigurationDBUtils.closeSession();
+ }
+
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/PrepareAuthBlockSignatureTask.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/PrepareAuthBlockSignatureTask.java
new file mode 100644
index 000000000..3ae35bc24
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/PrepareAuthBlockSignatureTask.java
@@ -0,0 +1,104 @@
+package at.gv.egovernment.moa.id.auth.modules.internal.tasks;
+
+import static at.gv.egovernment.moa.id.auth.MOAIDAuthConstants.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringEscapeUtils;
+
+import at.gv.egovernment.moa.id.auth.AuthenticationServer;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.AbstractAuthServletTask;
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
+import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
+import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
+import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
+import at.gv.egovernment.moa.id.util.ServletUtils;
+import at.gv.egovernment.moa.logging.Logger;
+
+/**
+ * Creates {@code CreateXMLSignatureRequest} for auth block signature.<p/>
+ * In detail:
+ * <ul>
+ * <li>Renames the moa session id.</li>
+ * <li>Creates {@code CreateXMLSignatureRequest} for auth block signature.</li>
+ * <li>Responds with {@code CreateXMLSignatureRequest} (for CCE), {@code DataURL} is {@code /VerifyAuthBlock}</li>
+ * </ul>
+ * Expects:
+ * <ul>
+ * <li>HttpServletRequest parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_SESSIONID PARAM_SESSIONID}</li>
+ * </ul>
+ * Result:
+ * <ul>
+ * <li>Responds with {@code CreateXMLSignatureRequest} (for CCE), {@code DataURL} is {@code /VerifyAuthBlock}</li>
+ * </ul>
+ * Code taken from {@link at.gv.egovernment.moa.id.auth.servlet.VerifyIdentityLinkServlet}.
+ * @see #execute(ExecutionContext, HttpServletRequest, HttpServletResponse)
+ *
+ */
+public class PrepareAuthBlockSignatureTask extends AbstractAuthServletTask {
+
+ @Override
+ public void execute(ExecutionContext executionContext, HttpServletRequest req, HttpServletResponse resp)
+ throws TaskExecutionException {
+ // note: code taken from at.gv.egovernment.moa.id.auth.servlet.VerifyIdentityLinkServlet
+
+ Logger.debug("Process IdentityLink");
+
+ setNoCachingHeaders(resp);
+
+ String pendingRequestID = null;
+
+ try {
+
+ String sessionID = StringEscapeUtils.escapeHtml(req.getParameter(PARAM_SESSIONID));
+
+ // check parameter
+ if (!ParamValidatorUtils.isValidSessionID(sessionID)) {
+ throw new WrongParametersException("VerifyIdentityLink", PARAM_SESSIONID, "auth.12");
+ }
+
+ pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(sessionID);
+
+ AuthenticationSession session = AuthenticationServer.getSession(sessionID);
+
+ // change MOASessionID
+ sessionID = AuthenticationSessionStoreage.changeSessionID(session);
+
+ Logger.info("Normal");
+
+ // TODO[branch]: Default behaviour; respond with CXSR for authblock signature, dataURL "/VerifyAuthBlock"
+
+ OAAuthParameter oaParam = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(
+ session.getPublicOAURLPrefix());
+ AuthConfigurationProvider authConf = AuthConfigurationProvider.getInstance();
+
+ String createXMLSignatureRequest = AuthenticationServer.getInstance()
+ .getCreateXMLSignatureRequestAuthBlockOrRedirect(session, authConf, oaParam);
+
+ AuthenticationSessionStoreage.storeSession(session);
+
+ ServletUtils.writeCreateXMLSignatureRequestOrRedirect(resp, session,
+ createXMLSignatureRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT,
+ "VerifyIdentityLink");
+
+ } catch (MOAIDException ex) {
+ throw new TaskExecutionException(ex.getMessage(), ex);
+
+ } catch (Exception e) {
+ Logger.error("IdentityLinkValidation has an interal Error.", e);
+ throw new TaskExecutionException(e.getMessage(), e);
+ }
+
+ finally {
+ ConfigurationDBUtils.closeSession();
+ }
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyAuthenticationBlockTask.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyAuthenticationBlockTask.java
new file mode 100644
index 000000000..64dcb0f41
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyAuthenticationBlockTask.java
@@ -0,0 +1,250 @@
+package at.gv.egovernment.moa.id.auth.modules.internal.tasks;
+
+import static at.gv.egovernment.moa.id.auth.MOAIDAuthConstants.*;
+import iaik.pki.PKIException;
+
+import java.io.IOException;
+import java.security.GeneralSecurityException;
+import java.util.List;
+import java.util.Map;
+
+import javax.net.ssl.SSLSocketFactory;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.transform.TransformerException;
+
+import org.apache.commons.fileupload.FileUploadException;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.w3c.dom.Element;
+
+import at.gv.egovernment.moa.id.auth.AuthenticationServer;
+import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
+import at.gv.egovernment.moa.id.auth.exception.MISSimpleClientException;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.AbstractAuthServletTask;
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
+import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
+import at.gv.egovernment.moa.id.config.ConnectionParameter;
+import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
+import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
+import at.gv.egovernment.moa.id.moduls.ModulUtils;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
+import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
+import at.gv.egovernment.moa.id.util.SSLUtils;
+import at.gv.egovernment.moa.id.util.client.mis.simple.MISSessionId;
+import at.gv.egovernment.moa.id.util.client.mis.simple.MISSimpleClient;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.DOMUtils;
+
+/**
+ * Verifies the signed authentication block (provided as {@code CreateXMLSignatureResponse}).<p/>
+ * In detail:
+ * <ul>
+ * <li>Renames the moa session id.</li>
+ * <li>Takes the {@code CreateXMLSignatureResponse} from POST parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_XMLRESPONSE PARAM_XMLRESPONSE}.</li>
+ * <li>Verifies the {@code CreateXMLSignatureResponse}.</li>
+ * <li>Updates moa session.</li>
+ * <li>Redirects back to {@code /dispatcher} in order to finalize the authentication.</li>
+ * </ul>
+ * Expects:
+ * <ul>
+ * <li>HttpServletRequest parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_SESSIONID PARAM_SESSIONID}</li>
+ * <li>HttpServletRequest parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_XMLRESPONSE PARAM_XMLRESPONSE} containing a {@code CreateXMLSignatureResponse}.</li>
+ * </ul>
+ * Result:
+ * <ul>
+ * <li>Authentication data put into moa session.</li>
+ * <li>Redirect to {@code /dispatcher}.</li>
+ * </ul>
+ * Possible branches:
+ * <ul>
+ * <li>In case of mandate mode
+ * <ul>
+ * <li>Creates a mandate session at the external mandate issuing service.</li>
+ * <li>Redirects the user's browser to the online mandate issuing service GUI.</li>
+ * </ul>
+ * </li>
+ * </ul>
+ * Code taken from {@link at.gv.egovernment.moa.id.auth.servlet.VerifyAuthenticationBlockServlet}.
+ * @see #execute(ExecutionContext, HttpServletRequest, HttpServletResponse)
+ *
+ */
+public class VerifyAuthenticationBlockTask extends AbstractAuthServletTask {
+
+ @Override
+ public void execute(ExecutionContext executionContext, HttpServletRequest req, HttpServletResponse resp)
+ throws TaskExecutionException {
+
+ // note: code taken from at.gv.egovernment.moa.id.auth.servlet.VerifyAuthenticationBlockServlet
+
+ Logger.debug("POST VerifyAuthenticationBlock");
+
+ String pendingRequestID = null;
+
+ Map<String, String> parameters;
+ try
+ {
+ parameters = getParameters(req);
+
+ } catch (FileUploadException | IOException e)
+ {
+ Logger.error("Parsing mulitpart/form-data request parameters failed: " + e.getMessage());
+ throw new TaskExecutionException("Parsing mulitpart/form-data request parameters failed", new IOException(e.getMessage()));
+ }
+
+ String sessionID = req.getParameter(PARAM_SESSIONID);
+ String createXMLSignatureResponse = (String)parameters.get(PARAM_XMLRESPONSE);
+
+ // escape parameter strings
+ sessionID = StringEscapeUtils.escapeHtml(sessionID);
+ pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(sessionID);
+
+ String redirectURL = null;
+ try {
+ // check parameter
+ if (!ParamValidatorUtils.isValidSessionID(sessionID))
+ throw new WrongParametersException("VerifyAuthenticationBlock", PARAM_SESSIONID, "auth.12");
+ if (!ParamValidatorUtils.isValidXMLDocument(createXMLSignatureResponse))
+ throw new WrongParametersException("VerifyAuthenticationBlock", PARAM_XMLRESPONSE, "auth.12");
+
+ AuthenticationSession session = AuthenticationServer.getSession(sessionID);
+
+ //change MOASessionID
+ sessionID = AuthenticationSessionStoreage.changeSessionID(session);
+
+ String authenticatedMOASessionId = AuthenticationServer.getInstance().verifyAuthenticationBlock(session, createXMLSignatureResponse);
+
+ if (authenticatedMOASessionId == null) {
+ //mandate Mode
+
+ AuthConfigurationProvider authConf= AuthConfigurationProvider.getInstance();
+ ConnectionParameter connectionParameters = authConf.getOnlineMandatesConnectionParameter();
+ SSLSocketFactory sslFactory = SSLUtils.getSSLSocketFactory(AuthConfigurationProvider.getInstance(), connectionParameters);
+
+ // get identitity link as byte[]
+ Element elem = session.getIdentityLink().getSamlAssertion();
+ String s = DOMUtils.serializeNode(elem);
+
+ //System.out.println("IDL: " + s);
+
+ byte[] idl = s.getBytes("UTF-8");
+
+ // redirect url
+ // build redirect(to the GetMISSessionIdSerlvet)
+
+ //change MOASessionID before MIS request
+ String newMOASessionID = AuthenticationSessionStoreage.changeSessionID(session);
+
+ redirectURL =
+ new DataURLBuilder().buildDataURL(
+ session.getAuthURL(),
+ GET_MIS_SESSIONID,
+ newMOASessionID);
+
+ String oaURL = session.getOAURLRequested();
+ OAAuthParameter oaParam = authConf.getOnlineApplicationParameter(oaURL);
+ List<String> profiles = oaParam.getMandateProfiles();
+
+ if (profiles == null) {
+ Logger.error("No Mandate/Profile for OA configured.");
+ throw new AuthenticationException("config.21", new Object[] { GET_MIS_SESSIONID});
+ }
+
+ String oaFriendlyName = oaParam.getFriendlyName();
+ String mandateReferenceValue = session.getMandateReferenceValue();
+ byte[] cert = session.getEncodedSignerCertificate();
+ byte[] authBlock = session.getAuthBlock().getBytes("UTF-8");
+
+ //TODO: check in case of SSO!!!
+ String targetType = null;
+ if(oaParam.getBusinessService()) {
+ String id = oaParam.getIdentityLinkDomainIdentifier();
+ if (id.startsWith(AuthenticationSession.REGISTERANDORDNR_PREFIX_))
+ targetType = id;
+ else
+ targetType = AuthenticationSession.REGISTERANDORDNR_PREFIX_+session.getDomainIdentifier();
+
+ } else {
+ targetType = AuthenticationSession.TARGET_PREFIX_ + oaParam.getTarget();
+ }
+
+ MISSessionId misSessionID = MISSimpleClient.sendSessionIdRequest(
+ connectionParameters.getUrl(),
+ idl,
+ cert,
+ oaFriendlyName,
+ redirectURL,
+ mandateReferenceValue,
+ profiles,
+ targetType,
+ authBlock,
+ sslFactory);
+
+ if (misSessionID == null) {
+ Logger.error("Fehler bei Anfrage an Vollmachten Service. MIS Session ID ist null.");
+ throw new MISSimpleClientException("Fehler bei Anfrage an Vollmachten Service.");
+ }
+
+ String redirectMISGUI = misSessionID.getRedirectURL();
+ session.setMISSessionID(misSessionID.getSessiondId());
+
+ try {
+ AuthenticationSessionStoreage.storeSession(session);
+ } catch (MOADatabaseException e) {
+ throw new MOAIDException("Session store error", null);
+ }
+
+ // TODO[branch]: Mandate; redirect to MIS website; website redirects back to "/GetMISSessionID"
+
+ resp.setStatus(302);
+ resp.addHeader("Location", redirectMISGUI);
+ Logger.debug("REDIRECT TO: " + redirectURL);
+ }
+ else {
+ // TODO[branch]: Final step back to /dispatcher
+ redirectURL = new DataURLBuilder().buildDataURL(session.getAuthURL(),
+ ModulUtils.buildAuthURL(session.getModul(), session.getAction(), pendingRequestID), authenticatedMOASessionId);
+
+ resp.setContentType("text/html");
+ resp.setStatus(302);
+
+ resp.addHeader("Location", redirectURL);
+ Logger.debug("REDIRECT TO: " + redirectURL);
+
+ }
+
+ }
+
+ catch (MOAIDException ex) {
+ throw new TaskExecutionException(ex.getMessage(), ex);
+
+ } catch (GeneralSecurityException e) {
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ } catch (PKIException e) {
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ } catch (TransformerException e) {
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ } catch (Exception e) {
+ Logger.error("AuthBlockValidation has an interal Error.", e);
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ }
+
+
+ finally {
+ ConfigurationDBUtils.closeSession();
+ }
+
+
+
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyCertificateTask.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyCertificateTask.java
new file mode 100644
index 000000000..607641532
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyCertificateTask.java
@@ -0,0 +1,163 @@
+package at.gv.egovernment.moa.id.auth.modules.internal.tasks;
+
+import static at.gv.egovernment.moa.id.auth.MOAIDAuthConstants.*;
+import iaik.x509.X509Certificate;
+
+import java.io.IOException;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.fileupload.FileUploadException;
+import org.apache.commons.lang.StringEscapeUtils;
+
+import at.gv.egovernment.moa.id.auth.AuthenticationServer;
+import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.AbstractAuthServletTask;
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
+import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
+import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
+import at.gv.egovernment.moa.id.util.ServletUtils;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.spss.util.CertificateUtils;
+
+/**
+ * Parses the certificate from {@code InfoBoxReadResponse} (via POST parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_XMLRESPONSE PARAM_XMLRESPONSE}), creates the auth block to be signed and returns a {@code CreateXMLSignatureRequest} for auth block signature.<p/>
+ * In detail:
+ * <ul>
+ * <li>Renames the moa session id.</li>
+ * <li>Retrieves the certificate via {@code InfoBoxReadResponse} from POST parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_XMLRESPONSE PARAM_XMLRESPONSE}.</li>
+ * <li>Verifies the certificate.</li>
+ * <li>Creates the auth block to be signed using information from the certificate (Organwalter, foreign citizen.</li>
+ * <li>Puts it in a {@code CreateXMLSignatureRequest}.</li>
+ * <li>Updates moa session.</li>
+ * <li>Responds with {@code CreateXMLSignatureRequest}.</li>
+ * </ul>
+ * Expects:
+ * <ul>
+ * <li>HttpServletRequest parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_SESSIONID PARAM_SESSIONID}</li>
+ * <li>HttpServletRequest parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_XMLRESPONSE PARAM_SESSIONID} containing a {@code InfoBoxReadResponse}.</li>
+ * </ul>
+ * Result:
+ * <ul>
+ * <li>{@code CreateXMLSignatureRequest} send as HttpServletResponse (for CCE).</li>
+ * </ul>
+ * Code taken from {@link at.gv.egovernment.moa.id.auth.servlet.VerifyCertificateServlet}.
+ * @see #execute(ExecutionContext, HttpServletRequest, HttpServletResponse)
+ *
+ */
+public class VerifyCertificateTask extends AbstractAuthServletTask {
+
+ @Override
+ public void execute(ExecutionContext executionContext, HttpServletRequest req, HttpServletResponse resp)
+ throws TaskExecutionException {
+
+ // note: code taken from at.gv.egovernment.moa.id.auth.servlet.VerifyCertificateServlet
+
+ Logger.debug("POST VerifyCertificateServlet");
+
+ Map<String, String> parameters;
+ try
+ {
+ parameters = getParameters(req);
+ } catch (FileUploadException | IOException e)
+ {
+ Logger.error("Parsing mulitpart/form-data request parameters failed: " + e.getMessage());
+ throw new TaskExecutionException("Parsing mulitpart/form-data request parameters failed", new IOException(e.getMessage()));
+ }
+ String sessionID = req.getParameter(PARAM_SESSIONID);
+
+ // escape parameter strings
+ sessionID = StringEscapeUtils.escapeHtml(sessionID);
+
+ AuthenticationSession session = null;
+ try {
+ // check parameter
+ if (!ParamValidatorUtils.isValidSessionID(sessionID))
+ throw new WrongParametersException("VerifyCertificate", PARAM_SESSIONID, "auth.12");
+
+ session = AuthenticationServer.getSession(sessionID);
+
+ //change MOASessionID
+ sessionID = AuthenticationSessionStoreage.changeSessionID(session);
+
+ X509Certificate cert = AuthenticationServer.getInstance().getCertificate(sessionID, parameters);
+ if (cert == null) {
+ Logger.error("Certificate could not be read.");
+ throw new AuthenticationException("auth.14", null);
+ }
+
+ boolean useMandate = session.getUseMandate();
+
+ if (useMandate) {
+
+ // verify certificate for OrganWalter
+ String createXMLSignatureRequestOrRedirect = AuthenticationServer.getInstance().verifyCertificate(session, cert);
+
+ try {
+ AuthenticationSessionStoreage.storeSession(session);
+ } catch (MOADatabaseException e) {
+ throw new MOAIDException("session store error", null);
+ }
+
+ // TODO[branch]: Mandate; respond with CXSR for authblock signature, dataURL "/VerifyAuthBlock"
+ ServletUtils.writeCreateXMLSignatureRequestOrRedirect(resp, session, createXMLSignatureRequestOrRedirect, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyCertificate");
+
+ }
+ else {
+
+
+ String countrycode = CertificateUtils.getIssuerCountry(cert);
+ if (countrycode != null) {
+ if (countrycode.compareToIgnoreCase("AT") == 0) {
+ Logger.error("Certificate issuer country code is \"AT\". Login not support in foreign identities mode.");
+ throw new AuthenticationException("auth.22", null);
+ }
+ }
+
+ // Foreign Identities Modus
+ String createXMLSignatureRequest = AuthenticationServer.getInstance().createXMLSignatureRequestForeignID(session, cert);
+ // build dataurl (to the GetForeignIDSerlvet)
+ String dataurl =
+ new DataURLBuilder().buildDataURL(
+ session.getAuthURL(),
+ REQ_GET_FOREIGN_ID,
+ session.getSessionID());
+
+ try {
+ AuthenticationSessionStoreage.storeSession(session);
+ } catch (MOADatabaseException e) {
+ throw new MOAIDException("session store error", null);
+ }
+
+ // TODO[branch]: Foreign citizen; respond with CXSR for authblock signature, dataURL "/GetForeignID"
+ ServletUtils.writeCreateXMLSignatureRequest(resp, createXMLSignatureRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "GetForeignID", dataurl);
+
+ Logger.debug("Send CreateXMLSignatureRequest to BKU");
+ }
+ }
+ catch (MOAIDException ex) {
+ throw new TaskExecutionException(ex.getMessage(), ex);
+
+ } catch (Exception e) {
+ Logger.error("CertificateValidation has an interal Error.", e);
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ }
+
+
+ finally {
+ ConfigurationDBUtils.closeSession();
+ }
+
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyIdentityLinkTask.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyIdentityLinkTask.java
new file mode 100644
index 000000000..44557453a
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyIdentityLinkTask.java
@@ -0,0 +1,102 @@
+package at.gv.egovernment.moa.id.auth.modules.internal.tasks;
+
+import static at.gv.egovernment.moa.id.auth.MOAIDAuthConstants.*;
+
+import java.io.IOException;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringEscapeUtils;
+
+import at.gv.egovernment.moa.id.auth.AuthenticationServer;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.exception.ParseException;
+import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.AbstractAuthServletTask;
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
+import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
+import at.gv.egovernment.moa.logging.Logger;
+
+/**
+ * Verifies the identity link.<p/>
+ * In detail:
+ * <ul>
+ * <li>Renames the moa session id.</li>
+ * <li>Parses the identity link retrieved as {@code InfoBoxReadResponse} from POST parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_XMLRESPONSE PARAM_XMLRESPONSE}.</li>
+ * <li>Verifies the identity link.</li>
+ * <li>Updates moa session.</li>
+ * <li>Puts boolean flag {@code identityLinkAvailable} into {@code ExecutionContext}.</li>
+ * </ul>
+ * Expects:
+ * <ul>
+ * <li>HttpServletRequest parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_SESSIONID PARAM_SESSIONID}</li>
+ * <li>HttpServletRequest parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_XMLRESPONSE PARAM_XMLRESPONSE} containing a {@code InfoBoxReadResponse}.</li>
+ * </ul>
+ * Result:
+ * <ul>
+ * <li>Identity link put into moa session.</li>
+ * <li>Boolean flag {@code identityLinkAvailable} into {@code ExecutionContext}.</li>
+ * </ul>
+ * Code taken from {@link at.gv.egovernment.moa.id.auth.servlet.VerifyIdentityLinkServlet}.
+ * @see #execute(ExecutionContext, HttpServletRequest, HttpServletResponse)
+ *
+ */
+public class VerifyIdentityLinkTask extends AbstractAuthServletTask {
+
+ @Override
+ public void execute(ExecutionContext executionContext, HttpServletRequest req, HttpServletResponse resp)
+ throws TaskExecutionException {
+
+ // note: code taken from at.gv.egovernment.moa.id.auth.servlet.VerifyIdentityLinkServlet
+
+ Logger.debug("POST VerifyIdentityLink");
+
+ setNoCachingHeaders(resp);
+
+ Map<String, String> parameters;
+
+ try {
+ parameters = getParameters(req);
+ } catch (Exception e) {
+ Logger.error("Parsing mulitpart/form-data request parameters failed: " + e.getMessage());
+ throw new TaskExecutionException("Parsing mulitpart/form-data request parameters failed", new IOException(e.getMessage()));
+ }
+
+ try {
+
+ String sessionID = StringEscapeUtils.escapeHtml(req.getParameter(PARAM_SESSIONID));
+ // check parameter
+ if (!ParamValidatorUtils.isValidSessionID(sessionID)) {
+ throw new WrongParametersException("VerifyIdentityLink", PARAM_SESSIONID, "auth.12");
+ }
+ AuthenticationSession session = AuthenticationServer.getSession(sessionID);
+
+ boolean identityLinkAvailable = AuthenticationServer.getInstance().verifyIdentityLink(session, parameters) != null;
+ AuthenticationSessionStoreage.storeSession(session);
+
+ executionContext.put("identityLinkAvailable", identityLinkAvailable);
+
+ } catch (ParseException ex) {
+ throw new TaskExecutionException(ex.getMessage(), ex);
+
+ } catch (MOAIDException ex) {
+ throw new TaskExecutionException(ex.getMessage(), ex);
+
+ } catch (Exception e) {
+ Logger.error("IdentityLinkValidation has an interal Error.", e);
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ }
+
+ finally {
+ ConfigurationDBUtils.closeSession();
+ }
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/registration/ModuleRegistration.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/registration/ModuleRegistration.java
new file mode 100644
index 000000000..9c950366c
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/registration/ModuleRegistration.java
@@ -0,0 +1,149 @@
+package at.gv.egovernment.moa.id.auth.modules.registration;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.ServiceLoader;
+
+import javax.annotation.PostConstruct;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.core.io.Resource;
+
+import at.gv.egovernment.moa.id.auth.modules.AuthModule;
+import at.gv.egovernment.moa.id.process.ProcessDefinitionParserException;
+import at.gv.egovernment.moa.id.process.ProcessEngine;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+
+/**
+ * This class handles registering modules. The modules are detected either with
+ * the ServiceLoader mechanism or via Spring. All detected modules are ranked
+ * according to their priority.
+ */
+public class ModuleRegistration {
+
+ private static ModuleRegistration instance = new ModuleRegistration();
+
+ private List<AuthModule> priorizedModules = new ArrayList<>();
+
+ @Autowired
+ private ApplicationContext ctx;
+
+ @Autowired
+ private ProcessEngine processEngine;
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ public static ModuleRegistration getInstance() {
+ return instance;
+ }
+
+ private ModuleRegistration() {
+ }
+
+ @PostConstruct
+ private void init() {
+ // load modules via the ServiceLoader
+ initServiceLoaderModules();
+
+ // load modules via Spring
+ initSpringModules();
+
+ // order modules according to their priority
+ sortModules();
+ }
+
+ /**
+ * Discovers modules which use the ServiceLoader mechanism.
+ */
+ private void initServiceLoaderModules() {
+ log.info("Looking for auth modules.");
+ ServiceLoader<AuthModule> loader = ServiceLoader.load(AuthModule.class);
+ Iterator<AuthModule> modules = loader.iterator();
+ while (modules.hasNext()) {
+ AuthModule module = modules.next();
+ log.info("Detected module {}", module.getClass().getName());
+ registerModuleProcessDefinitions(module);
+ priorizedModules.add(module);
+ }
+ }
+
+ /**
+ * Discovers modules which use Spring.
+ */
+ private void initSpringModules() {
+ log.debug("Discovering Spring modules.");
+ Map<String, AuthModule> modules = ctx.getBeansOfType(AuthModule.class);
+ for (AuthModule module : modules.values()) {
+ registerModuleProcessDefinitions(module);
+ priorizedModules.add(module);
+ }
+ }
+
+ /**
+ * Registers the resource uris for the module.
+ *
+ * @param module
+ * the module.
+ */
+ private void registerModuleProcessDefinitions(AuthModule module) {
+ for (String uri : module.getProcessDefinitions()) {
+ Resource resource = ctx.getResource(uri);
+ if (resource.isReadable()) {
+ log.info("Registering process definition '{}'.", uri);
+ try (InputStream processDefinitionInputStream = resource.getInputStream()) {
+ processEngine.registerProcessDefinition(processDefinitionInputStream);
+ } catch (IOException e) {
+ log.error("Process definition '{}' could NOT be read.", uri, e);
+ } catch (ProcessDefinitionParserException e) {
+ log.error("Error while parsing process definition '{}'", uri, e);
+ }
+ } else {
+ log.error("Process definition '{}' cannot be read.", uri);
+ }
+ }
+ }
+
+ /**
+ * Order the modules in descending order according to their priority.
+ */
+ private void sortModules() {
+ Collections.sort(priorizedModules, new Comparator<AuthModule>() {
+ @Override
+ public int compare(AuthModule thisAuthModule, AuthModule otherAuthModule) {
+ int thisOrder = thisAuthModule.getPriority();
+ int otherOrder = otherAuthModule.getPriority();
+ return (thisOrder < otherOrder ? 1 : (thisOrder == otherOrder ? 0 : -1));
+ }
+ });
+ }
+
+ /**
+ * Returns the process description id of the first process, in the highest ranked
+ * module, which is able to work with the given execution context.
+ *
+ * @param context
+ * the {@link ExecutionContext}.
+ * @return the process id or {@code null}
+ */
+ public String selectProcess(ExecutionContext context) {
+ for (AuthModule module : priorizedModules) {
+ String id = module.selectProcess(context);
+ if (StringUtils.isNotEmpty(id)) {
+ log.debug("Process with id '{}' selected, for context '{}'.", id, context);
+ return id;
+ }
+ }
+ log.info("No process is able to handle context '{}'.", context);
+ return null;
+ }
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/IdentityLinkAssertionParser.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/IdentityLinkAssertionParser.java
index e2802c1d2..a5783bfb7 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/IdentityLinkAssertionParser.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/IdentityLinkAssertionParser.java
@@ -106,7 +106,7 @@ public class IdentityLinkAssertionParser {
+ PDATA
+ "Person";
/** Xpath expression to the PersonData GivenName element */
- private static final String PERSON_GIVEN_NAME_XPATH =
+ public static final String PERSON_GIVEN_NAME_XPATH =
PERSON_XPATH
+ "/"
+ PDATA
@@ -114,7 +114,7 @@ public class IdentityLinkAssertionParser {
+ PDATA
+ "GivenName";
/** Xpath expression to the PersonData FamilyName element */
- private static final String PERSON_FAMILY_NAME_XPATH =
+ public static final String PERSON_FAMILY_NAME_XPATH =
PERSON_XPATH
+ "/"
+ PDATA
@@ -122,7 +122,7 @@ public class IdentityLinkAssertionParser {
+ PDATA
+ "FamilyName";
/** Xpath expression to the PersonData DateOfBirth element */
- private static final String PERSON_DATE_OF_BIRTH_XPATH =
+ public static final String PERSON_DATE_OF_BIRTH_XPATH =
PERSON_XPATH
+ "/"
+ PDATA
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java
index 1bc3702e4..f538d2d12 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java
@@ -132,12 +132,13 @@ public class StartAuthentificationParameterParser implements MOAIDAuthConstants{
String targetFriendlyNameConfig = oaParam.getTargetFriendlyName();
if (StringUtils.isEmpty(targetConfig)
-// || (module.equals(SAML1Protocol.PATH) &&
-// !StringUtils.isEmpty(target))
+ || (module.equals(SAML1Protocol.PATH) &&
+ !StringUtils.isEmpty(target))
) {
- // no target attribut is given in OA config
- // target is used from request
- // check parameter
+ //INFO: ONLY SAML1 legacy mode
+ // if SAML1 is used and target attribute is given in request
+ // use requested target
+ // check target parameter
if (!ParamValidatorUtils.isValidTarget(target)) {
Logger.error("Selected target is invalid. Using target: " + target);
throw new WrongParametersException("StartAuthentication", PARAM_TARGET, "auth.12");
@@ -211,8 +212,8 @@ public class StartAuthentificationParameterParser implements MOAIDAuthConstants{
authURL = authURL.concat(":" + req.getServerPort());
}
authURL = authURL.concat(req.getContextPath() + "/");
-
- if (!authURL.startsWith("https:"))
+
+ if (!authURL.startsWith("https:") && !AuthConfigurationProvider.getInstance().isHTTPAuthAllowed())
throw new AuthenticationException("auth.07",
new Object[] { authURL + "*" });
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AuthServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AuthServlet.java
index e5b2c598c..c4c4b2691 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AuthServlet.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AuthServlet.java
@@ -66,14 +66,22 @@ import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.NoSuchBeanDefinitionException;
+import org.springframework.beans.factory.NoUniqueBeanDefinitionException;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
import at.gv.egovernment.moa.id.advancedlogging.StatisticLogger;
import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants;
import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
import at.gv.egovernment.moa.id.config.ConfigurationException;
import at.gv.egovernment.moa.id.entrypoints.DispatcherServlet;
+import at.gv.egovernment.moa.id.process.ProcessEngine;
+import at.gv.egovernment.moa.id.process.ProcessExecutionException;
import at.gv.egovernment.moa.id.storage.DBExceptionStoreImpl;
import at.gv.egovernment.moa.id.storage.IExceptionStore;
import at.gv.egovernment.moa.id.util.ServletUtils;
@@ -97,6 +105,11 @@ public class AuthServlet extends HttpServlet implements MOAIDAuthConstants {
protected static final String ERROR_CODE_PARAM = "errorid";
+ /**
+ * The process engine.
+ */
+ private ProcessEngine processEngine;
+
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
@@ -174,29 +187,36 @@ public class AuthServlet extends HttpServlet implements MOAIDAuthConstants {
protected void handleError(String errorMessage, Throwable exceptionThrown,
HttpServletRequest req, HttpServletResponse resp, String pendingRequestID) {
- if (null != errorMessage) {
- Logger.error(errorMessage);
- req.setAttribute("ErrorMessage", errorMessage);
- }
-
- if (null != exceptionThrown) {
- if (null == errorMessage)
- errorMessage = exceptionThrown.getMessage();
- Logger.error(errorMessage, exceptionThrown);
- req.setAttribute("ExceptionThrown", exceptionThrown);
- }
-
- if (Logger.isDebugEnabled()) {
- req.setAttribute("LogLevel", "debug");
+ Throwable loggedException = null;
+
+ if (exceptionThrown != null
+ && exceptionThrown instanceof ProcessExecutionException) {
+ ProcessExecutionException procExc =
+ (ProcessExecutionException) exceptionThrown;
+ if (procExc.getCause() != null &&
+ procExc.getCause() instanceof TaskExecutionException) {
+ TaskExecutionException taskExc = (TaskExecutionException) procExc.getCause();
+ loggedException = taskExc.getOriginalException();
+ if (Logger.isDebugEnabled() || Logger.isTraceEnabled()) {
+ Logger.error(exceptionThrown.getMessage(), exceptionThrown);
+
+ } else
+ Logger.error(exceptionThrown.getMessage());
+
+ }
}
+
+ if (loggedException == null)
+ loggedException = exceptionThrown;
+
- if (!(exceptionThrown instanceof MOAIDException)) {
- Logger.error("Receive an internal error: Message=" + exceptionThrown.getMessage(), exceptionThrown);
+ if (!(loggedException instanceof MOAIDException)) {
+ Logger.error("Receive an internal error: Message=" + loggedException.getMessage(), loggedException);
}
IExceptionStore store = DBExceptionStoreImpl.getStore();
- String id = store.storeException(exceptionThrown);
+ String id = store.storeException(loggedException);
if (id != null && MiscUtil.isNotEmpty(pendingRequestID)) {
@@ -217,7 +237,7 @@ public class AuthServlet extends HttpServlet implements MOAIDAuthConstants {
} else {
//Exception can not be stored in database
- handleErrorNoRedirect(errorMessage, exceptionThrown, req, resp);
+ handleErrorNoRedirect(errorMessage, loggedException, req, resp);
}
}
@@ -454,4 +474,31 @@ public class AuthServlet extends HttpServlet implements MOAIDAuthConstants {
}
+
+ /**
+ * Returns the underlying process engine instance.
+ *
+ * @return The process engine (never {@code null}).
+ * @throws NoSuchBeanDefinitionException
+ * if no {@link ProcessEngine} bean was found.
+ * @throws NoUniqueBeanDefinitionException
+ * if more than one {@link ProcessEngine} bean was found.
+ * @throws BeansException
+ * if a problem getting the {@link ProcessEngine} bean occurred.
+ * @throws IllegalStateException
+ * if the Spring WebApplicationContext was not found, which means that the servlet is used outside a
+ * Spring web environment.
+ */
+ public synchronized ProcessEngine getProcessEngine() {
+ if (processEngine == null) {
+ WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
+ if (ctx == null) {
+ throw new IllegalStateException(
+ "Unable to find Spring WebApplicationContext. Servlet needs to be executed within a Spring web environment.");
+ }
+ processEngine = ctx.getBean(ProcessEngine.class);
+ }
+ return processEngine;
+ }
+
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java
index 2ef8ab5ec..ad4776a45 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java
@@ -23,52 +23,42 @@
package at.gv.egovernment.moa.id.auth.servlet;
import java.io.IOException;
-import java.io.PrintWriter;
import java.util.List;
-import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringEscapeUtils;
-import at.gv.egovernment.moa.id.auth.MOAIDAuthInitializer;
-import at.gv.egovernment.moa.id.auth.builder.StartAuthenticationBuilder;
import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.registration.ModuleRegistration;
import at.gv.egovernment.moa.id.auth.parser.StartAuthentificationParameterParser;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
import at.gv.egovernment.moa.id.commons.db.dao.config.TemplateType;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
+
+import at.gv.egovernment.moa.id.moduls.IRequest;
+import at.gv.egovernment.moa.id.moduls.RequestStorage;
+import at.gv.egovernment.moa.id.protocols.saml1.SAML1Protocol;
+
+import at.gv.egovernment.moa.id.process.ExecutionContextImpl;
+import at.gv.egovernment.moa.id.process.ProcessInstance;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
-import at.gv.egovernment.moa.id.util.MOAIDMessageProvider;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.FileUtils;
import at.gv.egovernment.moa.util.MiscUtil;
-import at.gv.egovernment.moa.util.StringUtils;
public class GenerateIFrameTemplateServlet extends AuthServlet {
private static final long serialVersionUID = 1L;
- public void init(ServletConfig servletConfig) throws ServletException {
-// try {
-// super.init(servletConfig);
-// MOAIDAuthInitializer.initialize();
-// Logger.debug("default platform file.encoding: " + System.getProperty("file.encoding"));
-// Logger.info(MOAIDMessageProvider.getInstance().getMessage("init.00", null));
-// }
-// catch (Exception ex) {
-// Logger.fatal(MOAIDMessageProvider.getInstance().getMessage("init.02", null), ex);
-// throw new ServletException(ex);
-// }
- }
-
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Logger.info("Receive " + GenerateIFrameTemplateServlet.class + " Request");
@@ -95,7 +85,7 @@ public class GenerateIFrameTemplateServlet extends AuthServlet {
moasession = AuthenticationSessionStoreage.getSession(moasessionid);
- AuthenticationSessionStoreage.changeSessionID(moasession);
+// AuthenticationSessionStoreage.changeSessionID(moasession);
} catch (MOADatabaseException e) {
Logger.info("MOASession with SessionID="+ moasessionid + " is not found in Database");
@@ -116,11 +106,15 @@ public class GenerateIFrameTemplateServlet extends AuthServlet {
else {
- //load Parameters from config
- String target = oaParam.getTarget();
-
-
-
+ //get Target from config or from request in case of SAML 1
+ String target = null;
+ IRequest pendingReq = RequestStorage.getPendingRequest(pendingRequestID);
+ if (MiscUtil.isNotEmpty(pendingReq.getTarget()) &&
+ pendingReq.requestedModule().equals(SAML1Protocol.PATH))
+ target = pendingReq.getTarget();
+ else
+ target = oaParam.getTarget();
+
String bkuURL = oaParam.getBKUURL(bkuid);
if (MiscUtil.isEmpty(bkuURL)) {
Logger.info("No OA specific BKU defined. Use BKU from default configuration");
@@ -161,28 +155,37 @@ public class GenerateIFrameTemplateServlet extends AuthServlet {
moasession.getAction(),
req);
}
-
- StartAuthenticationBuilder startauth = StartAuthenticationBuilder.getInstance();
- String getIdentityLinkForm = startauth.build(moasession, req, resp);
-
- //store MOASession
+
+ ExecutionContext ec = new ExecutionContextImpl();
+ // set execution context
+ ec.put("ccc", moasession.getCcc());
+ ec.put("useMandate", moasession.getUseMandate());
+ ec.put("bkuURL", moasession.getBkuURL());
+
+ // select and create process instance
+ String processDefinitionId = ModuleRegistration.getInstance().selectProcess(ec);
+ String processInstanceId = getProcessEngine().createProcessInstance(processDefinitionId, ec);
+
+ if (processDefinitionId == null) {
+ Logger.warn("No suitable process found for SessionID " + moasession.getSessionID());
+ throw new MOAIDException("process.02", new Object[] { moasession.getSessionID() });
+ }
+
+ // keep process instance id in moa session
+ moasession.setProcessInstanceId(processInstanceId);
+
+ // make sure moa session has been persisted before running the process
try {
AuthenticationSessionStoreage.storeSession(moasession);
-
} catch (MOADatabaseException e) {
Logger.error("Database Error! MOASession is not stored!");
- throw new MOAIDException("init.04", new Object[] {
- moasession.getSessionID()});
+ throw new MOAIDException("init.04", new Object[] { moasession.getSessionID() });
}
-
- if (!StringUtils.isEmpty(getIdentityLinkForm)) {
- resp.setContentType("text/html;charset=UTF-8");
- PrintWriter out = new PrintWriter(resp.getOutputStream());
- out.print(getIdentityLinkForm);
- out.flush();
- Logger.debug("Finished GET "+GenerateIFrameTemplateServlet.class);
- }
- }
+
+ // start process
+ getProcessEngine().start(processInstanceId);
+
+ }
catch (WrongParametersException ex) {
handleWrongParameters(ex, req, resp);
}
@@ -199,4 +202,13 @@ public class GenerateIFrameTemplateServlet extends AuthServlet {
ConfigurationDBUtils.closeSession();
}
}
+
+
+
+
+
+
+
+
+
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetForeignIDServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetForeignIDServlet.java
index bbc704f22..41c2a9c6a 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetForeignIDServlet.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetForeignIDServlet.java
@@ -69,6 +69,7 @@ import at.gv.egovernment.moa.id.auth.data.IdentityLink;
import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
import at.gv.egovernment.moa.id.auth.exception.ParseException;
import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.internal.tasks.GetForeignIDTask;
import at.gv.egovernment.moa.id.auth.parser.CreateXMLSignatureResponseParser;
import at.gv.egovernment.moa.id.auth.parser.IdentityLinkAssertionParser;
import at.gv.egovernment.moa.id.client.SZRGWClientException;
@@ -85,6 +86,7 @@ import at.gv.util.xsd.srzgw.CreateIdentityLinkResponse;
* Servlet requested for getting the foreign eID
* provided by the security layer implementation.
* Utilizes the {@link AuthenticationServer}.
+ * @deprecated Use {@link GetForeignIDTask} instead.
*
*/
public class GetForeignIDServlet extends AuthServlet {
@@ -134,6 +136,8 @@ public class GetForeignIDServlet extends AuthServlet {
Logger.debug("POST GetForeignIDServlet");
+ Logger.warn(getClass().getName() + " is deprecated and should not be used any more.");
+
resp.setHeader(MOAIDAuthConstants.HEADER_EXPIRES,MOAIDAuthConstants.HEADER_VALUE_EXPIRES);
resp.setHeader(MOAIDAuthConstants.HEADER_PRAGMA,MOAIDAuthConstants.HEADER_VALUE_PRAGMA);
resp.setHeader(MOAIDAuthConstants.HEADER_CACHE_CONTROL,MOAIDAuthConstants.HEADER_VALUE_CACHE_CONTROL);
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java
index 9e2e845b5..043b660c1 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java
@@ -67,6 +67,7 @@ import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.internal.tasks.GetMISSessionIDTask;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
import at.gv.egovernment.moa.id.config.ConnectionParameter;
import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
@@ -83,7 +84,7 @@ import at.gv.egovernment.moa.util.DOMUtils;
/**
* Servlet requested for getting the foreign eID provided by the security layer
* implementation. Utilizes the {@link AuthenticationServer}.
- *
+ * @deprecated Use {@link GetMISSessionIDTask} instead.
*/
public class GetMISSessionIDServlet extends AuthServlet {
@@ -136,6 +137,8 @@ public class GetMISSessionIDServlet extends AuthServlet {
Logger.debug("POST GetMISSessionIDServlet");
+ Logger.warn(getClass().getName() + " is deprecated and should not be used any more.");
+
resp.setHeader(MOAIDAuthConstants.HEADER_EXPIRES,
MOAIDAuthConstants.HEADER_VALUE_EXPIRES);
resp.setHeader(MOAIDAuthConstants.HEADER_PRAGMA,
@@ -197,6 +200,7 @@ public class GetMISSessionIDServlet extends AuthServlet {
// for now: list contains only one element
MISMandate mandate = (MISMandate) list.get(0);
+ // TODO[tlenz]: UTF-8 ?
String sMandate = new String(mandate.getMandate());
if (sMandate == null || sMandate.compareToIgnoreCase("") == 0) {
Logger.error("Mandate is empty.");
@@ -206,6 +210,7 @@ public class GetMISSessionIDServlet extends AuthServlet {
//check if it is a parsable XML
byte[] byteMandate = mandate.getMandate();
+ // TODO[tlenz]: UTF-8 ?
String stringMandate = new String(byteMandate);
DOMUtils.parseDocument(stringMandate, false,
null, null).getDocumentElement();
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java
index 3dd2afd96..24daa76a3 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java
@@ -28,8 +28,10 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.StringWriter;
import java.net.URL;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Date;
import java.util.List;
import java.util.Properties;
@@ -48,6 +50,8 @@ import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.opensaml.saml2.core.StatusCode;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
import at.gv.egovernment.moa.id.auth.AuthenticationServer;
import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder;
@@ -55,6 +59,7 @@ import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
import at.gv.egovernment.moa.id.auth.data.IdentityLink;
import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.parser.IdentityLinkAssertionParser;
import at.gv.egovernment.moa.id.auth.stork.STORKException;
import at.gv.egovernment.moa.id.auth.stork.STORKResponseProcessor;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
@@ -65,9 +70,12 @@ import at.gv.egovernment.moa.id.moduls.ModulUtils;
import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;
import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
import at.gv.egovernment.moa.id.util.HTTPUtils;
+import at.gv.egovernment.moa.id.util.IdentityLinkReSigner;
import at.gv.egovernment.moa.id.util.VelocityProvider;
import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.DOMUtils;
import at.gv.egovernment.moa.util.StringUtils;
+import at.gv.egovernment.moa.util.XPathUtils;
import at.gv.util.xsd.xmldsig.SignatureType;
import at.gv.util.xsd.xmldsig.X509DataType;
import eu.stork.oasisdss.api.ApiUtils;
@@ -98,6 +106,7 @@ import javax.xml.ws.BindingProvider;
/**
* Endpoint for receiving STORK response messages
+ * @deprecated Use {@link at.gv.egovernment.moa.id.auth.modules.stork.tasks.PepsConnectorTask} instead.
*/
public class PEPSConnectorServlet extends AuthServlet {
@@ -149,6 +158,8 @@ public class PEPSConnectorServlet extends AuthServlet {
try {
+ Logger.warn(getClass().getName() + " is deprecated and should not be used any more.");
+
Logger.info("PEPSConnector Servlet invoked, expecting C-PEPS message.");
Logger.debug("This ACS endpoint is: " + HTTPUtils.getBaseURL(request));
@@ -192,6 +203,15 @@ public class PEPSConnectorServlet extends AuthServlet {
Logger.debug("STORK response: ");
Logger.debug(authnResponse.toString());
+ // do PEPS-conform logging for easier evaluation
+ try {
+ // 2015-03-12 16:44:27.144#S-PEPS receives response from C-PEPS#orig_msg_id id2 (in response to)#orig_msg_id id1 (in response to)#status#msghash#msg_id id3#
+ Logger.info(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()) + "#S-PEPS receives response from C-PEPS#" +
+ authnResponse.getInResponseTo() + "#NA#" + authnResponse.getMessage() + "#_hash_#" + authnResponse.getSamlId() + "#");
+ } catch (Exception e1) {
+ Logger.info("STORK PEPS conform logging failed because of: " + e1.getMessage());
+ }
+
Logger.debug("Trying to find MOA Session-ID ...");
//String moaSessionID = request.getParameter(PARAM_SESSIONID);
//first use SAML2 relayState
@@ -434,14 +454,61 @@ public class PEPSConnectorServlet extends AuthServlet {
targetType = AuthenticationSession.TARGET_PREFIX_ + oaParam.getTarget();
}
- Logger.debug("Starting connecting SZR Gateway");
- //contact SZR Gateway
IdentityLink identityLink = null;
try {
- identityLink = STORKResponseProcessor.connectToSZRGateway(authnResponse.getPersonalAttributeList(),
+ AuthConfigurationProvider config = AuthConfigurationProvider.getInstance();
+ if(config.isStorkFakeIdLActive() && config.getStorkFakeIdLCountries().contains(storkAuthnRequest.getCitizenCountryCode())) {
+ // create fake IdL
+ // - fetch IdL template from resources
+ InputStream s = PEPSConnectorServlet.class.getResourceAsStream("/resources/xmldata/fakeIdL_IdL_template.xml");
+ Element idlTemplate = DOMUtils.parseXmlValidating(s);
+
+ identityLink = new IdentityLinkAssertionParser(idlTemplate).parseIdentityLink();
+
+ // replace data
+ Element idlassertion = identityLink.getSamlAssertion();
+ // - set bpk/wpbk;
+ Node prIdentification = XPathUtils.selectSingleNode(idlassertion, IdentityLinkAssertionParser.PERSON_IDENT_VALUE_XPATH);
+ if(!STORKResponseProcessor.hasAttribute("eIdentifier", attributeList))
+ throw new STORKException("eIdentifier is missing");
+ String eIdentifier = STORKResponseProcessor.getAttributeValue("eIdentifier", attributeList, false);
+ prIdentification.getFirstChild().setNodeValue(eIdentifier);
+
+ // - set last name
+ Node prFamilyName = XPathUtils.selectSingleNode(idlassertion, IdentityLinkAssertionParser.PERSON_FAMILY_NAME_XPATH);
+ if(!STORKResponseProcessor.hasAttribute("surname", attributeList))
+ throw new STORKException("surname is missing");
+ String familyName = STORKResponseProcessor.getAttributeValue("surname", attributeList, false);
+ prFamilyName.getFirstChild().setNodeValue(familyName);
+
+ // - set first name
+ Node prGivenName = XPathUtils.selectSingleNode(idlassertion, IdentityLinkAssertionParser.PERSON_GIVEN_NAME_XPATH);
+ if(!STORKResponseProcessor.hasAttribute("givenName", attributeList))
+ throw new STORKException("givenName is missing");
+ String givenName = STORKResponseProcessor.getAttributeValue("givenName", attributeList, false);
+ prGivenName.getFirstChild().setNodeValue(givenName);
+
+ // - set date of birth
+ Node prDateOfBirth = XPathUtils.selectSingleNode(idlassertion, IdentityLinkAssertionParser.PERSON_DATE_OF_BIRTH_XPATH);
+ if(!STORKResponseProcessor.hasAttribute("dateOfBirth", attributeList))
+ throw new STORKException("dateOfBirth is missing");
+ String dateOfBirth = STORKResponseProcessor.getAttributeValue("dateOfBirth", attributeList, false);
+ prDateOfBirth.getFirstChild().setNodeValue(dateOfBirth);
+
+ identityLink = new IdentityLinkAssertionParser(idlassertion).parseIdentityLink();
+
+ //resign IDL
+ IdentityLinkReSigner identitylinkresigner = IdentityLinkReSigner.getInstance();
+ Element resignedilAssertion = identitylinkresigner.resignIdentityLink(identityLink.getSamlAssertion(), config.getStorkFakeIdLResigningKey());
+ identityLink = new IdentityLinkAssertionParser(resignedilAssertion).parseIdentityLink();
+ } else {
+ //contact SZR Gateway
+ Logger.debug("Starting connecting SZR Gateway");
+ identityLink = STORKResponseProcessor.connectToSZRGateway(authnResponse.getPersonalAttributeList(),
oaParam.getFriendlyName(),
targetType, null,
oaParam.getMandateProfiles(), citizenSignature);
+ }
} catch (STORKException e) {
// this is really nasty but we work against the system here. We are supposed to get the gender attribute from
// stork. If we do not, we cannot register the person in the ERnP - we have to have the
@@ -498,6 +565,15 @@ public class PEPSConnectorServlet extends AuthServlet {
// stork did the authentication step
moaSession.setAuthenticated(true);
+ // do PEPS-conform logging for easier evaluation
+ try {
+ // 2015-03-12 16:44:27.144#S-PEPS generates response to SP#orig_msg_id id1 (in response to)#status#msghash#msg_id id4#
+ Logger.info(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()) + "#S-PEPS generates response to SP#" +
+ "#NA#" + authnResponse.getMessage() + "#_hash_#" + moaSession.getProcessInstanceId() + "#");
+ } catch (Exception e1) {
+ Logger.info("STORK PEPS conform logging failed because of: " + e1.getMessage());
+ }
+
// //TODO: found better solution, but QAA Level in response could be not supported yet
// try {
//
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorWithLocalSigningServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorWithLocalSigningServlet.java
index 3bc79f8bd..337a9ed31 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorWithLocalSigningServlet.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorWithLocalSigningServlet.java
@@ -109,6 +109,7 @@ import eu.stork.peps.exceptions.STORKSAMLEngineException;
/**
* Endpoint for receiving STORK response messages
+ * @deprecated Use {@link at.gv.egovernment.moa.id.auth.modules.stork.tasks.PepsConnectorHandleResponseWithoutSignatureTask} instead.
*/
public class PEPSConnectorWithLocalSigningServlet extends AuthServlet {
private static final long serialVersionUID = 1L;
@@ -131,6 +132,8 @@ public class PEPSConnectorWithLocalSigningServlet extends AuthServlet {
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
+ Logger.warn(getClass().getName() + " is deprecated and should not be used any more.");
+
String moaSessionID1 = request.getParameter("moaSessionID");
String signResponse = request.getParameter("signresponse");
Logger.info("moaSessionID1:"+moaSessionID1);
@@ -473,6 +476,7 @@ public class PEPSConnectorWithLocalSigningServlet extends AuthServlet {
Logger.info("Found AttributeProviderPlugin attribute:"+ap.getAttributes());
if(ap.getAttributes().equalsIgnoreCase("signedDoc"))
{
+ // FIXME[tlenz]: A servlet's class field is not thread safe.
oasisDssWebFormURL = ap.getUrl();
found = true;
Logger.info("Loaded signedDoc attribute provider url from config:"+oasisDssWebFormURL);
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/ProcessEngineSignalServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/ProcessEngineSignalServlet.java
new file mode 100644
index 000000000..43b6c03d4
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/ProcessEngineSignalServlet.java
@@ -0,0 +1,101 @@
+package at.gv.egovernment.moa.id.auth.servlet;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringEscapeUtils;
+
+import at.gv.egovernment.moa.id.auth.AuthenticationServer;
+import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.commons.db.MOASessionDBUtils;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
+import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
+
+/**
+ * Servlet that resumes a suspended process (in case of asynchronous tasks).
+ *
+ * @author tknall
+ *
+ */
+public class ProcessEngineSignalServlet extends AuthServlet {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Sets response headers that prevent caching (code taken from {@link AuthServlet}).
+ *
+ * @param resp
+ * The HttpServletResponse.
+ */
+ private void setNoCachingHeaders(HttpServletResponse resp) {
+ resp.setHeader(HEADER_EXPIRES, HEADER_VALUE_EXPIRES);
+ resp.setHeader(HEADER_PRAGMA, HEADER_VALUE_PRAGMA);
+ resp.setHeader(HEADER_CACHE_CONTROL, HEADER_VALUE_CACHE_CONTROL);
+ resp.addHeader(HEADER_CACHE_CONTROL, HEADER_VALUE_CACHE_CONTROL_IE);
+ }
+
+ /**
+ * Processes a GET request, delegating the call to {@link #doPost(HttpServletRequest, HttpServletResponse)}.
+ */
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ this.doPost(req, resp);
+ }
+
+ /**
+ * Resumes the current process instance that has been suspended due to an asynchronous task. The process instance is
+ * retrieved from the MOA session referred to by the request parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_SESSIONID PARAM_SESSIONID}.
+ */
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ String sessionID = StringEscapeUtils.escapeHtml(getMoaSessionId(req));
+
+ setNoCachingHeaders(resp);
+ String pendingRequestID = null;
+ try {
+
+ if (sessionID == null) {
+ throw new IllegalStateException("Unable to determine MOA session id.");
+ }
+
+ // retrieve moa session
+ pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(sessionID);
+ AuthenticationSession session = AuthenticationServer.getSession(sessionID);
+
+ // process instance is mandatory
+ if (session.getProcessInstanceId() == null) {
+ throw new IllegalStateException("MOA session does not provide process instance id.");
+ }
+
+ // wake up next task
+ getProcessEngine().signal(session.getProcessInstanceId());
+
+ } catch (Exception ex) {
+ handleError(null, ex, req, resp, pendingRequestID);
+ } finally {
+ MOASessionDBUtils.closeSession();
+ }
+
+ }
+
+ /**
+ * Retrieves the current MOA session id from the HttpServletRequest parameter
+ * {@link MOAIDAuthConstants#PARAM_SESSIONID}.
+ * <p/>
+ * Note that this class/method can be overwritten by modules providing their own strategy of retrieving the
+ * respective MOA session id.
+ *
+ * @param request
+ * The unterlying HttpServletRequest.
+ * @return The current MOA session id.
+ */
+ public String getMoaSessionId(HttpServletRequest request) {
+ return StringEscapeUtils.escapeHtml(request.getParameter(PARAM_SESSIONID));
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java
index e7fa9cbd7..a8fe71485 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java
@@ -71,6 +71,7 @@ import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
import at.gv.egovernment.moa.id.auth.exception.MISSimpleClientException;
import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.internal.tasks.VerifyAuthenticationBlockTask;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
import at.gv.egovernment.moa.id.config.ConnectionParameter;
@@ -92,6 +93,7 @@ import at.gv.egovernment.moa.util.DOMUtils;
*
* @author Paul Ivancsics
* @version $Id$
+ * @deprecated Use {@link VerifyAuthenticationBlockTask} instead.
*/
public class VerifyAuthenticationBlockServlet extends AuthServlet {
@@ -153,6 +155,8 @@ public class VerifyAuthenticationBlockServlet extends AuthServlet {
Logger.debug("POST VerifyAuthenticationBlock");
+ Logger.warn(getClass().getName() + " is deprecated and should not be used any more.");
+
resp.setHeader(MOAIDAuthConstants.HEADER_EXPIRES,MOAIDAuthConstants.HEADER_VALUE_EXPIRES);
resp.setHeader(MOAIDAuthConstants.HEADER_PRAGMA,MOAIDAuthConstants.HEADER_VALUE_PRAGMA);
resp.setHeader(MOAIDAuthConstants.HEADER_CACHE_CONTROL,MOAIDAuthConstants.HEADER_VALUE_CACHE_CONTROL);
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyCertificateServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyCertificateServlet.java
index a3397f561..2aa717a65 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyCertificateServlet.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyCertificateServlet.java
@@ -65,6 +65,7 @@ import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.internal.tasks.VerifyCertificateTask;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
@@ -77,6 +78,7 @@ import at.gv.egovernment.moa.spss.util.CertificateUtils;
* Servlet requested for getting the foreign eID
* provided by the security layer implementation.
* Utilizes the {@link AuthenticationServer}.
+ * @deprecated Use {@link VerifyCertificateTask} instead.
*
*/
public class VerifyCertificateServlet extends AuthServlet {
@@ -126,6 +128,8 @@ public class VerifyCertificateServlet extends AuthServlet {
Logger.debug("POST VerifyCertificateServlet");
+ Logger.warn(getClass().getName() + " is deprecated and should not be used any more.");
+
resp.setHeader(MOAIDAuthConstants.HEADER_EXPIRES,MOAIDAuthConstants.HEADER_VALUE_EXPIRES);
resp.setHeader(MOAIDAuthConstants.HEADER_PRAGMA,MOAIDAuthConstants.HEADER_VALUE_PRAGMA);
resp.setHeader(MOAIDAuthConstants.HEADER_CACHE_CONTROL,MOAIDAuthConstants.HEADER_VALUE_CACHE_CONTROL);
@@ -180,7 +184,8 @@ public class VerifyCertificateServlet extends AuthServlet {
throw new MOAIDException("session store error", null);
}
- ServletUtils.writeCreateXMLSignatureRequestOrRedirect(resp, session, createXMLSignatureRequestOrRedirect, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyCertificate");
+ ServletUtils.writeCreateXMLSignatureRequestOrRedirect(resp, session, createXMLSignatureRequestOrRedirect, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyCertificate");
+
}
else {
@@ -208,8 +213,7 @@ public class VerifyCertificateServlet extends AuthServlet {
throw new MOAIDException("session store error", null);
}
- ServletUtils.writeCreateXMLSignatureRequest(resp, session, createXMLSignatureRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "GetForeignID", dataurl);
-
+ ServletUtils.writeCreateXMLSignatureRequest(resp, createXMLSignatureRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "GetForeignID", dataurl);
Logger.debug("Send CreateXMLSignatureRequest to BKU");
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java
index 3b503f07b..b8e57ed43 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java
@@ -53,7 +53,6 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.lang.StringEscapeUtils;
import at.gv.egovernment.moa.id.auth.AuthenticationServer;
@@ -65,8 +64,8 @@ import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
import at.gv.egovernment.moa.id.auth.exception.ParseException;
import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.internal.tasks.VerifyIdentityLinkTask;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
-import at.gv.egovernment.moa.id.commons.db.MOASessionDBUtils;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
@@ -82,6 +81,7 @@ import at.gv.egovernment.moa.logging.Logger;
*
* @author Paul Ivancsics
* @version $Id$
+ * @deprecated Use {@link VerifyIdentityLinkTask} instead.
*/
public class VerifyIdentityLinkServlet extends AuthServlet {
@@ -135,6 +135,8 @@ public class VerifyIdentityLinkServlet extends AuthServlet {
throws ServletException, IOException {
Logger.debug("POST VerifyIdentityLink");
+
+ Logger.warn(getClass().getName() + " is deprecated and should not be used any more.");
Map<String, String> parameters;
String pendingRequestID = null;
@@ -201,7 +203,7 @@ public class VerifyIdentityLinkServlet extends AuthServlet {
session.getSessionID());
- ServletUtils.writeCreateXMLSignatureRequest(resp, session, infoboxReadRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl);
+ ServletUtils.writeCreateXMLSignatureRequest(resp, infoboxReadRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl);
}
@@ -231,7 +233,7 @@ public class VerifyIdentityLinkServlet extends AuthServlet {
//ServletUtils.writeCreateXMLSignatureRequestURLEncoded(resp, session, infoboxReadRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl);
Logger.debug("ContentType set to: text/xml;charset=UTF-8 (ServletUtils)");
- ServletUtils.writeCreateXMLSignatureRequest(resp, session, infoboxReadRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl);
+ ServletUtils.writeCreateXMLSignatureRequest(resp, infoboxReadRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl);
}
else {
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKResponseProcessor.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKResponseProcessor.java
index 7113dcf70..3809ec4bc 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKResponseProcessor.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKResponseProcessor.java
@@ -39,6 +39,7 @@ import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.stream.StreamSource;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
import at.gv.egovernment.moa.id.auth.AuthenticationServer;
import at.gv.egovernment.moa.id.auth.data.ExtendedSAMLAttribute;
@@ -102,7 +103,7 @@ public class STORKResponseProcessor {
private static String getAttributeValue(String attributeName, IPersonalAttributeList attributeList) throws STORKException {
return getAttributeValue(attributeName, attributeList, true);
}
- private static String getAttributeValue(String attributeName, IPersonalAttributeList attributeList, boolean throwException) throws STORKException {
+ public static String getAttributeValue(String attributeName, IPersonalAttributeList attributeList, boolean throwException) throws STORKException {
try {
String result = attributeList.get(attributeName).getValue().get(0);
Logger.trace(attributeName + " : " + result);
@@ -286,6 +287,12 @@ public class STORKResponseProcessor {
Object attributeValue = attribute.getValue();
if (null == attributeValue)
attributeValue = attribute.getComplexValue();
+
+ // escape attributeValue
+ attributeValue = StringEscapeUtils.escapeXml10(attributeValue.toString());
+ // and remove trailing and tailing brackets. Might break something but we never saw an array with more than one entry!
+ attributeValue = ((String) attributeValue).substring(1, ((String) attributeValue).length() - 1);
+
ExtendedSAMLAttribute extendedSAMLAttribute =
new ExtendedSAMLAttributeImpl(attribute.getName(), attributeValue, Constants.STORK_NS_URI, 0);
moaExtendedSAMLAttributeList.add(extendedSAMLAttribute);
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java
index e1cd59c26..61b26b59a 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java
@@ -65,6 +65,7 @@ import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
import at.gv.egovernment.moa.id.auth.validator.parep.ParepUtils;
+import at.gv.egovernment.moa.id.commons.utils.HttpClientWithProxySupport;
import at.gv.egovernment.moa.util.Constants;
import at.gv.egovernment.moa.util.DOMUtils;
@@ -137,7 +138,7 @@ public class SZRGWClient {
if (address == null) {
throw new NullPointerException("Address (SZR-gateway ServiceURL) must not be null.");
}
- HttpClient client = new HttpClient();
+ HttpClient client = HttpClientWithProxySupport.getHttpClient();
PostMethod method = new PostMethod(address);
method.setRequestHeader("SOAPAction", "");
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProvider.java
index 88ed7885f..24def1e02 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProvider.java
@@ -124,7 +124,7 @@ public class ConfigurationProvider {
protected String certstoreDirectory;
- protected boolean trustmanagerrevoationchecking;
+ protected boolean trustmanagerrevoationchecking = true;
/**
* Returns the main configuration file directory used to configure MOA-ID
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigLoader.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigLoader.java
index b02c0946c..828bf99ca 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigLoader.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigLoader.java
@@ -40,7 +40,7 @@ public class AuthConfigLoader implements Runnable {
try {
Thread.sleep(INTERVAL * 1000);
- Logger.info("check for new config.");
+ Logger.trace("check for new config.");
MOAIDConfiguration moaidconfig = ConfigurationDBRead.getMOAIDConfiguration();
if (moaidconfig != null) {
@@ -77,7 +77,7 @@ public class AuthConfigLoader implements Runnable {
public static void start() {
// start the session cleanup thread
- Thread configLoader = new Thread(new AuthConfigLoader());
+ Thread configLoader = new Thread(new AuthConfigLoader(), "AuthConfigLoader");
configLoader.setName("ConfigurationLoader");
configLoader.setDaemon(true);
configLoader.setPriority(Thread.MIN_PRIORITY);
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java
index 89d02c183..6a2f2db44 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java
@@ -53,6 +53,7 @@ import java.io.IOException;
import java.math.BigInteger;
import java.net.MalformedURLException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -110,10 +111,10 @@ import at.gv.egovernment.moa.id.config.auth.data.ProtocolAllowed;
import at.gv.egovernment.moa.id.config.legacy.BuildFromLegacyConfig;
import at.gv.egovernment.moa.id.config.stork.STORKConfig;
import at.gv.egovernment.moa.id.data.IssuerAndSerial;
+import at.gv.egovernment.moa.id.process.dao.ProcessInstanceStore;
import at.gv.egovernment.moa.id.protocols.pvp2x.config.MOADefaultBootstrap;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.MiscUtil;
-import at.gv.util.config.EgovUtilConfiguration;
import at.gv.util.config.EgovUtilPropertiesConfiguration;
/**
@@ -344,6 +345,7 @@ public class AuthConfigurationProvider extends ConfigurationProvider {
config.addAnnotatedClass(OldSSOSessionIDStore.class);
config.addAnnotatedClass(ExceptionStore.class);
config.addAnnotatedClass(InterfederationSessionStore.class);
+ config.addAnnotatedClass(ProcessInstanceStore.class);
config.addProperties(moaSessionProp);
MOASessionDBUtils.initHibernate(config, moaSessionProp);
@@ -1007,6 +1009,49 @@ public class AuthConfigurationProvider extends ConfigurationProvider {
return null;
}
+ /**
+ * Checks if is fakeIdL is activated.
+ *
+ * @return true, if fake IdLs are available for stork
+ */
+ public boolean isStorkFakeIdLActive() {
+ String prop = props.getProperty("stork.fakeIdL.active", "false");
+ return Boolean.valueOf(prop);
+ }
+
+ /**
+ * Gets the countries which will receive a fake IdL
+ *
+ * @return the countries
+ */
+ public List<String> getStorkFakeIdLCountries() {
+ String prop = props.getProperty("stork.fakeIdL.countries", "");
+ return Arrays.asList(prop.replaceAll(" ", "").split(","));
+ }
+
+ /**
+ * Gets the resigning key (group) for the stork fake IdL.
+ *
+ * @return the resigning key
+ */
+ public String getStorkFakeIdLResigningKey() {
+ String prop = props.getProperty("stork.fakeIdL.keygroup");
+ if (MiscUtil.isNotEmpty(prop))
+ return prop;
+ else
+ return null;
+ }
+
+ /**
+ * Gets the countries for which it is configured to require no signature
+ *
+ * @return the stork no signature countries
+ */
+ public List<String> getStorkNoSignatureCountries() {
+ String prop = props.getProperty("stork.fakeIdL.noSignatureCountries", "");
+ return Arrays.asList(prop.replaceAll(" ", "").split(","));
+ }
+
public boolean isMonitoringActive() {
String prop = props.getProperty("configuration.monitoring.active", "false");
return Boolean.valueOf(prop);
@@ -1027,7 +1072,14 @@ public class AuthConfigurationProvider extends ConfigurationProvider {
else
return null;
}
-
+
+ // allow http to be used in call, used in systems proxied on the same instance
+ public boolean isHTTPAuthAllowed() {
+ String prop = props.getProperty("configuration.localhttpallowed.active", "false");
+ return Boolean.valueOf(prop);
+ }
+
+
public boolean isAdvancedLoggingActive() {
String prop = props.getProperty("configuration.advancedlogging.active", "false");
return Boolean.valueOf(prop);
@@ -1047,12 +1099,19 @@ public class AuthConfigurationProvider extends ConfigurationProvider {
return !Boolean.valueOf(prop);
}
+
//Load document service url from moa properties
public String getDocumentServiceUrl() {
String prop = props.getProperty("stork.documentservice.url", "false");
return prop;
}
+
+ public boolean isPVPSchemaValidationActive() {
+ String prop = props.getProperty("protocols.pvp2.schemavalidation", "true");
+ return Boolean.valueOf(prop);
+ }
+
/**
* Returns the STORK Configuration
* @return STORK Configuration
@@ -1084,10 +1143,11 @@ private void setCertStoreDirectory() throws ConfigurationException {
private void setTrustManagerRevocationChecking() throws ConfigurationException {
AuthComponentGeneral auth = getAuthComponentGeneral();
- if (auth.getGeneralConfiguration() != null)
+ if (auth.getGeneralConfiguration() != null &&
+ auth.getGeneralConfiguration().isTrustManagerRevocationChecking() != null)
trustmanagerrevoationchecking = auth.getGeneralConfiguration().isTrustManagerRevocationChecking();
else {
- Logger.warn("Error in MOA-ID Configuration. No CertStoreDirectory defined.");
+ Logger.warn("No TrustMangerRevoationChecking defined. Use default value = TRUE");
throw new ConfigurationException("config.02", null);
}
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java
index 90b72b72b..933dddb31 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java
@@ -46,6 +46,7 @@
package at.gv.egovernment.moa.id.config.auth;
+import java.io.IOException;
import java.security.PrivateKey;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/data/BPKDecryptionParameters.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/data/BPKDecryptionParameters.java
index 787a480f0..b7d5ebed5 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/data/BPKDecryptionParameters.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/data/BPKDecryptionParameters.java
@@ -55,10 +55,12 @@ public class BPKDecryptionParameters implements Serializable{
/**
* @return
+ * @throws IOException
*/
- public PrivateKey getPrivateKey() {
+ public PrivateKey getPrivateKey() {
+ InputStream in = null;
try {
- InputStream in = new ByteArrayInputStream(keyStore);
+ in = new ByteArrayInputStream(keyStore);
KeyStore store = KeyStoreUtils.loadKeyStore(in , keyStorePassword);
char[] chPassword = " ".toCharArray();
@@ -83,6 +85,14 @@ public class BPKDecryptionParameters implements Serializable{
} catch (NoSuchAlgorithmException e) {
Logger.error("Can not load private key from keystore.", e);
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException e) {
+ Logger.warn("Close InputStream failed." , e);
+ }
+ }
}
return null;
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java
index 9067d8fc4..3d4b53f7c 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java
@@ -151,6 +151,8 @@ public class BuildFromLegacyConfig {
if (genericConfiguration.containsKey(ConfigurationProvider.TRUST_MANAGER_REVOCATION_CHECKING))
authGeneral.setTrustManagerRevocationChecking(
Boolean.valueOf((String)genericConfiguration.get(ConfigurationProvider.TRUST_MANAGER_REVOCATION_CHECKING)));
+ else
+ authGeneral.setTrustManagerRevocationChecking(true);
if (genericConfiguration.containsKey(ConfigurationProvider.DIRECTORY_CERTSTORE_PARAMETER_PROPERTY))
authGeneral.setCertStoreDirectory(
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationData.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationData.java
index 65c413ef9..05b008515 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationData.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationData.java
@@ -133,7 +133,9 @@ public class AuthenticationData implements IAuthData, Serializable {
private String authBlock = null;
private List<String> encbPKList = null;
+ //ISA 1.18 attributes
private List<AuthenticationRole> roles = null;
+ private String pvpAttribute_OU = null;
private boolean useMandate = false;
private MISMandate mandate = null;
@@ -707,6 +709,7 @@ public class AuthenticationData implements IAuthData, Serializable {
return roles;
}
+ //ISA 1.18 attributes
/**
* @param roles the roles to set
*/
@@ -716,26 +719,31 @@ public class AuthenticationData implements IAuthData, Serializable {
this.roles.add(role);
}
+
+ /**
+ * @return the pvpAttribute_OU
+ */
+ public String getPvpAttribute_OU() {
+ return pvpAttribute_OU;
+ }
+
+ /**
+ * @param pvpAttribute_OU the pvpAttribute_OU to set
+ */
+ public void setPvpAttribute_OU(String pvpAttribute_OU) {
+ this.pvpAttribute_OU = pvpAttribute_OU;
+ }
/* (non-Javadoc)
* @see at.gv.egovernment.moa.id.data.IAuthData#isBusinessService()
*/
@Override
public boolean isBusinessService() {
- // TODO Auto-generated method stub
return this.businessService;
}
public void setIsBusinessService(boolean flag) {
this.businessService = flag;
- }
-
-
-
-
-
-
-
-
+ }
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationRoleFactory.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationRoleFactory.java
index 8915b2442..b3b29f6c5 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationRoleFactory.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationRoleFactory.java
@@ -26,6 +26,7 @@ import java.util.Arrays;
import java.util.List;
import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.MiscUtil;
/**
* @author tlenz
@@ -51,23 +52,29 @@ public class AuthenticationRoleFactory {
List<String> param = Arrays.asList(params.split(","));
String test = new String();
for (String el : param) {
- test = test.concat(el);
- if (!test.endsWith("\\") ||
- (test.endsWith("\\\\") && !test.endsWith("\\\\\\")) ) {
- String[] keyValue = test.split("=");
- if (keyValue.length < 2) {
- role.addParameter(keyValue[0].trim(), "");
- Logger.debug("Add authentication roleparameter with key=" + keyValue[0].trim());
+ if (MiscUtil.isNotEmpty(el)) {
+ test = test.concat(el);
+ if (!test.endsWith("\\") ||
+ (test.endsWith("\\\\") && !test.endsWith("\\\\\\")) ) {
+ String[] keyValue = test.split("=");
+ if (keyValue.length < 2) {
+ role.addParameter(keyValue[0].trim(), "");
+ Logger.debug("Add authentication roleparameter with key=" + keyValue[0].trim());
- } else {
- role.addParameter(keyValue[0].trim(), keyValue[1].trim());
- Logger.debug("Add authentication roleparameter with key=" + keyValue[0].trim()
- + " value=" + keyValue[1].trim());
+ } else {
+ role.addParameter(keyValue[0].trim(), keyValue[1].trim());
+ Logger.debug("Add authentication roleparameter with key=" + keyValue[0].trim()
+ + " value=" + keyValue[1].trim());
- }
+ }
- test = new String();
- }
+ test = new String();
+
+ } else {
+ test = test.substring(0, test.length()-1).concat(",");
+
+ }
+ }
}
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/IAuthData.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/IAuthData.java
index ebbf62ce7..ccc90a031 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/IAuthData.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/IAuthData.java
@@ -69,7 +69,9 @@ public interface IAuthData {
IdentityLink getIdentityLink();
byte[] getSignerCertificate();
String getAuthBlock();
-
+
+ //ISA 1.18 attributes
+ String getPvpAttribute_OU();
List<AuthenticationRole> getAuthenticationRoles();
boolean isPublicAuthority();
@@ -90,5 +92,6 @@ public interface IAuthData {
String getCcc();
STORKAuthnRequest getStorkAuthnRequest();
String getStorkAuthnResponse();
- IPersonalAttributeList getStorkAttributes();
+ IPersonalAttributeList getStorkAttributes();
+
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java
index 03cb6c1c4..e3b7524ae 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java
@@ -23,7 +23,6 @@
package at.gv.egovernment.moa.id.entrypoints;
import java.io.IOException;
-
import java.util.Iterator;
import javax.servlet.ServletConfig;
@@ -97,10 +96,13 @@ public class DispatcherServlet extends AuthServlet{
boolean useSSOOA = false;
String protocolRequestID = null;
-
try {
Logger.info("REQUEST: " + req.getRequestURI());
Logger.info("QUERY : " + req.getQueryString());
+
+
+// *** start of error handling ***
+
String errorid = req.getParameter(ERROR_CODE_PARAM);
if (errorid != null) {
@@ -117,7 +119,7 @@ public class DispatcherServlet extends AuthServlet{
pendingRequestID = (String) idObject;
}
- if (throwable != null) {
+ if (throwable != null) {
IRequest errorRequest = null;
if (pendingRequestID != null) {
@@ -173,6 +175,11 @@ public class DispatcherServlet extends AuthServlet{
return;
}
+// *** end of error handling ***
+
+
+// *** start of protocol specific stuff ***
+
Object moduleObject = req.getParameter(PARAM_TARGET_MODULE);
String module = null;
if (moduleObject != null && (moduleObject instanceof String)) {
@@ -272,7 +279,7 @@ public class DispatcherServlet extends AuthServlet{
//create interfederated MOASession
String sessionID =
AuthenticationSessionStoreage.createInterfederatedSession(protocolRequest, true, ssoId);
- req.getParameterMap().put(PARAM_SESSIONID, sessionID);
+ req.getParameterMap().put(PARAM_SESSIONID, new String[]{ sessionID });
Logger.info("PreProcessing of SSO interfederation response complete. ");
@@ -357,7 +364,11 @@ public class DispatcherServlet extends AuthServlet{
}
}
-
+
+// *** end of protocol specific stuff ***
+
+// *** start handling authentication ***
+
AuthenticationManager authmanager = AuthenticationManager.getInstance();
String moasessionID = null;
@@ -473,7 +484,11 @@ public class DispatcherServlet extends AuthServlet{
//build authenticationdata from session information and OA configuration
authData = AuthenticationDataBuilder.buildAuthenticationData(protocolRequest, moasession);
}
-
+
+// *** end handling authentication ***
+
+// *** start finalizing authentication (SSO, final redirects, statistic logging etc) ***
+
SLOInformationInterface assertionID = moduleAction.processRequest(protocolRequest, req, resp, authData);
RequestStorage.removePendingRequest(protocolRequestID);
@@ -506,6 +521,8 @@ public class DispatcherServlet extends AuthServlet{
}
+// *** end finalizing authentication ***
+
} catch (Throwable e) {
Logger.warn("An authentication error occured: ", e);;
// Try handle module specific, if not possible rethrow
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java
index a4d63b144..49f3df25c 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java
@@ -59,17 +59,17 @@ import org.opensaml.ws.message.encoder.MessageEncodingException;
import org.opensaml.ws.soap.common.SOAPException;
import org.opensaml.xml.XMLObject;
import org.opensaml.xml.security.SecurityException;
+import org.springframework.beans.factory.annotation.Autowired;
import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants;
import at.gv.egovernment.moa.id.auth.builder.LoginFormBuilder;
import at.gv.egovernment.moa.id.auth.builder.SendAssertionFormBuilder;
-import at.gv.egovernment.moa.id.auth.builder.StartAuthenticationBuilder;
import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
import at.gv.egovernment.moa.id.auth.exception.BuildException;
import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.modules.registration.ModuleRegistration;
import at.gv.egovernment.moa.id.auth.parser.StartAuthentificationParameterParser;
-import at.gv.egovernment.moa.id.auth.servlet.AuthServlet;
import at.gv.egovernment.moa.id.commons.db.dao.session.InterfederationSessionStore;
import at.gv.egovernment.moa.id.commons.db.dao.session.OASessionStore;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
@@ -77,6 +77,12 @@ import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
import at.gv.egovernment.moa.id.data.SLOInformationContainer;
import at.gv.egovernment.moa.id.data.SLOInformationImpl;
+import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;
+
+import at.gv.egovernment.moa.id.process.ExecutionContextImpl;
+import at.gv.egovernment.moa.id.process.ProcessEngine;
+import at.gv.egovernment.moa.id.process.ProcessExecutionException;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
import at.gv.egovernment.moa.id.protocols.pvp2x.PVPTargetConfiguration;
import at.gv.egovernment.moa.id.protocols.pvp2x.binding.IEncoder;
import at.gv.egovernment.moa.id.protocols.pvp2x.binding.PostBinding;
@@ -87,32 +93,33 @@ import at.gv.egovernment.moa.id.protocols.pvp2x.messages.MOARequest;
import at.gv.egovernment.moa.id.protocols.pvp2x.metadata.MOAMetadataProvider;
import at.gv.egovernment.moa.id.protocols.pvp2x.utils.MOASAMLSOAPClient;
import at.gv.egovernment.moa.id.protocols.pvp2x.utils.SAML2Utils;
+import at.gv.egovernment.moa.id.protocols.stork2.MOASTORKRequest;
import at.gv.egovernment.moa.id.storage.AssertionStorage;
import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
import at.gv.egovernment.moa.id.util.MOAIDMessageProvider;
+import at.gv.egovernment.moa.id.util.PVPtoSTORKMapper;
import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
import at.gv.egovernment.moa.id.util.Random;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.MiscUtil;
-import at.gv.egovernment.moa.util.StringUtils;
-public class AuthenticationManager extends AuthServlet {
+public class AuthenticationManager implements MOAIDAuthConstants {
- private static AuthenticationManager instance = null;
-
- private static final long serialVersionUID = 1L;
+ private static final AuthenticationManager INSTANCE = new AuthenticationManager();
public static final String MOA_SESSION = "MoaAuthenticationSession";
public static final String MOA_AUTHENTICATED = "MoaAuthenticated";
public static final int SLOTIMEOUT = 30 * 1000; //30 sec
+ @Autowired
+ private ProcessEngine processEngine;
+
+ private AuthenticationManager() {
+ }
+
public static AuthenticationManager getInstance() {
- if (instance == null) {
- instance = new AuthenticationManager();
- }
-
- return instance;
+ return INSTANCE;
}
/**
@@ -320,7 +327,7 @@ public class AuthenticationManager extends AuthServlet {
try {
authSession = AuthenticationSessionStoreage
.getSession(moaSessionID);
-
+
if(authSession == null) {
Logger.info("NO MOA Authentication data for ID " + moaSessionID);
return;
@@ -381,6 +388,7 @@ public class AuthenticationManager extends AuthServlet {
//get IDP metadata
try {
OAAuthParameter idp = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(target.getRequestedIDP());
+ OAAuthParameter sp = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(target.getOAURL());
if (!idp.isInderfederationIDP() || !idp.isInboundSSOInterfederationAllowed()) {
Logger.info("Requested interfederation IDP " + target.getRequestedIDP() + " is not valid for interfederation.");
@@ -389,7 +397,7 @@ public class AuthenticationManager extends AuthServlet {
return;
}
-
+
EntityDescriptor idpEntity = MOAMetadataProvider.getInstance().
getEntityDescriptor(target.getRequestedIDP());
@@ -409,7 +417,7 @@ public class AuthenticationManager extends AuthServlet {
redirectEndpoint == null )
redirectEndpoint = sss;
}
-
+
if (redirectEndpoint != null) {
AuthnRequest authReq = SAML2Utils
@@ -422,16 +430,10 @@ public class AuthenticationManager extends AuthServlet {
authReq.setAssertionConsumerServiceIndex(0);
authReq.setIssueInstant(new DateTime());
- Subject subject = SAML2Utils.createSAMLObject(Subject.class);
- NameID name = SAML2Utils.createSAMLObject(NameID.class);
- Issuer issuer = SAML2Utils.createSAMLObject(Issuer.class);
-
+ Issuer issuer = SAML2Utils.createSAMLObject(Issuer.class);
String serviceURL = PVPConfiguration.getInstance().getIDPPublicPath();
- name.setValue(serviceURL);
issuer.setValue(serviceURL);
- subject.setNameID(name);
- authReq.setSubject(subject);
issuer.setFormat(NameIDType.ENTITY);
authReq.setIssuer(issuer);
NameIDPolicy policy = SAML2Utils
@@ -446,13 +448,55 @@ public class AuthenticationManager extends AuthServlet {
SAML2Utils.createSAMLObject(RequestedAuthnContext.class);
AuthnContextClassRef authnClassRef =
- SAML2Utils.createSAMLObject(AuthnContextClassRef.class);
- authnClassRef.setAuthnContextClassRef("http://www.stork.gov.eu/1.0/citizenQAALevel/4");
+ SAML2Utils.createSAMLObject(AuthnContextClassRef.class);
+
+ if (sp != null && sp.isSTORKPVPGateway()){
+ //use PVP SecClass instead of STORK QAA level
+ String secClass = null;
+ if (target instanceof MOASTORKRequest) {
+
+ try {
+ MOASTORKRequest storkReq = (MOASTORKRequest) target;
+ secClass = PVPtoSTORKMapper.getInstance().mapToSecClass(
+ PVPConstants.STORK_QAA_PREFIX + storkReq.getStorkAuthnRequest().getQaa());
+
+ } catch (Exception e) {
+ Logger.warn("STORK-QAA level can not read from STORK request. Use default QAA 4", e);
+
+ }
+ }
+
+ if (MiscUtil.isNotEmpty(secClass))
+ authnClassRef.setAuthnContextClassRef(secClass);
+ else
+ authnClassRef.setAuthnContextClassRef("http://www.ref.gv.at/ns/names/agiz/pvp/secclass/0-3");
+
+ } else {
+ if (target instanceof MOASTORKRequest) {
+ //use requested QAA level from STORK request
+ try {
+ MOASTORKRequest storkReq = (MOASTORKRequest) target;
+ authnClassRef.setAuthnContextClassRef(
+ PVPConstants.STORK_QAA_PREFIX + storkReq.getStorkAuthnRequest().getQaa());
+ Logger.debug("Use STORK-QAA level " + authnClassRef.getAuthnContextClassRef()
+ + " from STORK request");
+
+ } catch (Exception e) {
+ Logger.warn("STORK-QAA level can not read from STORK request. Use default QAA 4", e);
+
+ }
+
+ }
+
+ if (MiscUtil.isEmpty(authnClassRef.getAuthnContextClassRef()))
+ authnClassRef.setAuthnContextClassRef("http://www.stork.gov.eu/1.0/citizenQAALevel/4");
+
+ }
+
reqAuthContext.setComparison(AuthnContextComparisonTypeEnumeration.MINIMUM);
reqAuthContext.getAuthnContextClassRefs().add(authnClassRef);
authReq.setRequestedAuthnContext(reqAuthContext);
-
-
+
IEncoder binding = null;
if (redirectEndpoint.getBinding().equals(
SAMLConstants.SAML2_REDIRECT_BINDING_URI)) {
@@ -508,7 +552,10 @@ public class AuthenticationManager extends AuthServlet {
throws ServletException, IOException, MOAIDException {
Logger.debug("Starting authentication on this IDP ...");
- setNoCachingHeadersInHttpRespone(request, response);
+ response.setHeader(MOAIDAuthConstants.HEADER_EXPIRES, MOAIDAuthConstants.HEADER_VALUE_EXPIRES);
+ response.setHeader(MOAIDAuthConstants.HEADER_PRAGMA, MOAIDAuthConstants.HEADER_VALUE_PRAGMA);
+ response.setHeader(MOAIDAuthConstants.HEADER_CACHE_CONTROL, MOAIDAuthConstants.HEADER_VALUE_CACHE_CONTROL);
+ response.addHeader(MOAIDAuthConstants.HEADER_CACHE_CONTROL, MOAIDAuthConstants.HEADER_VALUE_CACHE_CONTROL_IE);
List<String> legacyallowed_prot = AuthConfigurationProvider.getInstance().getLegacyAllowedProtocols();
@@ -529,79 +576,95 @@ public class AuthenticationManager extends AuthServlet {
throw new MOAIDException("init.04", new Object[] {});
}
-
- if (legacyallowed && legacyparamavail) {
-
- //parse request parameter into MOASession
- StartAuthentificationParameterParser.parse(request, response, moasession, target);
-
- Logger.info("Start Authentication Module: " + moasession.getModul()
- + " Action: " + moasession.getAction());
-
- StartAuthenticationBuilder startauth = StartAuthenticationBuilder.getInstance();
-
- String getIdentityLinkForm = startauth.build(moasession, request, response);
-
- //store MOASession
- try {
- AuthenticationSessionStoreage.storeSession(moasession, target.getRequestID());
- } catch (MOADatabaseException e) {
- Logger.error("Database Error! MOASession is not stored!");
- throw new MOAIDException("init.04", new Object[] {
- moasession.getSessionID()});
- }
-
- if (!StringUtils.isEmpty(getIdentityLinkForm)) {
- response.setContentType("text/html;charset=UTF-8");
- PrintWriter out = new PrintWriter(response.getOutputStream());
- out.print(getIdentityLinkForm);
- out.flush();
- Logger.debug("Finished GET StartAuthentication");
- }
-
- } else {
- //load Parameters from OnlineApplicationConfiguration
- OAAuthParameter oaParam = AuthConfigurationProvider.getInstance()
- .getOnlineApplicationParameter(target.getOAURL());
+ try {
- if (oaParam == null) {
- throw new AuthenticationException("auth.00", new Object[] { target.getOAURL() });
- }
-
- else {
+ if (legacyallowed && legacyparamavail) {
- //check if an MOASession exists and if not create an new MOASession
- //moasession = getORCreateMOASession(request);
+ //parse request parameter into MOASession
+ StartAuthentificationParameterParser.parse(request, response, moasession, target);
+
+ Logger.info("Start Authentication Module: " + moasession.getModul()
+ + " Action: " + moasession.getAction());
+
+ // create execution context
+ ExecutionContext executionContext = new ExecutionContextImpl();
+ executionContext.put("ccc", moasession.getCcc());
+ executionContext.put("useMandate", moasession.getUseMandate());
+ executionContext.put("bkuURL", moasession.getBkuURL());
+ executionContext.put(PARAM_SESSIONID, moasession.getSessionID());
- //set OnlineApplication configuration in Session
- moasession.setOAURLRequested(target.getOAURL());
- moasession.setAction(target.requestedAction());
- moasession.setModul(target.requestedModule());
- }
-
- //Build authentication form
-
-
- String publicURLPreFix = AuthConfigurationProvider.getInstance().getPublicURLPrefix();
- String loginForm = LoginFormBuilder.buildLoginForm(target.requestedModule(),
- target.requestedAction(), oaParam, publicURLPreFix, moasession.getSessionID());
-
- //store MOASession
- try {
- AuthenticationSessionStoreage.storeSession(moasession, target.getRequestID());
- } catch (MOADatabaseException e) {
- Logger.error("Database Error! MOASession is not stored!");
- throw new MOAIDException("init.04", new Object[] {
- moasession.getSessionID()});
+ // create process instance
+ String processDefinitionId = ModuleRegistration.getInstance().selectProcess(executionContext);
+
+ if (processDefinitionId == null) {
+ Logger.warn("No suitable process found for SessionID " + moasession.getSessionID() );
+ throw new MOAIDException("process.02",new Object[] {
+ moasession.getSessionID()});
+ }
+
+ String processInstanceId = processEngine.createProcessInstance(processDefinitionId, executionContext);
+
+ // keep process instance id in moa session
+ moasession.setProcessInstanceId(processInstanceId);
+
+ // make sure moa session has been persisted before running the process
+ try {
+ AuthenticationSessionStoreage.storeSession(moasession);
+ } catch (MOADatabaseException e) {
+ Logger.error("Database Error! MOASession is not stored!");
+ throw new MOAIDException("init.04", new Object[] {
+ moasession.getSessionID()});
+ }
+
+ // start process
+ processEngine.start(processInstanceId);
+
+ } else {
+ //load Parameters from OnlineApplicationConfiguration
+ OAAuthParameter oaParam = AuthConfigurationProvider.getInstance()
+ .getOnlineApplicationParameter(target.getOAURL());
+
+ if (oaParam == null) {
+ throw new AuthenticationException("auth.00", new Object[] { target.getOAURL() });
+ }
+
+ else {
+
+ //check if an MOASession exists and if not create an new MOASession
+ //moasession = getORCreateMOASession(request);
+
+ //set OnlineApplication configuration in Session
+ moasession.setOAURLRequested(target.getOAURL());
+ moasession.setAction(target.requestedAction());
+ moasession.setModul(target.requestedModule());
+ }
+
+ //Build authentication form
+
+
+ String publicURLPreFix = AuthConfigurationProvider.getInstance().getPublicURLPrefix();
+ String loginForm = LoginFormBuilder.buildLoginForm(target.requestedModule(),
+ target.requestedAction(), oaParam, publicURLPreFix, moasession.getSessionID());
+
+ //store MOASession
+ try {
+ AuthenticationSessionStoreage.storeSession(moasession, target.getRequestID());
+ } catch (MOADatabaseException e) {
+ Logger.error("Database Error! MOASession is not stored!");
+ throw new MOAIDException("init.04", new Object[] {
+ moasession.getSessionID()});
+ }
+
+ //set MOAIDSession
+ //request.getSession().setAttribute(MOA_SESSION, moasession.getSessionID());
+
+ response.setContentType("text/html;charset=UTF-8");
+ PrintWriter out = new PrintWriter(response.getOutputStream());
+ out.print(loginForm);
+ out.flush();
}
-
- //set MOAIDSession
- //request.getSession().setAttribute(MOA_SESSION, moasession.getSessionID());
-
- response.setContentType("text/html;charset=UTF-8");
- PrintWriter out = new PrintWriter(response.getOutputStream());
- out.print(loginForm);
- out.flush();
+ } catch (ProcessExecutionException e) {
+ throw new MOAIDException("process.01", new Object[] { moasession.getProcessInstanceId(), moasession }, e);
}
}
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ExecutionContextImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ExecutionContextImpl.java
new file mode 100644
index 000000000..080990f71
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ExecutionContextImpl.java
@@ -0,0 +1,79 @@
+package at.gv.egovernment.moa.id.process;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+
+/**
+ * ExecutionContext implementation, related to a certain process instance.
+ *
+ * @author tknall
+ *
+ */
+public class ExecutionContextImpl implements ExecutionContext {
+
+ private static final long serialVersionUID = 1L;
+
+ private Map<String, Serializable> ctxData = Collections.synchronizedMap(new HashMap<String, Serializable>());
+
+ private String processInstanceId;
+
+ /**
+ * Creates a new instance.
+ */
+ public ExecutionContextImpl() {
+ }
+
+ /**
+ * Creates a new instance and associated it with a certain process instance.
+ */
+ public ExecutionContextImpl(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ @Override
+ public void setProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ @Override
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ @Override
+ public Serializable get(String key) {
+ return ctxData.get(key);
+ }
+
+ @Override
+ public Serializable remove(String key) {
+ return ctxData.remove(key);
+ }
+
+ @Override
+ public void put(String key, Serializable object) {
+ ctxData.put(key, object);
+ }
+
+ @Override
+ public Set<String> keySet() {
+ return Collections.unmodifiableSet(ctxData.keySet());
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("ExecutionContextImpl [");
+ builder.append("id=").append(processInstanceId);
+ builder.append(", variables=");
+ builder.append(ctxData.keySet());
+ builder.append("]");
+ return builder.toString();
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ExpressionEvaluationContextImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ExpressionEvaluationContextImpl.java
new file mode 100644
index 000000000..f0d1c861d
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ExpressionEvaluationContextImpl.java
@@ -0,0 +1,44 @@
+package at.gv.egovernment.moa.id.process;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.api.ExpressionEvaluationContext;
+
+/**
+ * Context implementation used for expression evaluation only.
+ *
+ * @author tknall
+ *
+ */
+public class ExpressionEvaluationContextImpl implements ExpressionEvaluationContext {
+
+ private static final long serialVersionUID = 1L;
+
+ private Map<String, Serializable> ctxData;
+
+ /**
+ * Creates a new instance and initializes it with data from a given process instance.
+ *
+ * @param processInstance
+ * The process instance.
+ */
+ ExpressionEvaluationContextImpl(ProcessInstance processInstance) {
+ ExecutionContext executionContext = processInstance.getExecutionContext();
+ Set<String> keys = executionContext.keySet();
+ ctxData = Collections.synchronizedMap(new HashMap<String, Serializable>(keys.size()));
+ for (String key : keys) {
+ ctxData.put(key, executionContext.get(key));
+ }
+ }
+
+ @Override
+ public Map<String, Serializable> getCtx() {
+ return Collections.unmodifiableMap(ctxData);
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessDefinitionParser.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessDefinitionParser.java
new file mode 100644
index 000000000..162ee624a
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessDefinitionParser.java
@@ -0,0 +1,224 @@
+package at.gv.egovernment.moa.id.process;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Objects;
+
+import javax.xml.XMLConstants;
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.events.Attribute;
+import javax.xml.stream.events.StartElement;
+import javax.xml.stream.events.XMLEvent;
+import javax.xml.stream.util.EventReaderDelegate;
+import javax.xml.transform.stax.StAXSource;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.SchemaFactory;
+import javax.xml.validation.Validator;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.xml.sax.SAXException;
+
+import at.gv.egovernment.moa.id.process.model.EndEvent;
+import at.gv.egovernment.moa.id.process.model.ProcessDefinition;
+import at.gv.egovernment.moa.id.process.model.ProcessNode;
+import at.gv.egovernment.moa.id.process.model.StartEvent;
+import at.gv.egovernment.moa.id.process.model.TaskInfo;
+import at.gv.egovernment.moa.id.process.model.Transition;
+
+/**
+ * Parses an XML representation of a process definition as defined by the respective XML schema.
+ * <p/
+ * The parser is thread-safe.
+ * @author tknall
+ *
+ */
+public class ProcessDefinitionParser {
+
+ private static final String NS = "http://reference.e-government.gv.at/namespace/moa/process/definition/v1";
+
+ private static Logger log = LoggerFactory.getLogger(ProcessDefinitionParser.class);
+
+ private static class LazyProcessDefinitionSchemaHolder {
+ private static final Schema PD_SCHEMA_INSTANCE;
+ static {
+ try (InputStream in = ProcessDefinitionParser.class.getResourceAsStream("ProcessDefinition.xsd")) {
+ log.trace("Compiling process definition schema.");
+ SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+ // schema is thread-safe
+ PD_SCHEMA_INSTANCE = factory.newSchema(new StreamSource(in));
+ } catch (Exception e) {
+ throw new RuntimeException("Unable to compile process definition schema.", e);
+ }
+ }
+ }
+
+ /**
+ * Parses an XML representation of a process definition. The representation is being validated in order to suffice
+ * the related XML schema.
+ *
+ * @param processDefinitionInputStream
+ * The process definition.
+ * @return A new process definition.
+ * @throws ProcessDefinitionParserException
+ * Thrown in case of error parsing the process definition.
+ */
+ public ProcessDefinition parse(InputStream processDefinitionInputStream) throws ProcessDefinitionParserException {
+ XMLEventReader reader = null;
+ final ProcessDefinition pd = new ProcessDefinition();
+ log.debug("Parsing and validating process definition.");
+ try {
+
+ // Standard implementation of XMLInputFactory seems not to be thread-safe
+ XMLInputFactory inputFactory = XMLInputFactory.newInstance();
+ reader = inputFactory.createXMLEventReader(processDefinitionInputStream);
+
+ final List<StartElement> transitionElements = new ArrayList<>();
+ final List<StartEvent> startEvents = new ArrayList<>();
+
+ reader = new EventReaderDelegate(reader) {
+
+ @Override
+ public XMLEvent nextEvent() throws XMLStreamException {
+ XMLEvent event = super.nextEvent();
+
+ switch (event.getEventType()) {
+ case XMLStreamConstants.START_ELEMENT:
+ StartElement element = event.asStartElement();
+ QName qname = element.getName();
+
+ if (NS.equals(qname.getNamespaceURI())) {
+ log.trace("Found process description element '{}'.", qname.getLocalPart());
+ Attribute id = element.getAttributeByName(new QName("id"));
+
+ switch (qname.getLocalPart()) {
+ case "ProcessDefinition":
+ if (id != null) {
+ pd.setId(id.getValue());
+ }
+ break;
+ case "StartEvent":
+ StartEvent startEvent = new StartEvent();
+ if (id != null) {
+ startEvent.setId(id.getValue());
+ }
+ startEvents.add(startEvent);
+ break;
+ case "EndEvent":
+ EndEvent endEvent = new EndEvent();
+ if (id != null) {
+ endEvent.setId(id.getValue());
+ pd.getEndEvents().put(id.getValue(), endEvent);
+ }
+ break;
+ case "Transition":
+ transitionElements.add(element);
+ break;
+ case "Task":
+ TaskInfo taskInfo = new TaskInfo();
+ if (id != null) {
+ taskInfo.setId(id.getValue());
+ pd.getTaskInfos().put(id.getValue(), taskInfo);
+ }
+ Attribute async = element.getAttributeByName(new QName("async"));
+ if (async != null) {
+ taskInfo.setAsync(Boolean.valueOf(async.getValue()));
+ }
+ Attribute implementingClass = element.getAttributeByName(new QName("class"));
+ if (implementingClass != null) {
+ taskInfo.setTaskImplementingClass(implementingClass.getValue());
+ }
+ break;
+ }
+
+ }
+
+ break;
+ }
+
+ return event;
+ }
+
+ };
+
+ // validator is not thread-safe
+ Validator validator = LazyProcessDefinitionSchemaHolder.PD_SCHEMA_INSTANCE.newValidator();
+ validator.validate(new StAXSource(reader));
+ log.trace("Process definition successfully schema validated.");
+
+ // perform some basic checks
+ log.trace("Building model and performing some plausibility checks.");
+ if (startEvents.size() != 1) {
+ throw new ProcessDefinitionParserException("A ProcessDefinition must contain exactly one single StartEvent.");
+ }
+ pd.setStartEvent(startEvents.get(0));
+
+ // link transitions
+ Iterator<StartElement> transitions = transitionElements.iterator();
+ while (transitions.hasNext()) {
+ StartElement element = transitions.next();
+ Transition transition = new Transition();
+ Attribute id = element.getAttributeByName(new QName("id"));
+ if (id != null) {
+ transition.setId(id.getValue());
+ }
+ Attribute conditionExpression = element.getAttributeByName(new QName("conditionExpression"));
+ if (conditionExpression != null) {
+ transition.setConditionExpression(conditionExpression.getValue());
+ }
+ Attribute from = element.getAttributeByName(new QName("from"));
+ if (from != null) {
+ ProcessNode fromNode = pd.getProcessNode(from.getValue());
+ if (fromNode == null) {
+ throw new ProcessDefinitionParserException("Transition's 'from'-attribute refers to a non-existing event or task '" + from.getValue() + '.');
+ }
+ if (fromNode instanceof EndEvent) {
+ throw new ProcessDefinitionParserException("Transition cannot start from end event.");
+ }
+ transition.setFrom(fromNode);
+ fromNode.getOutgoingTransitions().add(transition);
+ }
+ Attribute to = element.getAttributeByName(new QName("to"));
+ if (to != null) {
+ ProcessNode toNode = pd.getProcessNode(to.getValue());
+ if (toNode == null) {
+ throw new ProcessDefinitionParserException("Transition's 'to'-attribute refers to a non-existing event or task '" + to.getValue() + '.');
+ }
+ transition.setTo(toNode);
+ toNode.getIncomingTransitions().add(transition);
+ }
+ if (transition.getConditionExpression() == null && Objects.equals(transition.getFrom(), transition.getTo())) {
+ throw new ProcessDefinitionParserException("Transition's 'from' equals its 'to'. Since no 'conditionExpression' has been set this will cause a loop.");
+ }
+ }
+ log.debug("Process definition '{}' successfully parsed.", pd.getId());
+ return pd;
+
+ } catch (ProcessDefinitionParserException e) {
+ throw e;
+ } catch (XMLStreamException|IOException e) {
+ throw new ProcessDefinitionParserException("Unable to read process definition from inputstream.", e);
+ } catch (SAXException e) {
+ throw new ProcessDefinitionParserException("Schema validation of process description failed.", e);
+ } catch (Exception e) {
+ throw new ProcessDefinitionParserException("Internal error creating process definition from inputstream.", e);
+ } finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ } catch (XMLStreamException e) {
+ // error freeing resources
+ }
+ }
+ }
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessDefinitionParserException.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessDefinitionParserException.java
new file mode 100644
index 000000000..0c214750d
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessDefinitionParserException.java
@@ -0,0 +1,35 @@
+package at.gv.egovernment.moa.id.process;
+
+/**
+ * Exception thrown in case of error parsing a process definition.
+ *
+ * @author tknall
+ *
+ */
+public class ProcessDefinitionParserException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Creates a new parser exception providing a {@code message} describing the reason and the {@code cause}.
+ *
+ * @param message
+ * The message.
+ * @param cause
+ * The cause.
+ */
+ public ProcessDefinitionParserException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ /**
+ * Creates a new parser exception providing a {@code message} describing the reason.
+ *
+ * @param message
+ * The message.
+ */
+ public ProcessDefinitionParserException(String message) {
+ super(message);
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessEngine.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessEngine.java
new file mode 100644
index 000000000..5cf84abed
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessEngine.java
@@ -0,0 +1,98 @@
+package at.gv.egovernment.moa.id.process;
+
+
+import java.io.InputStream;
+
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.model.ProcessDefinition;
+
+/**
+ * Process engine providing means for starting and resuming processes.
+ *
+ * @author tknall
+ */
+public interface ProcessEngine {
+
+ /**
+ * Registers a new process definition. Note that existing definitions with the same identifier will be replaced.
+ *
+ * @param processDefinition
+ * The process definition to be registered.
+ */
+ void registerProcessDefinition(ProcessDefinition processDefinition);
+
+ /**
+ * Registers a new process definition given as {@link InputStream}. Note that existing definitions with the same identifier will be replaced.
+ *
+ * @param processDefinitionInputStream The input stream to the definition to be registered.
+ * @throws ProcessDefinitionParserException Thrown in case of an error parsing the process definition.
+ * @return The process definition's identifier.
+ */
+ String registerProcessDefinition(InputStream processDefinitionInputStream) throws ProcessDefinitionParserException;
+
+ /**
+ * Creates a process instance according to the referenced process definition, persists it into the database and returns it identifier.
+ * <p/>
+ * Note that the method returns the identifier of a process instance which will be needed in order to start a process or to continue
+ * process execution after asynchronous task execution (refer to {@link #start(String)} and
+ * {@link #signal(String)} for further information).
+ *
+ * @param processDefinitionId
+ * The identifier of the respective process definition.
+ * @param executionContext The execution context (may be {@code null}).
+ * @return The id of the newly created process instance (never {@code null}).
+ * @throws ProcessExecutionException
+ * Thrown in case of error, e.g. when a {@code processDefinitionId} is referenced that does not exist.
+ */
+ String createProcessInstance(String processDefinitionId, ExecutionContext executionContext) throws ProcessExecutionException;
+
+ /**
+ * Creates a process instance according to the referenced process definition, persists it into the database and returns it identifier.
+ * <p/>
+ * Note that the method returns the identifier of a process instance which will be needed in order to start a process or to continue
+ * process execution after asynchronous task execution (refer to {@link #start(String)} and
+ * {@link #signal(String)} for further information).
+ *
+ * @param processDefinitionId
+ * The identifier of the respective process definition.
+ * @return The id of the newly created process instance (never {@code null}).
+ * @throws ProcessExecutionException
+ * Thrown in case of error, e.g. when a {@code processDefinitionId} is referenced that does not exist.
+ */
+ String createProcessInstance(String processDefinitionId) throws ProcessExecutionException;
+
+ /**
+ * Returns the process instance with a given {@code processInstanceId}.
+ *
+ * @param processInstanceId
+ * The process instance id.
+ * @return The process instance (never {@code null}).
+ * @throws IllegalArgumentException
+ * In case the process instance does not/no longer exist.
+ * @throws RuntimeException
+ * In case the process instance could not be retrieved from persistence.
+ */
+ ProcessInstance getProcessInstance(String processInstanceId);
+
+ /**
+ * Starts the process using the given {@code processInstanceId}.
+ *
+ * @param processInstanceId
+ * The process instance id.
+ * @throws ProcessExecutionException
+ * Thrown in case of error.
+ */
+ void start(String processInstanceId) throws ProcessExecutionException;
+
+
+ /**
+ * Resumes process execution after an asynchronous task has been executed.
+ *
+ * @param processInstanceId
+ * The process instance id.
+ * @throws ProcessExecutionException
+ * Thrown in case of error.
+ */
+ void signal(String processInstanceId) throws ProcessExecutionException;
+
+} \ No newline at end of file
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessEngineImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessEngineImpl.java
new file mode 100644
index 000000000..096e5ee9e
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessEngineImpl.java
@@ -0,0 +1,356 @@
+package at.gv.egovernment.moa.id.process;
+
+import java.io.InputStream;
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.Predicate;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
+
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.api.ExpressionEvaluationContext;
+import at.gv.egovernment.moa.id.process.api.ExpressionEvaluator;
+import at.gv.egovernment.moa.id.process.api.Task;
+import at.gv.egovernment.moa.id.process.dao.ProcessInstanceStore;
+import at.gv.egovernment.moa.id.process.dao.ProcessInstanceStoreDAO;
+import at.gv.egovernment.moa.id.process.dao.ProcessInstanceStoreDAOImpl;
+import at.gv.egovernment.moa.id.process.model.EndEvent;
+import at.gv.egovernment.moa.id.process.model.ProcessDefinition;
+import at.gv.egovernment.moa.id.process.model.ProcessNode;
+import at.gv.egovernment.moa.id.process.model.StartEvent;
+import at.gv.egovernment.moa.id.process.model.TaskInfo;
+import at.gv.egovernment.moa.id.process.model.Transition;
+
+/**
+ * Process engine implementation allowing starting and continuing processes as well as providing means for cleanup actions.
+ */
+public class ProcessEngineImpl implements ProcessEngine {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ private ProcessDefinitionParser pdp = new ProcessDefinitionParser();
+
+ ProcessInstanceStoreDAO piStoreDao = ProcessInstanceStoreDAOImpl.getInstance();
+
+ private Map<String, ProcessDefinition> processDefinitions = new ConcurrentHashMap<String, ProcessDefinition>();
+
+ private final static String MDC_CTX_PI_NAME = "processInstanceId";
+ private final static String MDC_CTX_TASK_NAME = "taskId";
+
+ private ExpressionEvaluator transitionConditionExpressionEvaluator;
+
+ @Override
+ public void registerProcessDefinition(ProcessDefinition processDefinition) {
+ log.info("Registering process definition '{}'.", processDefinition.getId());
+ processDefinitions.put(processDefinition.getId(), processDefinition);
+ }
+
+ @Override
+ public String registerProcessDefinition(InputStream processDefinitionInputStream) throws ProcessDefinitionParserException{
+ ProcessDefinition pd = pdp.parse(processDefinitionInputStream);
+ registerProcessDefinition(pd);
+ return pd.getId();
+ }
+
+ /**
+ * Sets the process definitions.
+ *
+ * @param processDefinitions
+ * The process definitions.
+ * @throws IllegalArgumentException
+ * In case the process definitions contain definitions with the same identifier.
+ */
+ public void setProcessDefinitions(Iterable<ProcessDefinition> processDefinitions) {
+ this.processDefinitions.clear();
+ for (ProcessDefinition pd : processDefinitions) {
+ if (this.processDefinitions.containsKey(pd.getId())) {
+ throw new IllegalArgumentException("Duplicate process definition identifier '" + pd.getId() + "'.");
+ }
+ registerProcessDefinition(pd);
+ }
+ }
+
+ /**
+ * Sets an expression evaluator that should be used to process transition condition expressions.
+ * @param transitionConditionExpressionEvaluator The expression evaluator.
+ */
+ public void setTransitionConditionExpressionEvaluator(
+ ExpressionEvaluator transitionConditionExpressionEvaluator) {
+ this.transitionConditionExpressionEvaluator = transitionConditionExpressionEvaluator;
+ }
+
+
+ @Override
+ public String createProcessInstance(String processDefinitionId, ExecutionContext executionContext) throws ProcessExecutionException {
+ // look for respective process definition
+ ProcessDefinition pd = processDefinitions.get(processDefinitionId);
+ if (pd == null) {
+ throw new ProcessExecutionException("Unable to find process definition for process '" + processDefinitionId + "'.");
+ }
+ // create and keep process instance
+ ProcessInstance pi = new ProcessInstance(pd, executionContext);
+ log.info("Creating process instance from process definition '{}': {}", processDefinitionId, pi.getId());
+
+ try {
+ saveOrUpdateProcessInstance(pi);
+ } catch (MOADatabaseException e) {
+ throw new ProcessExecutionException("Unable to persist process instance.", e);
+ }
+
+ return pi.getId();
+ }
+
+ @Override
+ public String createProcessInstance(String processDefinitionId) throws ProcessExecutionException {
+ return createProcessInstance(processDefinitionId, null);
+ }
+
+ @Override
+ public void start(String processInstanceId) throws ProcessExecutionException {
+
+ try {
+ ProcessInstance pi = loadProcessInstance(processInstanceId);
+
+ MDC.put(MDC_CTX_PI_NAME, pi.getId());
+
+ if (!ProcessInstanceState.NOT_STARTED.equals(pi.getState())) {
+ throw new ProcessExecutionException("Process instance '" + pi.getId() + "' has already been started (current state is " + pi.getState() + ").");
+ }
+ log.info("Starting process instance '{}'.", pi.getId());
+ // execute process
+ pi.setState(ProcessInstanceState.STARTED);
+ execute(pi);
+
+ saveOrUpdateProcessInstance(pi);
+ } catch (MOADatabaseException e) {
+ throw new ProcessExecutionException("Unable to load/save process instance.", e);
+
+ } finally {
+ MDC.remove(MDC_CTX_PI_NAME);
+ }
+ }
+
+ @Override
+ public void signal(String processInstanceId) throws ProcessExecutionException {
+
+ try {
+ ProcessInstance pi = loadProcessInstance(processInstanceId);
+
+ MDC.put(MDC_CTX_PI_NAME, pi.getId());
+
+ if (!ProcessInstanceState.SUSPENDED.equals(pi.getState())) {
+ throw new ProcessExecutionException("Process instance '" + pi.getId() + "' has not been suspended (current state is " + pi.getState() + ").");
+ }
+
+ log.info("Waking up process instance '{}'.", pi.getId());
+ pi.setState(ProcessInstanceState.STARTED);
+ execute(pi);
+
+ saveOrUpdateProcessInstance(pi);
+ } catch (MOADatabaseException e) {
+ throw new ProcessExecutionException("Unable to load/save process instance.", e);
+
+ } finally {
+ MDC.remove(MDC_CTX_PI_NAME);
+ }
+ }
+
+
+ /**
+ * Instantiates a task implementation given by a {@link TaskInfo}.
+ * @param ti The task info.
+ * @return A Task implementation or {@code null} if the task info does not reference any task implementing classes.
+ * @throws ProcessExecutionException Thrown in case of error (when the referenced class does not implement {@link Task} for instance).
+ */
+ private Task createTaskInstance(TaskInfo ti) throws ProcessExecutionException {
+ String clazz = StringUtils.trimToNull(ti.getTaskImplementingClass());
+ Task task = null;
+
+ if (clazz != null) {
+ log.debug("Instantiating task implementing class '{}'.", clazz);
+ Class<?> instanceClass = null;
+ try {
+ instanceClass = Class.forName(clazz, true, Thread.currentThread().getContextClassLoader());
+ } catch (Exception e) {
+ throw new ProcessExecutionException("Unable to get class '" + clazz + "' associated with task '" + ti.getId() + "' .", e);
+ }
+ if (!Task.class.isAssignableFrom(instanceClass)) {
+ throw new ProcessExecutionException("Class '" + clazz + "' associated with task '" + ti.getId() + "' is not assignable to " + Task.class.getName() + ".");
+ }
+ try {
+ task = (Task) instanceClass.newInstance();
+ } catch (Exception e) {
+ throw new ProcessExecutionException("Unable to instantiate class '" + clazz + "' associated with task '" + ti.getId() + "' .", e);
+ }
+ }
+
+ return task;
+ }
+
+ /**
+ * Starts/executes a given process instance.
+ * @param pi The process instance.
+ * @throws ProcessExecutionException Thrown in case of error.
+ */
+ private void execute(final ProcessInstance pi) throws ProcessExecutionException {
+ if (ProcessInstanceState.ENDED.equals(pi.getState())) {
+ throw new ProcessExecutionException("Process for instance '" + pi.getId() + "' has already been ended.");
+ }
+ ProcessDefinition pd = pi.getProcessDefinition();
+ ProcessNode processNode = pd.getProcessNode(pi.getNextId());
+ log.debug("Processing node '{}'.", processNode.getId());
+
+ // distinguish process node types StartEvent, TaskInfo and EndEvent
+
+ if (processNode instanceof TaskInfo) {
+ // TaskInfo types need to be executed
+ TaskInfo ti = (TaskInfo) processNode;
+ MDC.put(MDC_CTX_TASK_NAME, ti.getId());
+ try {
+ log.info("Processing task '{}'.", ti.getId());
+ Task task = createTaskInstance(ti);
+ if (task != null) {
+ try {
+ log.info("Executing task implementation for task '{}'.", ti.getId());
+ log.debug("Execution context before task execution: {}", pi.getExecutionContext().keySet());
+ task.execute(pi.getExecutionContext());
+ log.info("Returned from execution of task '{}'.", ti.getId());
+ log.debug("Execution context after task execution: {}", pi.getExecutionContext().keySet());
+ } catch (Throwable t) {
+ throw new ProcessExecutionException("Error executing task '" + ti.getId() + "'.", t);
+ }
+ } else {
+ log.debug("No task implementing class set.");
+ }
+ } finally {
+ MDC.remove(MDC_CTX_TASK_NAME);
+ }
+
+ } else if (processNode instanceof EndEvent) {
+ log.info("Finishing process instance '{}'.", pi.getId());
+
+ try {
+ piStoreDao.remove(pi.getId());
+ } catch (MOADatabaseException e) {
+ throw new ProcessExecutionException("Unable to remove process instance.", e);
+ }
+ pi.setState(ProcessInstanceState.ENDED);
+ log.debug("Final process context: {}", pi.getExecutionContext().keySet());
+ return;
+ }
+
+ final ExpressionEvaluationContext expressionContext = new ExpressionEvaluationContextImpl(pi);
+
+ // traverse pointer
+ Transition t = CollectionUtils.find(processNode.getOutgoingTransitions(), new Predicate<Transition>() {
+ @Override
+ public boolean evaluate(Transition transition) {
+ if (transitionConditionExpressionEvaluator != null && transition.getConditionExpression() != null) {
+ log.trace("Evaluating transition expression '{}'.", transition.getConditionExpression());
+ return transitionConditionExpressionEvaluator.evaluate(expressionContext, transition.getConditionExpression());
+ }
+ return true;
+ }
+ });
+ if (t == null) {
+ throw new ProcessExecutionException("No valid transition starting from process node '" + processNode.getId()+ "'.");
+ }
+ log.trace("Found suitable transition: {}", t);
+ // update pointer
+ log.trace("Shifting process token from '{}' to '{}'.", pi.getNextId(), t.getTo().getId());
+ pi.setNextId(t.getTo().getId());
+
+ // inspect current task
+ if (t.getTo() instanceof TaskInfo && (((TaskInfo) t.getTo()).isAsync())) {
+ // immediately return in case of asynchonous task
+ log.info("Suspending process instance '{}' for asynchronous task '{}'.", pi.getId(), t.getTo().getId());
+ pi.setState(ProcessInstanceState.SUSPENDED);
+ return;
+ }
+
+ // continue execution in case of StartEvent or Task
+ if (processNode instanceof StartEvent || processNode instanceof TaskInfo) {
+ execute(pi);
+ }
+ }
+
+ @Override
+ public ProcessInstance getProcessInstance(String processInstanceId) {
+
+ ProcessInstance processInstance;
+ try {
+ processInstance = loadProcessInstance(processInstanceId);
+
+ } catch (MOADatabaseException e) {
+ throw new RuntimeException("The process instance '" + processInstanceId + "' could not be retrieved.", e);
+ }
+
+ if (processInstance == null) {
+ throw new IllegalArgumentException("The process instance '" + processInstanceId + "' does not/no longer exist.");
+ }
+
+ return processInstance;
+ }
+
+ /**
+ * Persists a {@link ProcessInstance} to the database.
+ * @param processInstance The object to persist.
+ * @throws MOADatabaseException Thrown if an error occurs while accessing the database.
+ */
+ private void saveOrUpdateProcessInstance(ProcessInstance processInstance) throws MOADatabaseException {
+ ProcessInstanceStore store = new ProcessInstanceStore();
+
+ ExecutionContext ctx = processInstance.getExecutionContext();
+
+ Map<String, Serializable> ctxData = new HashMap<String, Serializable>();
+ for (String key : ctx.keySet()) {
+ ctxData.put(key, ctx.get(key));
+ }
+ store.setExecutionContextData(ctxData);
+
+ store.setNextTaskId(processInstance.getNextId());
+ store.setProcessDefinitionId(processInstance.getProcessDefinition().getId());
+
+ store.setProcessInstanceId(processInstance.getId());
+ store.setProcessState(processInstance.getState());
+
+ piStoreDao.saveOrUpdate(store);
+ }
+
+ /**
+ * Load a {@link ProcessInstance} with a certain id from the database.
+ * @param processInstanceId The process instance id
+ * @return The process instance corresponding to the id or {@code null} if no such object is found.
+ * @throws MOADatabaseException Thrown if an error occurs while accessing the database.
+ */
+ private ProcessInstance loadProcessInstance(String processInstanceId) throws MOADatabaseException {
+
+ ProcessInstanceStore piStore = piStoreDao.load(processInstanceId);
+
+ if (piStore == null) {
+ return null;
+ }
+
+ ExecutionContext executionContext = new ExecutionContextImpl(piStore.getProcessInstanceId());
+
+ Map<String, Serializable> executionContextData = piStore.getExecutionContextData();
+ for (String key : executionContextData.keySet()) {
+ executionContext.put(key, executionContextData.get(key));
+ }
+
+ ProcessInstance pi = new ProcessInstance(processDefinitions.get(piStore.getProcessDefinitionId()), executionContext);
+ pi.setNextId(piStore.getNextTaskId());
+ pi.setState(piStore.getProcessState());
+
+ return pi;
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessExecutionException.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessExecutionException.java
new file mode 100644
index 000000000..821bbe6dc
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessExecutionException.java
@@ -0,0 +1,36 @@
+package at.gv.egovernment.moa.id.process;
+
+/**
+ * Indicates a problem when executing a process.
+ *
+ * @author tknall
+ *
+ */
+public class ProcessExecutionException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Creates a new process execution exception providing a {@code message} describing the reason and the respective
+ * {@code cause}.
+ *
+ * @param message
+ * The message.
+ * @param cause
+ * The cause.
+ */
+ public ProcessExecutionException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ /**
+ * Creates a new process execution exception providing a {@code message} describing the reason.
+ *
+ * @param message
+ * The message.
+ */
+ public ProcessExecutionException(String message) {
+ super(message);
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessInstance.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessInstance.java
new file mode 100644
index 000000000..a6cf3b57f
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessInstance.java
@@ -0,0 +1,164 @@
+package at.gv.egovernment.moa.id.process;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.commons.lang3.time.DurationFormatUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.model.ProcessDefinition;
+import at.gv.egovernment.moa.id.process.support.SecureRandomHolder;
+
+/**
+ * Represents a process being executed. The process instance provides information about the process and its state.
+ *
+ * @author tknall
+ *
+ */
+public class ProcessInstance implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+ private static final int RND_ID_LENGTH = 22;
+
+ private ProcessDefinition processDefinition;
+ private String nextId;
+ private Date lru;
+ private ExecutionContext executionContext;
+ private ProcessInstanceState state = ProcessInstanceState.NOT_STARTED;
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ /**
+ * Creates a new process instance, based on a given process definition and a
+ * given execution context. If the given execution context is {@code null} a new execution context will be created.<p/>
+ * The process instance id of the execution context will be newly generated if it is {@code null} in the execution context.
+ *
+ * @param processDefinition
+ * The process definition.
+ * @param executionContext
+ * The execution context (may be {@code null}). If {@code null} a new execution context will be created internally.
+ */
+ ProcessInstance(ProcessDefinition processDefinition, ExecutionContext executionContext) {
+ this.processDefinition = processDefinition;
+ nextId = processDefinition.getStartEvent().getId();
+ if (executionContext == null) {
+ executionContext = new ExecutionContextImpl();
+ }
+ if (executionContext.getProcessInstanceId() == null) {
+ String pdIdLocalPart = RandomStringUtils.random(RND_ID_LENGTH, 0, 0, true, true, null,
+ SecureRandomHolder.getInstance());
+ executionContext.setProcessInstanceId(this.processDefinition.getId() + "-" + pdIdLocalPart);
+ } else {
+ log.debug("Using process instance id from execution context.");
+ }
+ log.debug("Creating process instance with id '{}'.", executionContext.getProcessInstanceId());
+ this.executionContext = executionContext;
+ touch();
+ }
+
+ /**
+ * Returns the underlying process definition.
+ *
+ * @return The underlying process definition.
+ */
+ ProcessDefinition getProcessDefinition() {
+ touch();
+ return processDefinition;
+ }
+
+ /**
+ * Returns the id of the process node to be executed next.
+ *
+ * @return The process node pointer indicating the process node to be executed next.
+ */
+ public String getNextId() {
+ touch();
+ return nextId;
+ }
+
+ /**
+ * Sets the internal pointer to the process node to be executed next.
+ *
+ * @param nextId
+ * The process node id to be executed next.
+ */
+ void setNextId(String nextId) {
+ touch();
+ this.nextId = nextId;
+ }
+
+ /**
+ * Returns the current state of the process instance.
+ *
+ * @return The current state.
+ */
+ public ProcessInstanceState getState() {
+ touch();
+ return state;
+ }
+
+ /**
+ * Sets the current state of the process instance.
+ *
+ * @param state
+ * The current state.
+ */
+ void setState(ProcessInstanceState state) {
+ touch();
+ this.state = state;
+ }
+
+ public String getId() {
+ touch();
+ return executionContext.getProcessInstanceId();
+ }
+
+ /**
+ * Updates the last recently used date of the process instance.
+ */
+ private void touch() {
+ lru = new Date();
+ }
+
+ /**
+ * Returns the date the process instance has been accessed last.
+ *
+ * @return The last recently used date.
+ */
+ Date getLru() {
+ return lru;
+ }
+
+ /**
+ * Returns the associated execution context.
+ * @return The execution context (never {@code null}).
+ */
+ public ExecutionContext getExecutionContext() {
+ touch();
+ return executionContext;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("ProcessInstance [");
+ builder.append("id=").append(executionContext.getProcessInstanceId());
+ builder.append(", idle since=").append(
+ DurationFormatUtils.formatDurationWords(new Date().getTime() - this.lru.getTime(), true, true));
+ if (processDefinition != null) {
+ builder.append(", processDefinition.id=");
+ builder.append(processDefinition.getId());
+ }
+ if (nextId != null) {
+ builder.append(", nextId=");
+ builder.append(nextId);
+ }
+ builder.append(", executionContext=").append(executionContext);
+ builder.append("]");
+ return builder.toString();
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessInstanceState.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessInstanceState.java
new file mode 100644
index 000000000..2765283a0
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessInstanceState.java
@@ -0,0 +1,30 @@
+package at.gv.egovernment.moa.id.process;
+
+/**
+ * Represents a certain process instance state.
+ * @author tknall
+ *
+ */
+public enum ProcessInstanceState {
+
+ /**
+ * Indicates that the process with this process instance has not yet been started.
+ */
+ NOT_STARTED,
+
+ /**
+ * Indicates that the process is currently running.
+ */
+ STARTED,
+
+ /**
+ * Indicates that the process has been suspended until being waken up by someonce calling {@code signal}.
+ */
+ SUSPENDED,
+
+ /**
+ * Indicates that the process has been completed.
+ */
+ ENDED
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/ExecutionContext.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/ExecutionContext.java
new file mode 100644
index 000000000..4a9dfc336
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/ExecutionContext.java
@@ -0,0 +1,63 @@
+package at.gv.egovernment.moa.id.process.api;
+
+import java.io.Serializable;
+import java.util.Set;
+
+/**
+ * Encapsulates data needed for or provided by task execution.
+ *
+ * @author tknall
+ *
+ */
+public interface ExecutionContext extends Serializable {
+
+ /**
+ * Returns the identifier of underlying process instance.
+ *
+ * @return The identifier of the process instance.
+ */
+ String getProcessInstanceId();
+
+ /**
+ * Sets the identifier of underlying process instance.
+ *
+ * @param processInstanceId
+ * The identifier of the process instance.
+ */
+ void setProcessInstanceId(String processInstanceId);
+
+ /**
+ * Stores a serializable object using {@code key}.
+ *
+ * @param key
+ * The key under that the {@code object} should be stored.
+ * @param object The object to be stored.
+ */
+ void put(String key, Serializable object);
+
+ /**
+ * Returns an serializable object stored within this process context using {@code key}.
+ *
+ * @param key
+ * The key that has been used to store the serializable object (may be {@code null}).
+ * @return The object or {@code null} in case the key does not relate to a stored object or the stored object itself
+ * was {@code null}.
+ */
+ Serializable get(String key);
+
+ /**
+ * Removes the object stored using {@code key}.
+ * @param key
+ * The key that has been used to store the serializable object (may be {@code null}).
+ * @return The object that has been removed or {@code null} there was no object stored using {@code key}.
+ */
+ Serializable remove(String key);
+
+ /**
+ * Returns an unmodifiable set containing the stored keys.
+ *
+ * @return The keyset (never {@code null}).
+ */
+ Set<String> keySet();
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/ExpressionEvaluationContext.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/ExpressionEvaluationContext.java
new file mode 100644
index 000000000..94854dcad
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/ExpressionEvaluationContext.java
@@ -0,0 +1,23 @@
+package at.gv.egovernment.moa.id.process.api;
+
+import java.io.Serializable;
+import java.util.Map;
+
+import at.gv.egovernment.moa.id.process.model.Transition;
+
+/**
+ * Context used for evaluation of condition expressions set for {@linkplain Transition Transitions}.
+ *
+ * @author tknall
+ *
+ */
+public interface ExpressionEvaluationContext extends Serializable {
+
+ /**
+ * Returns the context data map used for expression evaluation.
+ *
+ * @return An unmodifiable map (never {@code null}).
+ */
+ Map<String, Serializable> getCtx();
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/ExpressionEvaluator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/ExpressionEvaluator.java
new file mode 100644
index 000000000..fe0743201
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/ExpressionEvaluator.java
@@ -0,0 +1,25 @@
+package at.gv.egovernment.moa.id.process.api;
+
+/**
+ * Evaluates a given {@code expression} returning a boolean value.
+ *
+ * @author tknall
+ */
+public interface ExpressionEvaluator {
+
+ /**
+ * Evaluates a given {@code expression} returning a boolean value.
+ *
+ * @param expressionContext
+ * The context which can be used for evaluation of the expression.
+ * @param expression
+ * The expression resulting in a boolean (must not be {@code null}).
+ * @return A boolean value.
+ * @throws IllegalArgumentException
+ * In case of an invalid {@code expression}.
+ * @throws NullPointerException
+ * In case of a {@code null} expression.
+ */
+ boolean evaluate(ExpressionEvaluationContext expressionContext, String expression);
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/Task.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/Task.java
new file mode 100644
index 000000000..343b8fe0c
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/Task.java
@@ -0,0 +1,23 @@
+package at.gv.egovernment.moa.id.process.api;
+
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+
+
+/**
+ * Represents a single task to be performed upon process execution.
+ *
+ * @author tknall
+ *
+ */
+public interface Task {
+
+ /**
+ * Executes this task.
+ *
+ * @param executionContext
+ * Provides execution related information.
+ * @throws Exception An exception upon task execution.
+ */
+ void execute(ExecutionContext executionContext) throws TaskExecutionException;
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStore.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStore.java
new file mode 100644
index 000000000..d690c37bf
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStore.java
@@ -0,0 +1,89 @@
+package at.gv.egovernment.moa.id.process.dao;
+
+import java.io.Serializable;
+import java.util.Map;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.Table;
+
+import org.hibernate.internal.util.SerializationHelper;
+
+import at.gv.egovernment.moa.id.process.ProcessInstanceState;
+
+@Entity
+@Table(name = "processinstance")
+public class ProcessInstanceStore {
+
+ /**
+ * A process instance identifier qualifies as natural primary key by satisfying these requirements
+ * ("unique, constant, required"):
+ * <ul>
+ * <li>unique value</li>
+ * <li>never changes (immutable)</li>
+ * <li>never {@code null}</li>
+ * </ul>
+ */
+ @Id
+ private String processInstanceId;
+
+ @Column(name = "processDefinitionId", nullable = false)
+ private String processDefinitionId;
+
+ @Column(name = "nextTaskId", nullable = false)
+ private String nextTaskId;
+
+ @Column(name = "processState", nullable = false)
+ @Enumerated(value = EnumType.STRING)
+ private ProcessInstanceState processState;
+
+ @Column(name = "executionContextData", nullable = false)
+ @Lob
+ private byte[] executionContextData;
+
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ public String getProcessDefinitionId() {
+ return processDefinitionId;
+ }
+
+ public String getNextTaskId() {
+ return nextTaskId;
+ }
+
+ public ProcessInstanceState getProcessState() {
+ return processState;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Map<String, Serializable> getExecutionContextData() {
+ return (Map<String, Serializable>) SerializationHelper.deserialize(executionContextData);
+ }
+
+ public void setProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ public void setProcessDefinitionId(String processDefinitionId) {
+ this.processDefinitionId = processDefinitionId;
+ }
+
+ public void setNextTaskId(String nextTaskId) {
+ this.nextTaskId = nextTaskId;
+ }
+
+ public void setProcessState(ProcessInstanceState processState) {
+ this.processState = processState;
+ }
+
+ public void setExecutionContextData(Map<String, Serializable> executionContextData) {
+ this.executionContextData = SerializationHelper.serialize((Serializable) executionContextData);
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAO.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAO.java
new file mode 100644
index 000000000..57ce70c08
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAO.java
@@ -0,0 +1,43 @@
+package at.gv.egovernment.moa.id.process.dao;
+
+import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
+import at.gv.egovernment.moa.id.process.ProcessInstance;
+
+public interface ProcessInstanceStoreDAO {
+
+ /**
+ * Stores a {@link ProcessInstance} defined by {@code pIStore} in the
+ * database.
+ *
+ * @param pIStore
+ * the {@link ProcessInstanceStore} to persist.
+ * @throws MOADatabaseException
+ * is thrown if a problem occurs while accessing the database.
+ */
+ void saveOrUpdate(ProcessInstanceStore pIStore) throws MOADatabaseException;
+
+ /**
+ * Returns a {@link ProcessInstanceStore}, defined by
+ * {@code processInstanceID} from the database, or {@code null} if the
+ * object could not be found.
+ *
+ * @param processInstanceId
+ * the id of the {@code ProcessInstanceStore} to retrieve.
+ * @return a ProcessInstanceStore, or {@code null}.
+ * @throws MOADatabaseException
+ * is thrown if a problem occurs while accessing the database.
+ */
+ ProcessInstanceStore load(String processInstanceId) throws MOADatabaseException;
+
+ /**
+ * Deletes the {@link ProcessInstance} corresponding with the
+ * {@code processInstanceId}.
+ *
+ * @param processInstanceId
+ * the id of the {@code ProcessInstance} to be deleted.
+ * @throws MOADatabaseException
+ * is thrown if a problem occurs while accessing the database.
+ */
+ void remove(String processInstanceId) throws MOADatabaseException;
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAOImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAOImpl.java
new file mode 100644
index 000000000..012dfe90b
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAOImpl.java
@@ -0,0 +1,90 @@
+package at.gv.egovernment.moa.id.process.dao;
+
+import org.hibernate.Criteria;
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+import org.hibernate.criterion.Restrictions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egovernment.moa.id.commons.db.MOASessionDBUtils;
+import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
+
+/**
+ * Database backed implementation of the {@link ProcessInstanceStoreDAO}
+ * interface.
+ */
+public class ProcessInstanceStoreDAOImpl implements ProcessInstanceStoreDAO {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ private static ProcessInstanceStoreDAO instance = new ProcessInstanceStoreDAOImpl();
+
+ public static ProcessInstanceStoreDAO getInstance() {
+ return instance;
+ }
+
+ @Override
+ public void saveOrUpdate(ProcessInstanceStore pIStore) throws MOADatabaseException {
+ try {
+ MOASessionDBUtils.saveOrUpdate(pIStore);
+ log.debug("Store process instance with='{}' in the database.", pIStore.getProcessInstanceId());
+ } catch (MOADatabaseException e) {
+ log.warn("ProcessInstanceStore could not be persisted to the database.");
+ throw e;
+ }
+ }
+
+ @Override
+ public ProcessInstanceStore load(String processInstanceId) throws MOADatabaseException {
+
+ log.debug("Retrieve the ProcessInstanceStore for id='{}' from the database.", processInstanceId);
+ Session session = MOASessionDBUtils.getCurrentSession();
+
+ ProcessInstanceStore result = null;
+ Transaction tx = null;
+ synchronized (session) {
+ try {
+
+ tx = session.beginTransaction();
+ // select all where processInstanceId equals processInstanceId
+ Criteria criteria = session.createCriteria(ProcessInstanceStore.class);
+ criteria.add(Restrictions.eq("processInstanceId", processInstanceId));
+ result = (ProcessInstanceStore) criteria.uniqueResult();
+ tx.commit();
+
+ } catch (Exception e) {
+ log.error("There are multiple persisted processes with the same process instance id '{}'",
+ processInstanceId);
+ if (tx != null) {
+ tx.rollback();
+ }
+ throw e;
+ } finally {
+ MOASessionDBUtils.closeSession();
+ }
+ }
+ if (result != null) {
+ log.debug("Found process instance store for instance '{}'.", processInstanceId);
+ } else {
+ log.debug("Unable to find process instance store for instance '{}'.", processInstanceId);
+ }
+ return result;
+ }
+
+ @Override
+ public void remove(String processInstanceId) throws MOADatabaseException {
+
+ log.debug("Delete the ProcessInstanceStore for id='{}' from the database.", processInstanceId);
+ ProcessInstanceStore toBeDeleted = load(processInstanceId);
+ if (toBeDeleted != null) {
+ if (!MOASessionDBUtils.delete(toBeDeleted)) {
+ log.warn("Could not delete the ProcessInstanceStore with process instance id '{}'", processInstanceId);
+ throw new MOADatabaseException("Could not delete the ProcessInstanceStore with process instance id '"
+ + processInstanceId + "'.");
+ }
+ } else
+ log.trace("ProcessInstanceStore for id='{}' was not found and could therefore not be deleted.", processInstanceId);
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/EndEvent.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/EndEvent.java
new file mode 100644
index 000000000..49fb082ea
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/EndEvent.java
@@ -0,0 +1,42 @@
+package at.gv.egovernment.moa.id.process.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.collections4.CollectionUtils;
+
+/**
+ * Represents an end event. Process execution terminates when an end event is reached.
+ *
+ * @author tknall
+ */
+public class EndEvent extends ProcessNode implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("EndEvent [");
+ if (getId() != null) {
+ builder.append("id=");
+ builder.append(getId());
+ }
+ if (CollectionUtils.isNotEmpty(getIncomingTransitions())) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("incomingTransitions=");
+ builder.append(getIncomingTransitions());
+ }
+ if (CollectionUtils.isNotEmpty(getOutgoingTransitions())) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("outgoingTransitions=");
+ builder.append(getOutgoingTransitions());
+ }
+ builder.append("]");
+ return builder.toString();
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/ProcessDefinition.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/ProcessDefinition.java
new file mode 100644
index 000000000..518409ecf
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/ProcessDefinition.java
@@ -0,0 +1,158 @@
+package at.gv.egovernment.moa.id.process.model;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Objects;
+
+import at.gv.egovernment.moa.id.process.ProcessDefinitionParser;
+
+/**
+ * Represents a single process definition containing
+ * <ul>
+ * <li>a {@link StartEvent},</li>
+ * <li>one or more {@linkplain TaskInfo Tasks},</li>
+ * <li>one or more {@linkplain EndEvent EndEvents} and</li>
+ * <li>some {@linkplain Transition Transitions} linking StartEvents, Tasks and EndEvents.
+ * </ul>
+ *
+ * @author tknall
+ *
+ */
+public class ProcessDefinition {
+
+ private String id;
+ private StartEvent startEvent;
+ private Map<String, TaskInfo> taskInfos = new LinkedHashMap<>();
+ private Map<String, EndEvent> endEvents = new LinkedHashMap<>();
+
+ /**
+ * Returns the unique identifier of the process definition.
+ *
+ * @return The unique identifier (never {@code null} if process definition comes from
+ * {@link ProcessDefinitionParser}).
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the unique identifier of the process definition.
+ *
+ * @param id
+ * The unique identifier.
+ */
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * Returns the start event of the process definition.
+ *
+ * @return The start event (never {@code null} if process definition comes from {@link ProcessDefinitionParser}).
+ */
+ public StartEvent getStartEvent() {
+ return startEvent;
+ }
+
+ /**
+ * Sets the start event of the process definition.
+ *
+ * @param startEvent
+ * The start event.
+ */
+ public void setStartEvent(StartEvent startEvent) {
+ this.startEvent = startEvent;
+ }
+
+ /**
+ * Returns a map containing the tasks of the process definition.
+ *
+ * @return The tasks (map is never {@code null} if process definition comes from {@link ProcessDefinitionParser}).
+ */
+ public Map<String, TaskInfo> getTaskInfos() {
+ return taskInfos;
+ }
+
+ /**
+ * Sets the map containing the tasks.
+ *
+ * @param taskInfos
+ * The map containing the tasks.
+ */
+ public void setTaskInfos(Map<String, TaskInfo> taskInfos) {
+ this.taskInfos = taskInfos;
+ }
+
+ /**
+ * Returns a map containing the end events of the process description.
+ *
+ * @return The map containing the end events (map is never {@code null} if process definition comes from
+ * {@link ProcessDefinitionParser}).
+ */
+ public Map<String, EndEvent> getEndEvents() {
+ return endEvents;
+ }
+
+ /**
+ * Sets a map containing the end events of the process description.
+ *
+ * @param endEvents
+ * The map containing the end events.
+ */
+ public void setEndEvents(Map<String, EndEvent> endEvents) {
+ this.endEvents = endEvents;
+ }
+
+ /**
+ * Returns the process node associated with the given {@code id}.
+ *
+ * @param id
+ * The identifier of the process node.
+ * @return The process node (may be {code null} when no process node with the given {@code id} exists).
+ */
+ public ProcessNode getProcessNode(String id) {
+ Objects.requireNonNull(id, "Identifier must not be null.");
+ if (startEvent != null && id.equals(startEvent.getId())) {
+ return startEvent;
+ }
+ TaskInfo task = taskInfos.get(id);
+ if (task != null) {
+ return task;
+ }
+ return endEvents.get(id);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ if (id != null) {
+ builder.append("id=");
+ builder.append(id);
+ }
+ if (startEvent != null) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("startEvent=");
+ builder.append(startEvent);
+ }
+ if (taskInfos != null && !taskInfos.isEmpty()) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("tasksInfos=");
+ builder.append(taskInfos.values());
+ }
+ if (endEvents != null && !endEvents.isEmpty()) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("endEvents=");
+ builder.append(endEvents.values());
+ }
+ builder.insert(0, "ProcessDefinition [");
+ builder.append("]");
+ return builder.toString();
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/ProcessNode.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/ProcessNode.java
new file mode 100644
index 000000000..42f2e3cc2
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/ProcessNode.java
@@ -0,0 +1,69 @@
+package at.gv.egovernment.moa.id.process.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import at.gv.egovernment.moa.id.process.ProcessDefinitionParser;
+
+/**
+ * Represents a {@link StartEvent}, an {@link EndEvent} or a {@linkplain TaskInfo Task}.
+ * @author tknall
+ *
+ */
+public abstract class ProcessNode {
+
+ private String id;
+ private List<Transition> outgoingTransitions = new ArrayList<>();
+ private List<Transition> incomingTransitions = new ArrayList<>();
+
+ /**
+ * Returns the unique identifier of the process node.
+ *
+ * @return The unique identifier (never {@code null} if process node comes from a process definition from
+ * {@link ProcessDefinitionParser}).
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the unique identifier of the process node.
+ * @param id The unique identifier.
+ */
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * Returns a list of transitions pointing from this process node to another one.
+ * @return A list of transitions (never {@code null} if process node comes from a process definition from {@link ProcessDefinitionParser}).
+ */
+ public List<Transition> getOutgoingTransitions() {
+ return outgoingTransitions;
+ }
+
+ /**
+ * Sets the list of transitions pointing from this process node to another one.
+ * @param outgoingTransitions The list of transitions originating from this process node.
+ */
+ public void setOutgoingTransitions(List<Transition> outgoingTransitions) {
+ this.outgoingTransitions = outgoingTransitions;
+ }
+
+ /**
+ * Returns a list of transitions pointing from another process node to this one.
+ * @return A list of transitions (never {@code null} if process node comes from a process definition from {@link ProcessDefinitionParser}).
+ */
+ public List<Transition> getIncomingTransitions() {
+ return incomingTransitions;
+ }
+
+ /**
+ * Sets the list of transitions pointing from another process node to this one.
+ * @param incomingTransitions A list of transitions pointing to this process node.
+ */
+ public void setIncomingTransitions(List<Transition> incomingTransitions) {
+ this.incomingTransitions = incomingTransitions;
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/StartEvent.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/StartEvent.java
new file mode 100644
index 000000000..60175e09c
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/StartEvent.java
@@ -0,0 +1,45 @@
+package at.gv.egovernment.moa.id.process.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.collections4.CollectionUtils;
+
+/**
+ * Represents a start event. Each process description contains a single start event. Process execution starts with a
+ * start event.
+ *
+ * @author tknall
+ *
+ */
+public class StartEvent extends ProcessNode implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("StartEvent [");
+ if (getId() != null) {
+ builder.append("id=");
+ builder.append(getId());
+ }
+ if (CollectionUtils.isNotEmpty(getIncomingTransitions())) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("incomingTransitions=");
+ builder.append(getIncomingTransitions());
+ }
+ if (CollectionUtils.isNotEmpty(getOutgoingTransitions())) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("outgoingTransitions=");
+
+ builder.append(getOutgoingTransitions());
+ }
+ builder.append("]");
+ return builder.toString();
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/TaskInfo.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/TaskInfo.java
new file mode 100644
index 000000000..78a9d6a0a
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/TaskInfo.java
@@ -0,0 +1,94 @@
+package at.gv.egovernment.moa.id.process.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.collections4.CollectionUtils;
+
+import at.gv.egovernment.moa.id.process.api.Task;
+
+/**
+ * Represents information about a single task to be performed upon process execution.
+ * @author tknall
+ *
+ */
+public class TaskInfo extends ProcessNode implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+ private static final boolean DEFAULT_ASYNC = false;
+
+ private String taskImplementingClass;
+ private boolean async = DEFAULT_ASYNC;
+
+ /**
+ * Determines if the task is marked asynchronous ({@code true}) or synchronous ({@code false}).
+ * @return A flag indicating if the task should be executed asynchronously or synchronously. (Default: {@code false})
+ */
+ public boolean isAsync() {
+ return async;
+ }
+
+ /**
+ * Marks a task to executed asynchronously ({@code true}) or synchronously ({@code false}).
+ * @param async The flag.
+ */
+ public void setAsync(boolean async) {
+ this.async = async;
+ }
+
+ /**
+ * Returns the class that implements the actual task (must implement {@link Task}).
+ * @return The task implementing class.
+ */
+ public String getTaskImplementingClass() {
+ return taskImplementingClass;
+ }
+
+ /**
+ * Sets the class that implements the actual task (must implement {@link Task}).
+ * @param taskImplementingClass The task implementing class.
+ */
+ public void setTaskImplementingClass(String taskImplementingClass) {
+ this.taskImplementingClass = taskImplementingClass;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ if (getId() != null) {
+ builder.append("id=");
+ builder.append(getId());
+ }
+ if (async != DEFAULT_ASYNC) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("async=");
+ builder.append(async);
+ }
+ if (taskImplementingClass != null) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("taskImplementingClass=");
+ builder.append(taskImplementingClass);
+ }
+ if (CollectionUtils.isNotEmpty(getIncomingTransitions())) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("incomingTransitions=");
+ builder.append(getIncomingTransitions());
+ }
+ if (CollectionUtils.isNotEmpty(getOutgoingTransitions())) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("outgoingTransitions=");
+ builder.append(getOutgoingTransitions());
+ }
+ builder.insert(0, "TaskInfo [");
+ builder.append("]");
+ return builder.toString();
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/Transition.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/Transition.java
new file mode 100644
index 000000000..bc3005534
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/model/Transition.java
@@ -0,0 +1,136 @@
+package at.gv.egovernment.moa.id.process.model;
+
+import java.io.Serializable;
+
+import at.gv.egovernment.moa.id.process.ProcessDefinitionParser;
+
+/**
+ * Represents a single transition from a {@link StartEvent} or {@linkplain TaskInfo Task} to another
+ * {@linkplain TaskInfo Task} or {@link EndEvent}.
+ *
+ * @author tknall
+ *
+ */
+public class Transition implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private String id;
+ private String conditionExpression;
+ private ProcessNode from;
+ private ProcessNode to;
+
+ /**
+ * Returns the process node (effectively a {@link StartEvent} or {@linkplain TaskInfo Task}) the transition is
+ * pointing from.
+ *
+ * @return The transition's source process node (never {@code null} if transition comes from a process definition
+ * from {@link ProcessDefinitionParser}).
+ */
+ public ProcessNode getFrom() {
+ return from;
+ }
+
+ /**
+ * Sets the process node the transition is pointing from.
+ *
+ * @param from
+ * The transition's source process node.
+ */
+ public void setFrom(ProcessNode from) {
+ this.from = from;
+ }
+
+ /**
+ * Returns the process node (effectively a {@linkplain TaskInfo Task} or {@link EndEvent}) the transition is
+ * pointing to.
+ *
+ * @return The transition's destination process node (never {@code null} if transition comes from a process
+ * definition from {@link ProcessDefinitionParser}).
+ */
+ public ProcessNode getTo() {
+ return to;
+ }
+
+ /**
+ * Sets the process node the transition is pointing to.
+ *
+ * @param to
+ * The transition's destination process node.
+ */
+ public void setTo(ProcessNode to) {
+ this.to = to;
+ }
+
+ /**
+ * Returns the unique identifier of the transition.
+ *
+ * @return The unique identifier (may be {@code null}).
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the unique identifier of the transition.
+ *
+ * @param id
+ * The unique identifier.
+ */
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * Returns the condition expression for this transition.
+ *
+ * @return The condition expression (may be {@code null}).
+ */
+ public String getConditionExpression() {
+ return conditionExpression;
+ }
+
+ /**
+ * Sets the condition expression for this transition.
+ *
+ * @param conditionExpression
+ * The condition expression.
+ */
+ public void setConditionExpression(String conditionExpression) {
+ this.conditionExpression = conditionExpression;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ if (id != null) {
+ builder.append("id=");
+ builder.append(id);
+ }
+ if (from != null) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("from.id=");
+ builder.append(from.getId());
+ }
+ if (to != null) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("to.id=");
+ builder.append(to.getId());
+ }
+ if (conditionExpression != null) {
+ if (builder.length() > 0) {
+ builder.append(", ");
+ }
+ builder.append("conditionExpression=");
+ builder.append(conditionExpression);
+ }
+ builder.insert(0, "Transition [");
+ builder.append("]");
+ return builder.toString();
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/spring/SpringExpressionEvaluator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/spring/SpringExpressionEvaluator.java
new file mode 100644
index 000000000..5b30c7172
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/spring/SpringExpressionEvaluator.java
@@ -0,0 +1,61 @@
+package at.gv.egovernment.moa.id.process.spring;
+
+import java.util.Objects;
+
+import javax.annotation.PostConstruct;
+
+import org.apache.commons.lang3.BooleanUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.expression.BeanFactoryResolver;
+import org.springframework.expression.Expression;
+import org.springframework.expression.ExpressionParser;
+import org.springframework.expression.spel.standard.SpelExpressionParser;
+import org.springframework.expression.spel.support.StandardEvaluationContext;
+
+import at.gv.egovernment.moa.id.process.api.ExpressionEvaluationContext;
+import at.gv.egovernment.moa.id.process.api.ExpressionEvaluator;
+import at.gv.egovernment.moa.id.process.model.Transition;
+
+/**
+ * Expression evaluator for processing {@link Transition} conditions allowing to reference Spring beans from the
+ * application context.
+ *
+ * @author tknall
+ *
+ */
+public class SpringExpressionEvaluator implements ExpressionEvaluator {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+ private ExpressionParser parser = new SpelExpressionParser();
+ private StandardEvaluationContext evaluationContext = new StandardEvaluationContext();
+
+ @Autowired(required = false)
+ private ApplicationContext ctx;
+
+ @PostConstruct
+ private void init() {
+ if (ctx != null) {
+ evaluationContext.setBeanResolver(new BeanFactoryResolver(ctx));
+ }
+ }
+
+ @Override
+ public boolean evaluate(ExpressionEvaluationContext expressionContext, String expression) {
+ Objects.requireNonNull(expression, "Expression must not be null.");
+ log.trace("Evaluating '{}'.", expression);
+
+ Expression expr = parser.parseExpression(expression);
+ Boolean result = expr.getValue(evaluationContext, expressionContext, Boolean.class);
+ if (result == null) {
+ log.warn("Evaluation of '{}' results in null-value.", expression);
+ } else {
+ log.debug("Expression '{}' -> {}", expression, result);
+ }
+
+ return BooleanUtils.isTrue(result);
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/AbstractAuthSourceServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/AbstractAuthSourceServlet.java
new file mode 100644
index 000000000..738b58834
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/AbstractAuthSourceServlet.java
@@ -0,0 +1,116 @@
+package at.gv.egovernment.moa.id.process.springweb;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.NoSuchBeanDefinitionException;
+import org.springframework.beans.factory.NoUniqueBeanDefinitionException;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+import at.gv.egovernment.moa.id.process.ProcessEngine;
+import at.gv.egovernment.moa.id.process.ProcessInstance;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+
+/**
+ * Abstract HttpServlet that provides means for retrieving the process engine (Spring Web required) as well as
+ * retrieving the underlying process instance and execution context evaluating a certain request parameter.
+ *
+ * @author tknall
+ *
+ */
+public abstract class AbstractAuthSourceServlet extends HttpServlet {
+
+ private static final long serialVersionUID = 1L;
+
+ private ProcessEngine processEngine;
+
+ /**
+ * Returns the name of the request parameter representing the respective instance id.
+ * <p/>Default is {@code processInstanceId}.
+ * @return The request parameter name.
+ */
+ public String getProcessInstanceIdParameterName() {
+ return "processInstanceId";
+ }
+
+ /**
+ * Returns the underlying process engine instance.
+ *
+ * @return The process engine (never {@code null}).
+ * @throws NoSuchBeanDefinitionException
+ * if no {@link ProcessEngine} bean was found.
+ * @throws NoUniqueBeanDefinitionException
+ * if more than one {@link ProcessEngine} bean was found.
+ * @throws BeansException
+ * if a problem getting the {@link ProcessEngine} bean occurred.
+ * @throws IllegalStateException
+ * if the Spring WebApplicationContext was not found, which means that the servlet is used outside a
+ * Spring web environment.
+ */
+ public synchronized ProcessEngine getProcessEngine() {
+ if (processEngine == null) {
+ WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
+ if (ctx == null) {
+ throw new IllegalStateException(
+ "Unable to find Spring WebApplicationContext. Servlet needs to be executed within a Spring web environment.");
+ }
+ processEngine = ctx.getBean(ProcessEngine.class);
+ }
+ return processEngine;
+ }
+
+ /**
+ * Retrieves the process instance referenced by the request parameter {@link #getProcessInstanceIdParameterName()}.
+ *
+ * @param request
+ * The HttpServletRequest.
+ * @return The process instance (never {@code null}).
+ * @throws NoSuchBeanDefinitionException
+ * if no {@link ProcessEngine} bean was found.
+ * @throws NoUniqueBeanDefinitionException
+ * if more than one {@link ProcessEngine} bean was found.
+ * @throws BeansException
+ * if a problem getting the {@link ProcessEngine} bean occurred.
+ * @throws IllegalStateException
+ * if the Spring WebApplicationContext was not found, which means that the servlet is used outside a
+ * Spring web environment.
+ * @throws IllegalArgumentException
+ * in case the process instance id referenced by the request parameter
+ * {@link #getProcessInstanceIdParameterName()} does not exist.
+ */
+ public ProcessInstance getProcessInstance(HttpServletRequest request) {
+ String processInstanceId = StringUtils.trimToNull(request.getParameter(getProcessInstanceIdParameterName()));
+ if (processInstanceId == null) {
+ throw new IllegalArgumentException("Missing request parameter '" + getProcessInstanceIdParameterName() + "'.");
+ }
+ return getProcessEngine().getProcessInstance(processInstanceId);
+ }
+
+ /**
+ * Retrieves the execution context for the respective process instance referenced by the request parameter
+ * {@link #getProcessInstanceIdParameterName()}.
+ *
+ * @param request
+ * The HttpServletRequest.
+ * @return The execution context (never {@code null}).
+ * @throws NoSuchBeanDefinitionException
+ * if no {@link ProcessEngine} bean was found.
+ * @throws NoUniqueBeanDefinitionException
+ * if more than one {@link ProcessEngine} bean was found.
+ * @throws BeansException
+ * if a problem getting the {@link ProcessEngine} bean occurred.
+ * @throws IllegalStateException
+ * if the Spring WebApplicationContext was not found, which means that the servlet is used outside a
+ * Spring web environment.
+ * @throws IllegalArgumentException
+ * in case the process instance id referenced by the request parameter
+ * {@link #getProcessInstanceIdParameterName()} does not exist.
+ */
+ public ExecutionContext getExecutionContext(HttpServletRequest request) {
+ return getProcessInstance(request).getExecutionContext();
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/MoaIdTask.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/MoaIdTask.java
new file mode 100644
index 000000000..fb75fc8d7
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/MoaIdTask.java
@@ -0,0 +1,74 @@
+package at.gv.egovernment.moa.id.process.springweb;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+import org.springframework.web.filter.RequestContextFilter;
+
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.api.Task;
+
+/**
+ * Abstract task implementation providing {@link HttpServletRequest} and {@link HttpServletResponse}.
+ * <p/>
+ * Note that this abstract task requires the Spring (web) framework including a {@link RequestContextFilter} to be set
+ * within {@code web.xml}.
+ *
+ * <pre>
+ * ...
+ * &lt;filter&gt;
+ * &lt;filter-name&gt;requestContextFilter&lt;/filter-name&gt;
+ * &lt;filter-class&gt;org.springframework.web.filter.RequestContextFilter&lt;/filter-class&gt;
+ * &lt;/filter&gt;
+ * &lt;filter-mapping&gt;
+ * &lt;filter-name&gt;requestContextFilter&lt;/filter-name&gt;
+ * &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
+ * &lt;/filter-mapping&gt;
+ * ...
+ * </pre>
+ *
+ * @author tknall
+ *
+ */
+public abstract class MoaIdTask implements Task {
+
+ /**
+ * Executes the task providing the underlying {@link ExecutionContext} {@code executionContext} as well as the
+ * respective {@link HttpServletRequest} and {@link HttpServletResponse}.
+ *
+ * @param executionContext
+ * The execution context (never {@code null}).
+ * @param request
+ * The HttpServletRequest (never {@code null}).
+ * @param response
+ * The HttpServletResponse (never {@code null}).
+ * @throws IllegalStateException
+ * Thrown in case the task is nur being run within the required environment. Refer to javadoc for
+ * further information.
+ * @throws Exception
+ * Thrown in case of error executing the task.
+ */
+ public abstract void execute(ExecutionContext executionContext, HttpServletRequest request,
+ HttpServletResponse response) throws TaskExecutionException;
+
+ @Override
+ public void execute(ExecutionContext executionContext) throws TaskExecutionException {
+ RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
+ if (requestAttributes != null && requestAttributes instanceof ServletRequestAttributes) {
+ HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();
+ HttpServletResponse response = ((ServletRequestAttributes) requestAttributes).getResponse();
+ if (request == null || response == null) {
+ throw new IllegalStateException(
+ "Spring's RequestContextHolder did not provide HttpServletResponse. Did you forget to set the required org.springframework.web.filter.RequestContextFilter in your web.xml.");
+ }
+ execute(executionContext, request, response);
+ } else {
+ throw new IllegalStateException("Task needs to be executed within a Spring web environment.");
+ }
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/SpringWebExpressionEvaluator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/SpringWebExpressionEvaluator.java
new file mode 100644
index 000000000..af6822ba6
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/SpringWebExpressionEvaluator.java
@@ -0,0 +1,143 @@
+package at.gv.egovernment.moa.id.process.springweb;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Objects;
+
+import javax.annotation.PostConstruct;
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.BooleanUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.expression.BeanFactoryResolver;
+import org.springframework.expression.Expression;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import org.springframework.expression.ExpressionParser;
+import org.springframework.expression.spel.standard.SpelExpressionParser;
+import org.springframework.expression.spel.support.StandardEvaluationContext;
+
+import at.gv.egovernment.moa.id.process.api.ExpressionEvaluationContext;
+import at.gv.egovernment.moa.id.process.api.ExpressionEvaluator;
+import at.gv.egovernment.moa.id.process.model.Transition;
+
+/**
+ * Expression evaluator for processing {@link Transition} conditions allowing to
+ * <ul>
+ * <li>reference Spring beans from the application context using {@code @myBeanName...},</li>
+ * <li>{@link ExecutionContext} properties using {@code ctx['property']},</li>
+ * <li>Multi valued {@link HttpServletRequest} parameters using {@code requestParameters['foo']} (keep in mind that this
+ * expression returns an array of String values) and</li>
+ * <li>Single valued {@link HttpServletRequest} parameters using {@code requestParameter['foo']}</li>
+ * </ul>
+ *
+ * @author tknall
+ *
+ */
+public class SpringWebExpressionEvaluator implements ExpressionEvaluator {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+ private ExpressionParser parser = new SpelExpressionParser();
+ private StandardEvaluationContext evaluationContext = new StandardEvaluationContext();
+
+ @Autowired(required = false)
+ private ApplicationContext ctx;
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @PostConstruct
+ private void init() {
+ if (ctx != null) {
+ evaluationContext.setBeanResolver(new BeanFactoryResolver(ctx));
+ }
+ }
+
+ /**
+ * Evaluation context that provides access to {@link HttpServletRequest} parameters using
+ * {@code requestParameter['foo']} for single value parameters or {@code requestParameters['foo']} for multi value
+ * parameters. Basic calls to {@code ctx} will be delegated.
+ *
+ * @author tknall
+ *
+ */
+ private class SpringWebExpressionEvaluationContext implements ExpressionEvaluationContext {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Creates a new expression evaluation context, providing access to HttpServletRequest parameter(s).
+ *
+ * @param delegate
+ * The original {@link ExpressionEvaluationContext} to be delegated to for {@code ctx['foo']}
+ * expressions.
+ */
+ public SpringWebExpressionEvaluationContext(ExpressionEvaluationContext delegate) {
+ this.delegate = delegate;
+ }
+
+ private ExpressionEvaluationContext delegate;
+
+ @Override
+ public Map<String, Serializable> getCtx() {
+ return delegate.getCtx();
+ }
+
+ @SuppressWarnings("unused")
+ public Map<String, String> getRequestParameter() {
+ if (request != null) {
+ Map<String, String> singleValueMap = new HashMap<String, String>();
+ Iterator<Entry<String, String[]>> it = request.getParameterMap().entrySet().iterator();
+ while (it.hasNext()) {
+ Entry<String, String[]> entry = it.next();
+ if (ArrayUtils.isNotEmpty(entry.getValue())) {
+ singleValueMap.put(entry.getKey(), entry.getValue()[0]);
+ }
+ }
+ return singleValueMap;
+ } else {
+ return Collections.<String, String> emptyMap();
+ }
+ }
+
+ @SuppressWarnings("unused")
+ public Map<String, String[]> getRequestParameters() {
+ if (request != null) {
+ return request.getParameterMap();
+ } else {
+ return Collections.<String, String[]> emptyMap();
+ }
+ }
+
+ }
+
+ @Override
+ public boolean evaluate(ExpressionEvaluationContext expressionContext, String expression) {
+ Objects.requireNonNull(expression, "Expression must not be null.");
+ log.trace("Evaluating '{}'.", expression);
+
+ Expression expr = parser.parseExpression(expression);
+ Boolean result = null;
+ try {
+ result = expr.getValue(evaluationContext, new SpringWebExpressionEvaluationContext(expressionContext),
+ Boolean.class);
+ if (result == null) {
+ log.warn("Evaluation of '{}' results in null-value.", expression);
+ } else {
+ log.debug("Expression '{}' -> {}", expression, result);
+ }
+ } catch (Exception e) {
+ log.warn("Expression '{}' could not be processed.", expression, e);
+ }
+
+ return BooleanUtils.isTrue(result);
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/support/SecureRandomHolder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/support/SecureRandomHolder.java
new file mode 100644
index 000000000..72677739a
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/support/SecureRandomHolder.java
@@ -0,0 +1,35 @@
+package at.gv.egovernment.moa.id.process.support;
+
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+
+/**
+ * Holder for a secure random instance following the initialization on demand holder design pattern. The secure random
+ * instance is a singleton that is initialized on first usage.
+ *
+ * @author tknall
+ *
+ */
+public class SecureRandomHolder {
+
+ private SecureRandomHolder() {
+ }
+
+ private static final SecureRandom SRND_INSTANCE;
+ static {
+ try {
+ SRND_INSTANCE = SecureRandom.getInstance("SHA1PRNG");
+ } catch (NoSuchAlgorithmException e) {
+ throw new RuntimeException("Unable to instantiate SHA1PRNG.", e);
+ }
+ }
+
+ /**
+ * Returns a secure random generator instance.
+ * @return The secure random instance.
+ */
+ public static SecureRandom getInstance() {
+ return SecureRandomHolder.SRND_INSTANCE;
+ }
+
+} \ No newline at end of file
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/PVPConstants.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/PVPConstants.java
index 1f3e86ff6..168f2362a 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/PVPConstants.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/PVPConstants.java
@@ -237,12 +237,12 @@ public interface PVPConstants {
public static final String MANDATE_PROF_REP_OID_OID = "1.2.40.0.10.2.1.1.261.86";
public static final String MANDATE_PROF_REP_OID_NAME = URN_OID_PREFIX + MANDATE_PROF_REP_OID_OID;
- public static final String MANDATE_PROF_REP_OID_FRIENDLY_NAME = "MANDATOR-PROF-REP-OID";
+ public static final String MANDATE_PROF_REP_OID_FRIENDLY_NAME = "MANDATE-PROF-REP-OID";
public static final int MANDATE_PROF_REP_OID_MAX_LENGTH = 256;
public static final String MANDATE_PROF_REP_DESC_OID = "1.2.40.0.10.2.1.1.261.88";
public static final String MANDATE_PROF_REP_DESC_NAME = URN_OID_PREFIX + MANDATE_PROF_REP_DESC_OID;
- public static final String MANDATE_PROF_REP_DESC_FRIENDLY_NAME = "MANDATOR-PROF-REP-DESCRIPTION";
+ public static final String MANDATE_PROF_REP_DESC_FRIENDLY_NAME = "MANDATE-PROF-REP-DESCRIPTION";
public static final int MANDATE_PROF_REP_DESC_MAX_LENGTH = 1024;
public static final String MANDATE_REFERENCE_VALUE_OID = "1.2.40.0.10.2.1.1.261.90";
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java
index b22941216..aa154b84b 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java
@@ -135,8 +135,10 @@ public class SingleLogOutAction implements IAction {
if (MiscUtil.isEmpty(ssoID)) {
Logger.warn("Can not find active Session. Single LogOut not possible!");
SingleLogoutService sloService = SingleLogOutBuilder.getResponseSLODescriptor(pvpReq);
- LogoutResponse message = SingleLogOutBuilder.buildSLOErrorResponse(sloService, pvpReq, StatusCode.RESPONDER_URI);
- SingleLogOutBuilder.sendFrontChannelSLOMessage(sloService, message, httpReq, httpResp, samlReq.getRelayState());
+ //LogoutResponse message = SingleLogOutBuilder.buildSLOErrorResponse(sloService, pvpReq, StatusCode.RESPONDER_URI);
+ LogoutResponse message = SingleLogOutBuilder.buildSLOResponseMessage(sloService, pvpReq, null);
+ Logger.info("Sending SLO success message to requester ...");
+ SingleLogOutBuilder.sendFrontChannelSLOMessage(sloService, message, httpReq, httpResp, samlReq.getRelayState());
return null;
} else {
@@ -147,7 +149,9 @@ public class SingleLogOutAction implements IAction {
} catch (MOADatabaseException e) {
Logger.warn("Can not find active Session. Single LogOut not possible!");
SingleLogoutService sloService = SingleLogOutBuilder.getResponseSLODescriptor(pvpReq);
- LogoutResponse message = SingleLogOutBuilder.buildSLOErrorResponse(sloService, pvpReq, StatusCode.RESPONDER_URI);
+ //LogoutResponse message = SingleLogOutBuilder.buildSLOErrorResponse(sloService, pvpReq, StatusCode.RESPONDER_URI);
+ LogoutResponse message = SingleLogOutBuilder.buildSLOResponseMessage(sloService, pvpReq, null);
+ Logger.info("Sending SLO success message to requester ...");
SingleLogOutBuilder.sendFrontChannelSLOMessage(sloService, message, httpReq, httpResp, samlReq.getRelayState());
return null;
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java
index 01139d95c..50f42d928 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java
@@ -43,6 +43,7 @@ import org.opensaml.saml2.core.StatusCode;
import org.opensaml.saml2.core.StatusMessage;
import org.opensaml.saml2.core.StatusResponseType;
import org.opensaml.saml2.metadata.EntityDescriptor;
+import org.opensaml.saml2.metadata.IDPSSODescriptor;
import org.opensaml.saml2.metadata.SPSSODescriptor;
import org.opensaml.saml2.metadata.SSODescriptor;
import org.opensaml.saml2.metadata.SingleLogoutService;
@@ -348,17 +349,29 @@ public class SingleLogOutBuilder {
public static SingleLogoutService getResponseSLODescriptor(PVPTargetConfiguration spRequest) throws NoMetadataInformationException, NOSLOServiceDescriptorException {
MOARequest moaReq = (MOARequest) spRequest.getRequest();
EntityDescriptor metadata = moaReq.getEntityMetadata();
- SPSSODescriptor spsso = metadata.getSPSSODescriptor(SAMLConstants.SAML20P_NS);
+ SSODescriptor ssodesc = metadata.getSPSSODescriptor(SAMLConstants.SAML20P_NS);
+
+ if (ssodesc == null) {
+ Logger.debug("No PVP SPSSO descriptor found --> search IDPSSO descriptor");
+ ssodesc = metadata.getIDPSSODescriptor(SAMLConstants.SAML20P_NS);
+
+ }
+
+ if (ssodesc == null) {
+ Logger.error("Found no SLO ServiceDescriptor in Metadata");
+ throw new NOSLOServiceDescriptorException("NO SLO ServiceDescriptor", null);
+ }
+
SingleLogoutService sloService = null;
- for (SingleLogoutService el : spsso.getSingleLogoutServices()) {
+ for (SingleLogoutService el : ssodesc.getSingleLogoutServices()) {
if (el.getBinding().equals(spRequest.getBinding()))
sloService = el;
}
if (sloService == null) {
- if (spsso.getSingleLogoutServices().size() != 0)
- sloService = spsso.getSingleLogoutServices().get(0);
+ if (ssodesc.getSingleLogoutServices().size() != 0)
+ sloService = ssodesc.getSingleLogoutServices().get(0);
else {
Logger.error("Found no SLO ServiceDescriptor in Metadata");
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/MandateProfRepDescAttributeBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/MandateProfRepDescAttributeBuilder.java
index 4c981cb24..e7ba26158 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/MandateProfRepDescAttributeBuilder.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/attributes/MandateProfRepDescAttributeBuilder.java
@@ -22,10 +22,14 @@
*******************************************************************************/
package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes;
+import org.w3c.dom.Element;
+
+import at.gv.e_government.reference.namespace.mandates._20040701_.Mandate;
import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
import at.gv.egovernment.moa.id.data.IAuthData;
import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException;
import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.NoMandateDataAttributeException;
+import at.gv.egovernment.moa.id.util.MandateBuilder;
import at.gv.egovernment.moa.id.util.client.mis.simple.MISMandate;
import at.gv.egovernment.moa.util.MiscUtil;
@@ -37,23 +41,36 @@ public class MandateProfRepDescAttributeBuilder implements IPVPAttributeBuilder
public <ATT> ATT build(OAAuthParameter oaParam, IAuthData authData,
IAttributeGenerator<ATT> g) throws AttributeException {
- if(authData.isUseMandate()) {
- MISMandate mandate = authData.getMISMandate();
-
+ if(authData.isUseMandate()) {
+ String text = null;
- if(mandate == null) {
+ MISMandate misMandate = authData.getMISMandate();
+
+ if(misMandate == null) {
throw new NoMandateDataAttributeException();
}
+
+ text = misMandate.getTextualDescriptionOfOID();
- String text = mandate.getTextualDescriptionOfOID();
+ if (MiscUtil.isEmpty(text)) {
+ Element mandate = authData.getMandate();
+ if (mandate == null) {
+ throw new NoMandateDataAttributeException();
+ }
- if(MiscUtil.isEmpty(text)) {
- return null;
+ Mandate mandateObject = MandateBuilder.buildMandate(authData.getMandate());
+ if (mandateObject == null) {
+ throw new NoMandateDataAttributeException();
+ }
+
+ text = mandateObject.getAnnotation();
- } else
+ }
+
+ if(MiscUtil.isNotEmpty(text))
return g.buildStringAttribute(MANDATE_PROF_REP_DESC_FRIENDLY_NAME,
MANDATE_PROF_REP_DESC_NAME, text);
-
+
}
return null;
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/SchemaValidationException.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/SchemaValidationException.java
new file mode 100644
index 000000000..fc4ed1f28
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/SchemaValidationException.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2014 Federal Chancellery Austria
+ * MOA-ID has been developed in a cooperation between BRZ, the Federal
+ * Chancellery Austria - ICT staff unit, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://www.osor.eu/eupl/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text
+ * file for details on the various modules and licenses.
+ * The "NOTICE" text file is part of the distribution. Any derivative works
+ * that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+package at.gv.egovernment.moa.id.protocols.pvp2x.exceptions;
+
+/**
+ * @author tlenz
+ *
+ */
+public class SchemaValidationException extends PVP2Exception {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * @param messageId
+ * @param parameters
+ */
+ public SchemaValidationException(String messageId, Object[] parameters) {
+ super(messageId, parameters);
+ }
+
+ /**
+ * @param messageId
+ * @param parameters
+ */
+ public SchemaValidationException(String messageId, Object[] parameters, Throwable e) {
+ super(messageId, parameters, e);
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/filter/SchemaValidationException.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/filter/SchemaValidationException.java
new file mode 100644
index 000000000..8da5edeed
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/filter/SchemaValidationException.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2014 Federal Chancellery Austria
+ * MOA-ID has been developed in a cooperation between BRZ, the Federal
+ * Chancellery Austria - ICT staff unit, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://www.osor.eu/eupl/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text
+ * file for details on the various modules and licenses.
+ * The "NOTICE" text file is part of the distribution. Any derivative works
+ * that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+package at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter;
+
+import org.opensaml.saml2.metadata.provider.FilterException;
+
+/**
+ * @author tlenz
+ *
+ */
+public class SchemaValidationException extends FilterException {
+
+ /**
+ * @param string
+ */
+ public SchemaValidationException(String string) {
+ super(string);
+
+ }
+
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/filter/SignatureValidationException.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/filter/SignatureValidationException.java
new file mode 100644
index 000000000..86a6a777b
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/filter/SignatureValidationException.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2014 Federal Chancellery Austria
+ * MOA-ID has been developed in a cooperation between BRZ, the Federal
+ * Chancellery Austria - ICT staff unit, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://www.osor.eu/eupl/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text
+ * file for details on the various modules and licenses.
+ * The "NOTICE" text file is part of the distribution. Any derivative works
+ * that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+package at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter;
+
+import org.opensaml.saml2.metadata.provider.FilterException;
+
+/**
+ * @author tlenz
+ *
+ */
+public class SignatureValidationException extends FilterException {
+
+ /**
+ * @param string
+ */
+ public SignatureValidationException(String string) {
+ super(string);
+
+ }
+
+ /**
+ * @param e
+ */
+ public SignatureValidationException(Exception e) {
+ super(e);
+ }
+
+ /**
+ * @param string
+ * @param object
+ */
+ public SignatureValidationException(String string, Exception e) {
+ super(string, e);
+ }
+
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/loginFormFull.html b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/loginFormFull.html
index 3eff06daf..5ae76ed96 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/loginFormFull.html
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/loginFormFull.html
@@ -842,7 +842,7 @@ input {
src="#CONTEXTPATH#/img/valid-html5-blue.png" alt="HTML5 ist valide!" />
</a> <a href="http://jigsaw.w3.org/css-validator/"> <img
style="border: 0; width: 88px; height: 31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java
index cba64e080..d493ef9e0 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java
@@ -55,8 +55,11 @@ import at.gv.egovernment.moa.id.commons.ex.MOAHttpProtocolSocketFactoryException
import at.gv.egovernment.moa.id.commons.utils.MOAHttpProtocolSocketFactory;
import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;
+import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter.SchemaValidationException;
+import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter.SignatureValidationException;
import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.InterfederatedIDPPublicServiceFilter;
import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.MetadataFilterChain;
+import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.SchemaValidationFilter;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.MiscUtil;
@@ -324,6 +327,7 @@ public class MOAMetadataProvider implements MetadataProvider {
private MetadataFilterChain buildMetadataFilterChain(OnlineApplication oa, String metadataURL, byte[] certificate) throws CertificateException {
MetadataFilterChain filterChain = new MetadataFilterChain(metadataURL, certificate);
+ filterChain.getFilters().add(new SchemaValidationFilter());
if (oa.isIsInterfederationIDP() != null && oa.isIsInterfederationIDP()) {
Logger.info("Online-Application is an interfederated IDP. Add addional Metadata policies");
@@ -374,12 +378,22 @@ public class MOAMetadataProvider implements MetadataProvider {
httpProvider.setMetadataFilter(filter);
httpProvider.initialize();
+ httpProvider.setRequireValidMetadata(true);
+
return httpProvider;
- } catch (Throwable e) {
+ } catch (Throwable e) {
if (e.getCause() != null && e.getCause().getCause() instanceof SSLHandshakeException) {
Logger.warn("SSL-Server certificate for metadata "
- + metadataURL + " not trusted.", e);
+ + metadataURL + " not trusted.", e);
+
+ } if (e.getCause() != null && e.getCause().getCause() instanceof SignatureValidationException) {
+ Logger.warn("Signature verification for metadata"
+ + metadataURL + " FAILED.", e);
+
+ } if (e.getCause() != null && e.getCause().getCause() instanceof SchemaValidationException) {
+ Logger.warn("Schema validation for metadata "
+ + metadataURL + " FAILED.", e);
}
Logger.error(
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java
index f0373e214..26b3bfbd1 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java
@@ -54,8 +54,7 @@ public class AssertionAttributeExtractor {
private final List<String> minimalAttributeNameList = Arrays.asList(
PVPConstants.PRINCIPAL_NAME_NAME,
- PVPConstants.GIVEN_NAME_NAME,
- PVPConstants.BIRTHDATE_NAME);
+ PVPConstants.GIVEN_NAME_NAME);
public AssertionAttributeExtractor(StatusResponseType samlResponse) throws AssertionAttributeExtractorExeption {
@@ -119,16 +118,21 @@ public class AssertionAttributeExtractor {
//first check if a bPK or an encrypted bPK is available
if (attributs.containsKey(PVPConstants.ENC_BPK_LIST_NAME) ||
- (attributs.containsKey(PVPConstants.BPK_NAME) && attributs.containsKey(PVPConstants.EID_SECTOR_FOR_IDENTIFIER_NAME))) {
+ (attributs.containsKey(PVPConstants.BPK_NAME))) {
boolean flag = true;
for (String attr : attributeNameList) {
- if (!attributs.containsKey(attr))
+ if (!attributs.containsKey(attr)) {
flag = false;
+ Logger.debug("Assertion contains no Attribute " + attr);
+
+ }
+
}
return flag;
- }
+ }
+ Logger.debug("Assertion contains no bPK or encryptedbPK.");
return false;
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerificationEngine.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerificationEngine.java
index 4ba93f8fe..257f9dac4 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerificationEngine.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerificationEngine.java
@@ -25,14 +25,20 @@ package at.gv.egovernment.moa.id.protocols.pvp2x.verification;
import java.util.ArrayList;
import java.util.List;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.Validator;
+
import org.joda.time.DateTime;
import org.opensaml.common.xml.SAMLConstants;
+import org.opensaml.common.xml.SAMLSchemaBuilder;
import org.opensaml.saml2.core.Conditions;
import org.opensaml.saml2.core.EncryptedAssertion;
import org.opensaml.saml2.core.RequestAbstractType;
import org.opensaml.saml2.core.Response;
import org.opensaml.saml2.core.StatusCode;
import org.opensaml.saml2.core.StatusResponseType;
+import org.opensaml.saml2.core.validator.AuthnRequestSchemaValidator;
import org.opensaml.saml2.encryption.Decrypter;
import org.opensaml.saml2.encryption.EncryptedElementTypeEncryptedKeyResolver;
import org.opensaml.saml2.metadata.IDPSSODescriptor;
@@ -51,11 +57,14 @@ import org.opensaml.xml.security.keyinfo.StaticKeyInfoCredentialResolver;
import org.opensaml.xml.security.x509.X509Credential;
import org.opensaml.xml.signature.SignatureTrustEngine;
import org.opensaml.xml.validation.ValidationException;
+import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
import at.gv.egovernment.moa.id.auth.exception.InvalidProtocolRequestException;
import at.gv.egovernment.moa.id.config.ConfigurationException;
import at.gv.egovernment.moa.id.protocols.pvp2x.config.PVPConfiguration;
import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.AssertionValidationExeption;
+import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.SchemaValidationException;
import at.gv.egovernment.moa.id.protocols.pvp2x.messages.InboundMessage;
import at.gv.egovernment.moa.id.protocols.pvp2x.messages.MOARequest;
import at.gv.egovernment.moa.id.protocols.pvp2x.messages.MOAResponse;
@@ -81,9 +90,15 @@ public class SAMLVerificationEngine {
SAMLSignatureProfileValidator profileValidator = new SAMLSignatureProfileValidator();
try {
profileValidator.validate(samlObj.getSignature());
+ performSchemaValidation(samlObj.getDOM());
+
} catch (ValidationException e) {
- // Indicates signature did not conform to SAML Signature profile
- e.printStackTrace();
+ Logger.warn("Signature is not conform to SAML signature profile", e);
+ throw new InvalidProtocolRequestException("pvp2.21", new Object[] {});
+
+ } catch (SchemaValidationException e) {
+ throw new InvalidProtocolRequestException("pvp2.22", new Object[] {e.getMessage()});
+
}
CriteriaSet criteriaSet = new CriteriaSet();
@@ -103,12 +118,17 @@ public class SAMLVerificationEngine {
public void verifyRequest(RequestAbstractType samlObj, SignatureTrustEngine sigTrustEngine ) throws org.opensaml.xml.security.SecurityException, Exception {
SAMLSignatureProfileValidator profileValidator = new SAMLSignatureProfileValidator();
-
try {
- profileValidator.validate(samlObj.getSignature());
+ profileValidator.validate(samlObj.getSignature());
+ performSchemaValidation(samlObj.getDOM());
+
} catch (ValidationException e) {
- // Indicates signature did not conform to SAML Signature profile
- e.printStackTrace();
+ Logger.warn("Signature is not conform to SAML signature profile", e);
+ throw new InvalidProtocolRequestException("pvp2.21", new Object[] {});
+
+ } catch (SchemaValidationException e) {
+ throw new InvalidProtocolRequestException("pvp2.22", new Object[] {e.getMessage()});
+
}
CriteriaSet criteriaSet = new CriteriaSet();
@@ -173,16 +193,27 @@ public class SAMLVerificationEngine {
List<org.opensaml.saml2.core.Assertion> validatedassertions = new ArrayList<org.opensaml.saml2.core.Assertion>();
for (org.opensaml.saml2.core.Assertion saml2assertion : saml2assertions) {
- Conditions conditions = saml2assertion.getConditions();
- DateTime notbefore = conditions.getNotBefore();
+ try {
+ performSchemaValidation(saml2assertion.getDOM());
+
+ Conditions conditions = saml2assertion.getConditions();
+ DateTime notbefore = conditions.getNotBefore().minusMinutes(5);
DateTime notafter = conditions.getNotOnOrAfter();
if ( notbefore.isAfterNow() || notafter.isBeforeNow() ) {
- Logger.warn("PVP2 Assertion is out of Date");
+ Logger.warn("PVP2 Assertion is out of Date. "
+ + "{ Current : " + new DateTime()
+ + " NotBefore: " + notbefore
+ + " NotAfter : " + notafter
+ + " }");;
- } else {
- validatedassertions.add(saml2assertion);
+ } else {
+ validatedassertions.add(saml2assertion);
+
+ }
+
+ } catch (SchemaValidationException e) {
- }
+ }
}
if (validatedassertions.isEmpty()) {
@@ -213,4 +244,35 @@ public class SAMLVerificationEngine {
throw new AssertionValidationExeption("pvp.12", null, e);
}
}
+
+ private static void performSchemaValidation(Element source) throws SchemaValidationException {
+
+ String err = null;
+ try {
+ Schema test = SAMLSchemaBuilder.getSAML11Schema();
+ Validator val = test.newValidator();
+ val.validate(new DOMSource(source));
+ Logger.debug("Schema validation check done OK");
+ return;
+
+ } catch (SAXException e) {
+ err = e.getMessage();
+ if (Logger.isDebugEnabled() || Logger.isTraceEnabled())
+ Logger.warn("Schema validation FAILED with exception:", e);
+ else
+ Logger.warn("Schema validation FAILED with message: "+ e.getMessage());
+
+ } catch (Exception e) {
+ err = e.getMessage();
+ if (Logger.isDebugEnabled() || Logger.isTraceEnabled())
+ Logger.warn("Schema validation FAILED with exception:", e);
+ else
+ Logger.warn("Schema validation FAILED with message: "+ e.getMessage());
+
+ }
+
+ throw new SchemaValidationException("pvp2.22", new Object[]{err});
+
+ }
+
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/InterfederatedIDPPublicServiceFilter.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/InterfederatedIDPPublicServiceFilter.java
index 3d608fd6d..4d9b97a52 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/InterfederatedIDPPublicServiceFilter.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/InterfederatedIDPPublicServiceFilter.java
@@ -26,7 +26,6 @@ import org.opensaml.saml2.metadata.provider.FilterException;
import org.opensaml.saml2.metadata.provider.MetadataFilter;
import org.opensaml.xml.XMLObject;
-import at.gv.egovernment.moa.id.commons.db.dao.config.InterfederationIDPType;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
import at.gv.egovernment.moa.logging.Logger;
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/MetadataSignatureFilter.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/MetadataSignatureFilter.java
index 0405fa114..6dac4bba1 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/MetadataSignatureFilter.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/MetadataSignatureFilter.java
@@ -39,6 +39,7 @@ import org.opensaml.xml.security.x509.BasicX509Credential;
import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.NoCredentialsException;
+import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter.SignatureValidationException;
import at.gv.egovernment.moa.id.protocols.pvp2x.verification.EntityVerifier;
import at.gv.egovernment.moa.logging.Logger;
@@ -126,7 +127,7 @@ public class MetadataSignatureFilter implements MetadataFilter {
desc.getEntityDescriptors().addAll(verifiedEntIT);
}
- public void doFilter(XMLObject metadata) throws FilterException {
+ public void doFilter(XMLObject metadata) throws SignatureValidationException {
try {
if (metadata instanceof EntitiesDescriptor) {
EntitiesDescriptor entitiesDescriptor = (EntitiesDescriptor) metadata;
@@ -155,7 +156,7 @@ public class MetadataSignatureFilter implements MetadataFilter {
Logger.info("Metadata signature policy check done OK");
} catch (MOAIDException e) {
Logger.warn("Metadata signature policy check FAILED.", e);
- throw new FilterException(e);
+ throw new SignatureValidationException(e);
}
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/SchemaValidationFilter.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/SchemaValidationFilter.java
new file mode 100644
index 000000000..f73b541bf
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/SchemaValidationFilter.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2014 Federal Chancellery Austria
+ * MOA-ID has been developed in a cooperation between BRZ, the Federal
+ * Chancellery Austria - ICT staff unit, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://www.osor.eu/eupl/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text
+ * file for details on the various modules and licenses.
+ * The "NOTICE" text file is part of the distribution. Any derivative works
+ * that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+package at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata;
+
+import org.opensaml.saml2.metadata.provider.FilterException;
+import org.opensaml.saml2.metadata.provider.MetadataFilter;
+import org.opensaml.xml.XMLObject;
+
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.Validator;
+
+import org.opensaml.common.xml.SAMLSchemaBuilder;
+
+import org.xml.sax.SAXException;
+
+import at.gv.egovernment.moa.id.config.ConfigurationException;
+import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
+import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter.SchemaValidationException;
+import at.gv.egovernment.moa.logging.Logger;
+
+/**
+ * @author tlenz
+ *
+ */
+public class SchemaValidationFilter implements MetadataFilter {
+
+ private boolean isActive = true;
+
+ public SchemaValidationFilter() {
+ try {
+ isActive = AuthConfigurationProvider.getInstance().isPVPSchemaValidationActive();
+
+ } catch (ConfigurationException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ *
+ */
+ public SchemaValidationFilter(boolean useSchemaValidation) {
+ this.isActive = useSchemaValidation;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.opensaml.saml2.metadata.provider.MetadataFilter#doFilter(org.opensaml.xml.XMLObject)
+ */
+ @Override
+ public void doFilter(XMLObject arg0) throws SchemaValidationException {
+
+ String errString = null;
+
+ if (isActive) {
+ try {
+ Schema test = SAMLSchemaBuilder.getSAML11Schema();
+ Validator val = test.newValidator();
+ DOMSource source = new DOMSource(arg0.getDOM());
+ val.validate(source);
+ Logger.info("Metadata Schema validation check done OK");
+ return;
+
+ } catch (SAXException e) {
+ if (Logger.isDebugEnabled() || Logger.isTraceEnabled())
+ Logger.warn("Metadata Schema validation FAILED with exception:", e);
+ else
+ Logger.warn("Metadata Schema validation FAILED with message: "+ e.getMessage());
+
+ errString = e.getMessage();
+
+ } catch (Exception e) {
+ if (Logger.isDebugEnabled() || Logger.isTraceEnabled())
+ Logger.warn("Metadata Schema validation FAILED with exception:", e);
+ else
+ Logger.warn("Metadata Schema validation FAILED with message: "+ e.getMessage());
+
+ errString = e.getMessage();
+
+ }
+
+ throw new SchemaValidationException("Metadata Schema validation FAILED with message: "+ errString);
+
+ } else
+ Logger.info("Metadata Schema validation check is DEACTIVATED!");
+
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java
index 67f780b3a..4cdd1db01 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java
@@ -83,7 +83,7 @@ public class GetArtifactAction implements IAction {
String url = AuthConfigurationProvider.getInstance().getPublicURLPrefix() + "/RedirectServlet";
url = addURLParameter(url, RedirectServlet.REDIRCT_PARAM_URL, URLEncoder.encode(oaURL, "UTF-8"));
if (!oaParam.getBusinessService())
- url = addURLParameter(url, PARAM_TARGET, URLEncoder.encode(oaParam.getTarget(), "UTF-8"));
+ url = addURLParameter(url, PARAM_TARGET, URLEncoder.encode(req.getTarget(), "UTF-8"));
url = addURLParameter(url, PARAM_SAMLARTIFACT, URLEncoder.encode(samlArtifactBase64, "UTF-8"));
url = httpResp.encodeRedirectURL(url);
@@ -95,7 +95,7 @@ public class GetArtifactAction implements IAction {
String redirectURL = oaURL;
if (!oaParam.getBusinessService()) {
redirectURL = addURLParameter(redirectURL, PARAM_TARGET,
- URLEncoder.encode(oaParam.getTarget(), "UTF-8"));
+ URLEncoder.encode(req.getTarget(), "UTF-8"));
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java
index 65e520cc3..c8a480cac 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java
@@ -64,6 +64,7 @@ import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.Base64Utils;
import at.gv.egovernment.moa.util.Constants;
import at.gv.egovernment.moa.util.DOMUtils;
+import at.gv.egovernment.moa.util.MiscUtil;
import at.gv.egovernment.moa.util.StringUtils;
import at.gv.util.xsd.persondata.IdentificationType;
import at.gv.util.xsd.persondata.IdentificationType.Value;
@@ -222,8 +223,14 @@ public class SAML1AuthenticationServer extends AuthenticationServer {
Value value = new Value();
id.setValue(value );
- id.setType(Constants.URN_PREFIX_BASEID);
- value.setValue("");
+ id.setType(authData.getIdentificationType());
+ //add baseID if it is requested and available
+ if ( MiscUtil.isNotEmpty(authData.getIdentificationValue()) &&
+ saml1parameter.isProvideIdentityLink() )
+ value.setValue(authData.getIdentificationValue());
+ else
+ value.setValue("");
+
familyName.setValue(authData.getFamilyName());
familyName.setPrimary("undefined");
name.getGivenName().add(authData.getGivenName());
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java
index 8f7f17e2e..9934c339d 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java
@@ -132,7 +132,7 @@ public class SAML1Protocol implements IModulInfo, MOAIDAuthConstants {
if (!ParamValidatorUtils.isValidOA(oaURL))
throw new WrongParametersException("StartAuthentication", PARAM_OA,
"auth.12");
-
+
config.setOAURL(oaURL);
Logger.info("Dispatch SAML1 Request: OAURL=" + oaURL);
@@ -156,8 +156,13 @@ public class SAML1Protocol implements IModulInfo, MOAIDAuthConstants {
new Object[] { null });
}
- config.setSourceID(sourceID);
- config.setTarget(oaParam.getTarget());
+ config.setSourceID(sourceID);
+ if (MiscUtil.isNotEmpty(target))
+ config.setTarget(target);
+
+ else
+ config.setTarget(oaParam.getTarget());
+
return config;
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java
index 8322f0cea..42e9bf25d 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java
@@ -26,12 +26,8 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AttributeProviderPlugin;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OAStorkAttribute;
-import at.gv.egovernment.moa.id.commons.db.dao.config.StorkAttribute;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
@@ -54,7 +50,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
- * the AttributeCollector Action tries to get all requested attributes from a set of {@link AttributeProvider} Plugins.
+ * The AttributeCollector Action tries to get all requested attributes from a set of {@link AttributeProvider} Plugins.
* The class is called whenever the {@link AuthenticationRequest} Action is invoked and checks for missing attributes.
* Furthermore, the class can handle direct posts. That is when the class triggers an attribute query which needs user
* interaction, redirect to another portal, etc. The redirect will hit here and the class can continue to fetch attributes.
@@ -84,8 +80,6 @@ public class AttributeCollector implements IAction {
}
- // TODO extract attribute response and check if it corresponds to the container
-
if (httpReq.getParameter("SAMLResponse") != null) {
Logger.info("Got SAML response from external attribute provider.");
@@ -110,7 +104,7 @@ public class AttributeCollector implements IAction {
STORKAuthnResponse authnResponse = null;
- // check if valid authn request is contained
+ // check if valid authn response is contained
try {
authnResponse = engine.validateSTORKAuthnResponse(decSamlToken, httpReq.getRemoteAddr());
} catch (STORKSAMLEngineException ex) {
@@ -119,9 +113,25 @@ public class AttributeCollector implements IAction {
STORK2Response.setSTORKAuthnResponseToken(decSamlToken);
+ // check if the attributes are provided for the same person from request
+ // requires presence of eIdentifier for unambigious correlation
+ Logger.debug("Checking if the attribute relates to the correct person..");
+ try {
+ String remoteEIdentifier= authnResponse.getPersonalAttributeList().get("eIdentifier").getValue().get(0);
+ String localEidentifier= container.getResponse().getStorkAuthnResponse().getPersonalAttributeList().get("eIdentifier").getValue().get(0);
+ if (!remoteEIdentifier.equals(localEidentifier)) {
+ Logger.error("The attribute is not provided for the same person!");
+ throw new MOAIDException("stork.25", null);
+ }
+ } catch (NullPointerException ex) {
+ Logger.warn("Could not check the correlation of attributes from external provider. Ignoring the check.");
+ //Logger.debug(ex);
+ //throw new MOAIDException("stork.04", null); // TODO revise message, raise exception when ehvd checked
+ }
+
if (authnResponse.getPersonalAttributeList().size() > 0) {
Logger.info("Response from external attribute provider contains " + authnResponse.getPersonalAttributeList().size() + " attributes.");
- addOrUpdateAll(container.getResponse().getPersonalAttributeList(), authnResponse.getPersonalAttributeList());
+ container.getResponse().setPersonalAttributeList(addOrUpdateAll(container.getResponse().getPersonalAttributeList(), authnResponse.getPersonalAttributeList()));
}
}
@@ -157,7 +167,7 @@ public class AttributeCollector implements IAction {
// - insert the embedded attribute(s) into the container
if (null != newAttributes)
- addOrUpdateAll(container.getResponse().getPersonalAttributeList(), newAttributes);
+ container.getResponse().setPersonalAttributeList(addOrUpdateAll(container.getResponse().getPersonalAttributeList(), newAttributes));
// see if we need some more attributes
SLOInformationImpl sloInfo = (SLOInformationImpl) processRequest(container, httpReq, httpResp, authData, oaParam);
@@ -184,9 +194,21 @@ public class AttributeCollector implements IAction {
IPersonalAttributeList requestAttributeList = container.getRequest().getPersonalAttributeList();
IPersonalAttributeList responseAttributeList = container.getResponse().getPersonalAttributeList();
List<PersonalAttribute> missingAttributes = new ArrayList<PersonalAttribute>();
+ Logger.debug("aquire list of missing attributes");
for (PersonalAttribute current : requestAttributeList)
- if (!responseAttributeList.containsKey(current.getName()))
- missingAttributes.add(current);
+ if (!responseAttributeList.containsKey(current.getName())) {
+ if(null == current.getStatus() || (null != current.getStatus() && !current.getStatus().equals(AttributeStatusType.WITHHELD.value()))) {
+ // add the ones we need
+ missingAttributes.add(current);
+ Logger.debug("add " + current.getName() + " to the list of missing attributes");
+ }
+ } else {
+ // remove the ones we do not want to share from the response list
+ if(null != current.getStatus() && current.getStatus().equals(AttributeStatusType.WITHHELD.value())) {
+ responseAttributeList.remove(current.getName());
+ Logger.debug("remove " + current.getName() + " from the list of resulting attributes because the user does not want to disclose the data");
+ }
+ }
Logger.info("collecting attributes...");
Logger.debug("found " + missingAttributes.size() + " missing attributes");
@@ -203,7 +225,8 @@ public class AttributeCollector implements IAction {
IPersonalAttributeList aquiredAttributes = new PersonalAttributeList();
currentAttribute.setStatus(AttributeStatusType.NOT_AVAILABLE.value());
aquiredAttributes.add((PersonalAttribute) currentAttribute.clone());
- addOrUpdateAll(container.getResponse().getPersonalAttributeList(), aquiredAttributes);
+ container.getResponse().setPersonalAttributeList(
+ addOrUpdateAll(container.getResponse().getPersonalAttributeList(), aquiredAttributes));
// - check if we can find a suitable AttributeProvider Plugin
Iterator<AttributeProvider> attibuteProvidersInterator = AttributeProviderFactory.getConfiguredPlugins(oaParam.getStorkAPs());
@@ -247,15 +270,12 @@ public class AttributeCollector implements IAction {
Logger.error("We have no suitable plugin for obtaining the attribute '" + currentAttribute.getName() + "'");
} else
// else, update any existing attributes
- addOrUpdateAll(container.getResponse().getPersonalAttributeList(), aquiredAttributes);
+ container.getResponse().setPersonalAttributeList(addOrUpdateAll(container.getResponse().getPersonalAttributeList(), aquiredAttributes));
}
Logger.info("collecting attributes done");
// ask for consent if necessary
- if(oaParam.isRequireConsentForStorkAttributes())
- new ConsentEvaluator().requestConsent(container, response, oaParam);
- else
- new ConsentEvaluator().generateSTORKResponse(response, container);
+ new ConsentEvaluator().generateSTORKResponse(response, container);
return null; // AssertionId
// TODO
@@ -296,15 +316,21 @@ public class AttributeCollector implements IAction {
*
* @param target the target
* @param source the source
+ * @return
* @throws MOAIDException
*/
- private void addOrUpdateAll(IPersonalAttributeList target, IPersonalAttributeList source) throws MOAIDException {
+ private PersonalAttributeList addOrUpdateAll(IPersonalAttributeList target, IPersonalAttributeList source) throws MOAIDException {
+
+ PersonalAttributeList updatedList = new PersonalAttributeList();
+ for (PersonalAttribute el : target)
+ updatedList.add(el);
+
Logger.debug("Updating " + source.size() + " attributes...");
for (PersonalAttribute current : source) {
Logger.debug("treating " + current.getName());
// check if we need to update the current pa
- if (target.containsKey(current.getName())) {
+ if (updatedList.containsKey(current.getName())) {
PersonalAttribute existing = target.get(current.getName());
if(!(existing.isEmptyValue() && existing.isEmptyComplexValue()))
if(!(existing.getValue().equals(current.getValue()) || existing.getComplexValue().equals(current.getComplexValue()))) {
@@ -312,14 +338,16 @@ public class AttributeCollector implements IAction {
throw new MOAIDException("stork.16", new Object[] {existing.getName()});
}
- target.get(current.getName()).setStatus(current.getStatus());
- target.get(current.getName()).setValue(current.getValue());
- target.get(current.getName()).setComplexValue(current.getComplexValue());
+ updatedList.get(current.getName()).setStatus(current.getStatus());
+ updatedList.get(current.getName()).setValue(current.getValue());
+ updatedList.get(current.getName()).setComplexValue(current.getComplexValue());
} else
- target.add(current);
+ updatedList.add(current);
- Logger.debug("...successfully treated " + current.getName());
+ Logger.debug("...successfully treated " + current.getName());
}
+
+ return updatedList;
}
/* (non-Javadoc)
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AuthenticationRequest.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AuthenticationRequest.java
index 859f4900b..01f84125f 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AuthenticationRequest.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AuthenticationRequest.java
@@ -163,7 +163,12 @@ public class AuthenticationRequest implements IAction {
Logger.debug("Data container prepared");
- return (new AttributeCollector()).processRequest(container, httpReq, httpResp, authData, oaParam);
+ if(oaParam.isRequireConsentForStorkAttributes())
+ new ConsentEvaluator().requestConsent(container, httpReq, httpResp, authData, oaParam);
+ else
+ new AttributeCollector().processRequest(container, httpReq, httpResp, authData, oaParam);
+
+ return null;
}
// // check if we are getting request for citizen of some other country
// else if (req instanceof MOASTORKRequest) {
@@ -494,11 +499,11 @@ public class AuthenticationRequest implements IAction {
Logger.debug("Personal attribute found in request: " + personalAttribute.getName() + " isRequired: " + personalAttribute.isRequired());
moaAttributeProvider.populateAttribute(attributeList, personalAttribute);
} catch (Exception e) {
- Logger.error("Exception, attributes: " + e.getMessage());
+ Logger.error("Exception, attributes: " + e.getMessage(), e);
}
}
} catch (Exception e) {
- Logger.error("Exception, attributes: " + e.getMessage());
+ Logger.error("Exception, attributes: " + e.getMessage(), e);
}
Logger.trace("AUTHBLOCK " + authData.getAuthBlock());
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/ConsentEvaluator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/ConsentEvaluator.java
index 2c5728798..3acd1039f 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/ConsentEvaluator.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/ConsentEvaluator.java
@@ -23,13 +23,17 @@
package at.gv.egovernment.moa.id.protocols.stork2;
import java.io.StringWriter;
+
+import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
+
import java.util.ArrayList;
import java.util.HashMap;
-import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import java.util.Map.Entry;
+
import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
-import at.gv.egovernment.moa.id.config.auth.IOAAuthParameters;
+import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
import at.gv.egovernment.moa.id.data.IAuthData;
import at.gv.egovernment.moa.id.data.SLOInformationInterface;
import at.gv.egovernment.moa.id.moduls.IAction;
@@ -39,14 +43,13 @@ import at.gv.egovernment.moa.id.util.VelocityProvider;
import at.gv.egovernment.moa.logging.Logger;
import eu.stork.peps.auth.commons.PEPSUtil;
import eu.stork.peps.auth.commons.PersonalAttribute;
-import eu.stork.peps.auth.commons.STORKAuthnResponse;
import eu.stork.peps.auth.engine.STORKSAMLEngine;
import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion.AttributeStatusType;
import eu.stork.peps.exceptions.STORKSAMLEngineException;
+
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
-import org.joda.time.DateTime;
import org.opensaml.common.impl.SecureRandomIdentifierGenerator;
import javax.servlet.http.HttpServletRequest;
@@ -72,23 +75,28 @@ public class ConsentEvaluator implements IAction {
DataContainer container;
try {
container = AssertionStorage.getInstance().get(artifactId, DataContainer.class);
+ req = container.getRequest();
} catch (MOADatabaseException e) {
Logger.error("Error fetching incomplete Stork response from temporary storage. Most likely a timeout occured.", e);
throw new MOAIDException("stork.17", null);
}
// evaluate response
- for(PersonalAttribute current : container.getResponse().getPersonalAttributeList()) {
+ for(PersonalAttribute current : container.getRequest().getPersonalAttributeList()) {
if(null == httpReq.getParameter(current.getName())) {
- current.setStatus(AttributeStatusType.NOT_AVAILABLE.value());
+ current.setStatus(AttributeStatusType.WITHHELD.value());
current.setValue(new ArrayList<String>());
current.setComplexValue(new HashMap<String, String>());
}
}
- // build and send response
- generateSTORKResponse(httpResp, container);
-
+ //TODO: CHECK: req.getOAURL() should return the unique OA identifier
+ OAAuthParameter oaParam = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(req.getOAURL());
+ if (oaParam == null)
+ throw new AuthenticationException("stork.12", new Object[]{req.getOAURL()});
+
+ new AttributeCollector().processRequest(container, httpReq, httpResp, authData, oaParam);
+
return null; // AssertionId
}
@@ -96,12 +104,19 @@ public class ConsentEvaluator implements IAction {
* Fills the given HttpResponse with the required web page.
*
* @param container the container
+ * @param authData
* @param response the response
* @param oaParam the oa param
* @return the string
* @throws MOAIDException the mOAID exception
*/
- public String requestConsent(DataContainer container, HttpServletResponse response, IOAAuthParameters oaParam) throws MOAIDException {
+ public String requestConsent(DataContainer container, HttpServletRequest httpReq, HttpServletResponse httpResp, IAuthData authData, OAAuthParameter oaParam) throws MOAIDException {
+ //check if we need to collect consent
+ if(!oaParam.isRequireConsentForStorkAttributes()) {
+ (new AttributeCollector()).processRequest(container, httpReq, httpResp, authData, oaParam);
+ return "";
+ }
+
// prepare redirect
String newArtifactId;
try {
@@ -130,19 +145,20 @@ public class ConsentEvaluator implements IAction {
Template template = velocityEngine.getTemplate("/resources/templates/stork2_consent.html");
VelocityContext context = new VelocityContext();
- context.put("action", AuthConfigurationProvider.getInstance().getPublicURLPrefix() + "/stork2/CompleteAuthentication?" + ARTIFACT_ID + "=" + newArtifactId);
+ context.put("action", AuthConfigurationProvider.getInstance().getPublicURLPrefix() + "/stork2/GetConsent?" + ARTIFACT_ID + "=" + newArtifactId);
// assemble table
String table = "";
- for (PersonalAttribute current : container.getResponse().getPersonalAttributeList())
- if ("Available".equals(current.getStatus()))
- table += "<tr><td><input type=\"checkbox\" checked=\"yes\" name=\"" + current.getName() + "\"></td><td>" + current.getName() + "</td></tr>\n";
+ for (PersonalAttribute current : container.getRequest().getPersonalAttributeList())
+ table += "<tr><td><input type=\"checkbox\" checked=\"yes\" name=\"" + current.getName() + "\"></td><td>" + current.getName() + (current.isRequired() ? "" : " (optional)") + "</td></tr>\n";
context.put("tablecontent", table);
+ for(Entry<String, String> current : oaParam.getFormCustomizaten().entrySet())
+ context.put(current.getKey().replace("#", ""), current.getValue());
StringWriter writer = new StringWriter();
template.merge(context, writer);
- response.getOutputStream().write(writer.getBuffer().toString().getBytes("UTF-8"));
+ httpResp.getOutputStream().write(writer.getBuffer().toString().getBytes("UTF-8"));
} catch (Exception e) {
Logger.error("Velocity error: " + e.getMessage());
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java
index 136200ed0..2c7e5b539 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java
@@ -26,21 +26,20 @@ import at.gv.egovernment.moa.id.auth.builder.BPKBuilder;
import at.gv.egovernment.moa.id.auth.exception.BuildException;
import at.gv.egovernment.moa.id.data.AuthenticationRole;
import at.gv.egovernment.moa.id.data.IAuthData;
+import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;
import at.gv.egovernment.moa.id.util.PVPtoSTORKMapper;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.MiscUtil;
import eu.stork.peps.auth.commons.PersonalAttribute;
import eu.stork.peps.auth.commons.PersonalAttributeList;
import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion.AttributeStatusType;
+import org.joda.time.Period;
+
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @author bsuzic
@@ -55,63 +54,116 @@ public class MOAAttributeProvider {
private static final Map<String, String> storkAttributeFunctionMapping;
private final MOASTORKRequest moastorkRequest;
+ // mappings for attribute population methods
+ // based on mapping of moa authndata and executing functions to extract attributes
static {
Map<String, String> tempSimpleMap = new HashMap<String, String>();
tempSimpleMap.put("givenName", "getGivenName");
- tempSimpleMap.put("surname", "getFamilyName");
+ tempSimpleMap.put("surname", "getFamilyName");
+ tempSimpleMap.put("MSOrganization", "getPvpAttribute_OU");
storkAttributeSimpleMapping = Collections.unmodifiableMap(tempSimpleMap);
+
Map<String, String> tempFunctionMap = new HashMap<String, String>();
tempFunctionMap.put("eIdentifier", "geteIdentifier");
tempFunctionMap.put("ECApplicationRole","getECApplicationRole");
tempFunctionMap.put("dateOfBirth", "getFormatedDateOfBirth");
+ tempFunctionMap.put("MSOrganization", "getMSOrganization");
+ tempFunctionMap.put("age", "getAge");
+ tempFunctionMap.put("isAgeOver", "getIsAgeOver");
+ tempFunctionMap.put("citizenQAALevel", "getQAALevel");
storkAttributeFunctionMapping = Collections.unmodifiableMap(tempFunctionMap);
+
}
public MOAAttributeProvider(IAuthData authData, MOASTORKRequest moastorkRequest) {
this.authData = authData;
this.moastorkRequest = moastorkRequest;
- Logger.debug("identity " + authData.getIdentificationType() + " " + authData.getIdentificationValue());
+
}
public void populateAttribute(PersonalAttributeList attributeList, PersonalAttribute requestedAttribute ) {
String storkAttribute = requestedAttribute.getName();
- if (storkAttributeSimpleMapping.containsKey(storkAttribute)) {
+
+ // TODO: check if authData gets populated with stork attributtes during previous steps; it seems it is not
+ if (null != authData && null != authData.getStorkAttributes() && authData.getStorkAttributes().containsKey(requestedAttribute.getName())) {
+ Logger.debug("Trying to get value for attribute directly from STORK2 response [" + storkAttribute + "]");
+ try {
+ PersonalAttribute tmp = authData.getStorkAttributes().get(requestedAttribute.getName());
+ attributeList.add((PersonalAttribute) tmp.clone());
+ } catch(Exception e) {
+ Logger.error("Could not retrieve attribute from STORK2 response: " + storkAttribute);
+ Logger.debug(e);
+ }
+ } else if (storkAttributeSimpleMapping.containsKey(storkAttribute)) {
Logger.debug("Trying to get value for attribute using simple mapping [" + storkAttribute + "]");
try {
Method method = authData.getClass().getDeclaredMethod(storkAttributeSimpleMapping.get(storkAttribute));
- populateAttributeWithMethod(method, authData, attributeList, storkAttribute, requestedAttribute.isRequired());
+ populateAttributeWithMethod(method, authData, attributeList, storkAttribute, requestedAttribute);
} catch (NoSuchMethodException e) {
Logger.error("Could not found MOA extraction method while getting attribute: " + storkAttribute);
- e.printStackTrace();
+ Logger.debug(e);
+ } catch (NullPointerException e) {
+ Logger.error("Error getting MOA extraction method while getting attribute: " + storkAttribute);
+ Logger.debug(e);
}
} else if (storkAttributeFunctionMapping.containsKey(storkAttribute)) {
Logger.debug("Trying to get value for attribute using function mapping [" + storkAttribute + "]");
try {
- Method method = this.getClass().getDeclaredMethod(storkAttributeFunctionMapping.get(storkAttribute));
- populateAttributeWithMethod(method, this, attributeList, storkAttribute, requestedAttribute.isRequired());
+ Method method = this.getClass().getDeclaredMethod(storkAttributeFunctionMapping.get(storkAttribute), PersonalAttribute.class);
+ populateAttributeWithMethod(method, this, attributeList, storkAttribute, requestedAttribute);
} catch (NoSuchMethodException e) {
Logger.error("Could not found MOA extraction method while getting attribute: " + storkAttribute);
- e.printStackTrace();
}
} else {
Logger.debug("MOA method for extraction of attribute " + storkAttribute + " not defined.");
}
}
- private String geteIdentifier() {
+ private String getAge(PersonalAttribute personalAttribute) {
+ if (authData.getDateOfBirth() != null) {
+ Integer age = new Period(authData.getDateOfBirth().getTime(), Calendar.getInstance().getTime().getTime()).getYears();
+ return age >= 0 ? age.toString() : null;
+ }
+ return null; // WP4 D4.2, Table 12:age, description - considerations
+ }
+
+ private String getIsAgeOver(PersonalAttribute personalAttribute)
+ {
+ try {
+ if ((authData.getDateOfBirth() != null) && (personalAttribute.getValue() != null) && (personalAttribute.getValue().size() > 0)) {
+ Integer ageOver = Integer.parseInt(personalAttribute.getValue().get(0));
+ Integer age = new Period(authData.getDateOfBirth().getTime(), Calendar.getInstance().getTime().getTime()).getYears();
+ return age >= ageOver ? ageOver.toString() : "";
+ }
+ } catch (Exception ex) {
+ Logger.error("Error encountered when determining isAgeOver");
+ Logger.debug(ex);
+ }
+ return null;
+ }
+
+ public String getQAALevel(PersonalAttribute personalAttribute) {
+ if (authData.getQAALevel().startsWith(PVPConstants.STORK_QAA_PREFIX))
+ return authData.getQAALevel().substring(PVPConstants.STORK_QAA_PREFIX.length());
+ else
+ return null;
+ }
+
+
+ private String geteIdentifier(PersonalAttribute personalAttribute) {
Logger.debug("Using base urn for identification value: " + authData.getIdentificationType() + " and target country: " + moastorkRequest.getStorkAuthnRequest().getSpCountry());
try {
- return new BPKBuilder().buildStorkeIdentifier(authData.getIdentificationType(), authData.getIdentificationValue(),
- moastorkRequest.getStorkAuthnRequest().getSpCountry());
+ return new BPKBuilder().buildStorkeIdentifier(authData.getIdentificationType(), authData.getIdentificationValue(),
+ moastorkRequest.getStorkAuthnRequest().getSpCountry());
} catch (BuildException be) {
Logger.error("Stork eid could not be constructed; " + be.getMessage());
return null; // TODO error
}
}
- private List<String> getECApplicationRole() {
+ private List<String> getECApplicationRole(PersonalAttribute personalAttribute) {
List<String> storkRoles = null;
if (authData.getAuthenticationRoles() != null
@@ -123,29 +175,32 @@ public class MOAAttributeProvider {
String storkRole = mapper.map(el);
if (MiscUtil.isNotEmpty(storkRole))
storkRoles.add(storkRole);
-
}
}
return storkRoles;
}
-
- private String getFormatedDateOfBirth() {
+
+ private String getFormatedDateOfBirth(PersonalAttribute personalAttribute) {
if (authData.getDateOfBirth() != null) {
DateFormat fmt = new SimpleDateFormat("yyyyMMdd");
return fmt.format(authData.getDateOfBirth());
}
else
return null;
-
}
- private void populateAttributeWithMethod(Method method, Object object, PersonalAttributeList attributeList, String storkAttribute, Boolean isRequired) {
+ private void populateAttributeWithMethod(Method method, Object object, PersonalAttributeList attributeList, String storkAttribute, PersonalAttribute requestedAttribute) {
try {
- Object attributeValue = method.invoke(object, new Class[]{}); // (Object[])
-
+ Object attributeValue;
+ if (storkAttributeSimpleMapping.containsValue(method.getName())) {
+ attributeValue = method.invoke(object, new Class[]{});
+ } else {
+ attributeValue = method.invoke(object, requestedAttribute);
+ }
+
PersonalAttribute newAttribute = new PersonalAttribute();
newAttribute.setName(storkAttribute);
- newAttribute.setIsRequired(isRequired);
+ newAttribute.setIsRequired(requestedAttribute.isRequired());
if (attributeValue != null) {
newAttribute.setStatus(AttributeStatusType.AVAILABLE.value());
@@ -178,10 +233,13 @@ public class MOAAttributeProvider {
} catch (InvocationTargetException e) {
Logger.error("Invocation target exception while getting attribute: " + storkAttribute);
- e.printStackTrace();
+ Logger.debug(e);
} catch (IllegalAccessException e) {
Logger.error("Illegal access exception while getting attribute: " + storkAttribute);
- e.printStackTrace();
+ Logger.debug(e);
+ } catch (NullPointerException e) {
+ Logger.error("Could not find method: " + storkAttribute);
+ Logger.debug(e);
}
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateContainer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateContainer.java
index 9207cc2dc..a3fac0f6e 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateContainer.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateContainer.java
@@ -165,7 +165,8 @@ public abstract class MandateContainer {
}
public void setPhysicalRepresentativeBirthDate(String physicalRepresentativeBirthDate) {
- this.physicalRepresentativeBirthDate = physicalRepresentativeBirthDate;
+ // making it conform to STORK dateOfBirth specifications, removing dash
+ this.physicalRepresentativeBirthDate = physicalRepresentativeBirthDate.replaceAll("-","");
}
public String getAnnotation() {
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateRetrievalRequest.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateRetrievalRequest.java
index e6fff76ab..c529a8465 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateRetrievalRequest.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MandateRetrievalRequest.java
@@ -41,7 +41,6 @@ import eu.stork.peps.auth.commons.PersonalAttribute;
import eu.stork.peps.auth.commons.PersonalAttributeList;
import eu.stork.peps.auth.commons.STORKAttrQueryResponse;
import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion.*;
-import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.StringUtils;
import javax.servlet.http.HttpServletRequest;
@@ -54,14 +53,14 @@ import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;
import java.io.StringWriter;
-import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.regex.Pattern;
/**
- *
+ * Entry point for mandate retrieval. Processes MIS data and transforms into STORK mandate attribute.
+ * Additionally provides eIdentifier attribute (if requested) in order to enable identity correlation
*/
public class MandateRetrievalRequest implements IAction {
@@ -78,8 +77,13 @@ public class MandateRetrievalRequest implements IAction {
this.QAALevel = translateQAALevel(authData.getQAALevel());
// preparing original content and removing sensitive data from it
- this.originalContent = authData.getMISMandate().getMandate(); // TODO ERROR
- //Logger.debug("Original content " + StringUtils.newStringUtf8(authData.getMISMandate().getMandate()));
+ try {
+ this.originalContent = authData.getMISMandate().getMandate();
+ } catch (Exception e) {
+ Logger.error("Could not extract mandate");
+ Logger.debug(e);
+ throw new MOAIDException("stork.26", new Object[]{});
+ }
String originalMandate = StringUtils.newStringUtf8(authData.getMISMandate().getMandate()).replaceAll("<pd:Value>.*?==</pd:Value><pd:Type>urn:publicid:gv.at:baseid</pd:Type>","<pd:Value></pd:Value><pd:Type></pd:Type>");;
Logger.debug("Removing personal identification value and type from original mandate ");
originalContent = StringUtils.getBytesUtf8(originalMandate);
@@ -97,13 +101,13 @@ public class MandateRetrievalRequest implements IAction {
this.moaStorkRequest = (MOASTORKRequest) req;
} else {
Logger.error("Internal error - did not receive MOASTORKRequest as expected");
- throw new MOAIDException("stork.16", new Object[]{}); // TODO
+ throw new MOAIDException("stork.27", new Object[]{});
}
if (!(moaStorkRequest.isAttrRequest() || moaStorkRequest.getStorkAttrQueryRequest() == null)) {
Logger.error("Did not receive attribute request as expected");
- throw new MOAIDException("stork.16", new Object[]{}); // TODO
+ throw new MOAIDException("stork.27", new Object[]{});
}
MandateContainer mandateContainer = null;
@@ -115,7 +119,7 @@ public class MandateRetrievalRequest implements IAction {
mandateContainer = new PhyPersonMandateContainer(new String(authData.getMISMandate().getMandate(), "UTF-8"));
} catch (Exception ex2) {
Logger.error("Could not extract data and create mandate container.");
- throw new MOAIDException("stork.16", new Object[]{}); // TODO
+ throw new MOAIDException("stork.27", new Object[]{});
}
}
@@ -123,26 +127,21 @@ public class MandateRetrievalRequest implements IAction {
IPersonalAttributeList attributeList = new PersonalAttributeList();
+ // according to new mapping, only mandate attribute is directly relevant
for (PersonalAttribute currentAttribute : sourceAttributeList) {
- Logger.debug("Evaluating currentattribute " + currentAttribute.getName());
- if (currentAttribute.getName().equals("mandateContent")) {
+ Logger.debug("Evaluating attributes, current attribute: " + currentAttribute.getName());
+ if (currentAttribute.getName().equals("mandateContent")) { // deprecated
MandateContentType mandateContent = getMandateContent(mandateContainer, currentAttribute);
attributeList.add(marshallComplexAttribute(currentAttribute, mandateContent));
- } else if (currentAttribute.getName().equals("representative")) { // TODO CHECK IN DETAIL
+ } else if (currentAttribute.getName().equals("representative")) { // deprecated
RepresentationPersonType representative = getRepresentative(mandateContainer, currentAttribute);
attributeList.add(marshallComplexAttribute(currentAttribute, representative));
-
- //attributeList.add(getRepresentative(mandateContainer, currentAttribute));
} else if (currentAttribute.getName().equals("represented")) {
- //attributeList.add(getRepresented(mandateContainer, currentAttribute));
RepresentationPersonType represented = getRepresented(mandateContainer, currentAttribute);
attributeList.add(marshallComplexAttribute(currentAttribute, represented));
-
} else if (currentAttribute.getName().equals("mandate")) {
- //attributeList.add(getMandateType(mandateContainer, currentAttribute));
MandateType mandateType = getMandateType(mandateContainer, currentAttribute);
attributeList.add(marshallComplexAttribute(currentAttribute, mandateType));
-
} else if (currentAttribute.getName().equals("legalName")) {
String legalName = getLegalName(mandateContainer, currentAttribute);
if (legalName.length() > 0) {
@@ -180,6 +179,11 @@ public class MandateRetrievalRequest implements IAction {
}
}
+ if (currentAttribute.getName().equals("eIdentifier")) {
+ attributeList.add(new PersonalAttribute(currentAttribute.getName(), currentAttribute.isRequired(), Arrays.asList(geteIdentifier(authData.getIdentificationType(), authData.getIdentificationValue(), moaStorkRequest.getStorkAttrQueryRequest().getSpCountry())), AttributeStatusType.AVAILABLE.value()));
+ Logger.info("Adding eIdentifier for mandate holder using SP country: " + moaStorkRequest.getStorkAttrQueryRequest().getSpCountry());
+ }
+
}
@@ -211,7 +215,7 @@ public class MandateRetrievalRequest implements IAction {
// ask for consent if necessary
if (oaParam.isRequireConsentForStorkAttributes())
- new ConsentEvaluator().requestConsent(container, httpResp, oaParam);
+ new ConsentEvaluator().requestConsent(container, httpReq, httpResp, authData, oaParam);
else
new ConsentEvaluator().generateSTORKResponse(httpResp, container);
@@ -228,7 +232,7 @@ public class MandateRetrievalRequest implements IAction {
if (qaaLevel.equals(PVPConstants.STORK_QAA_1_4))
return 4;
Logger.error("Wrong QAA Number format");
- throw new MOAIDException("stork.16", new Object[]{});
+ throw new MOAIDException("stork.28", new Object[]{});
}
private String geteLPIdentifier(MandateContainer mandateContainer, PersonalAttribute currentAttribute) throws MOAIDException {
@@ -237,11 +241,20 @@ public class MandateRetrievalRequest implements IAction {
return represented.getELPIdentifier();
} else if (currentAttribute.isRequired()) {
Logger.error("Cannot provide eLPIdentifier for natural person.");
- throw new MOAIDException("stork.19", new Object[]{currentAttribute.getName()}); // TODO
+ throw new MOAIDException("stork.29", new Object[]{currentAttribute.getName()});
}
return "";
}
+ private String geteIdentifier(String identificationType, String identificationValue, String destinationCountry) throws MOAIDException {
+ BPKBuilder bpkBuilder = new BPKBuilder();
+ try {
+ return bpkBuilder.buildStorkeIdentifier(identificationType, identificationValue, destinationCountry);
+ } catch (BuildException be) {
+ Logger.error("Could not build STORK eIdentifier while generating mandate assertion.");
+ throw new MOAIDException("stork.29", new Object[]{});
+ }
+ }
private PersonalAttribute marshallComplexAttribute(PersonalAttribute currentAttribute, Object obj) { // TODO refactor
StringWriter stringWriter = new StringWriter();
@@ -456,7 +469,6 @@ public class MandateRetrievalRequest implements IAction {
private String getRepresentedStorkeIdentifier(MandateContainer mandateContainer) throws MOAIDException {
- //String identificationType, String identificationValue
if (!(mandateContainer instanceof PhyPersonMandateContainer)) {
Logger.error("Physical person mandate container missing");
throw new MOAIDException("stork.20", new Object[]{}); // TODO
@@ -479,13 +491,7 @@ public class MandateRetrievalRequest implements IAction {
throw new MOAIDException("stork.20", new Object[]{}); // TODO
}
- BPKBuilder bpkBuilder = new BPKBuilder();
- try {
- return bpkBuilder.buildStorkeIdentifier(phyPersonMandateContainer.getPhyPersMandatorIdentificationType(), phyPersonMandateContainer.getPhyPersMandatorIdentificationValue(), this.moaStorkRequest.getStorkAttrQueryRequest().getSpCountry());
- } catch (BuildException be) {
- Logger.error("Could not build STORK eIdentifier while generating mandate assertion.");
- throw new MOAIDException("stork.20", new Object[]{}); // TODO
- }
+ return geteIdentifier(phyPersonMandateContainer.getPhyPersMandatorIdentificationType(), phyPersonMandateContainer.getPhyPersMandatorIdentificationValue(), this.moaStorkRequest.getStorkAttrQueryRequest().getSpCountry());
}
private String getRepresentingStorkeIdentifier(MandateContainer mandateContainer) throws MOAIDException {
@@ -522,6 +528,7 @@ public class MandateRetrievalRequest implements IAction {
Logger.error("Could not build STORK eIdentifier while generating mandate assertion.");
throw new MOAIDException("stork.20", new Object[]{}); // TODO
}
+
}
private RepresentationPersonType getRepresentative(MandateContainer mandateContainer, PersonalAttribute sourceAttribute) throws MOAIDException {
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/PhyPersonMandateContainer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/PhyPersonMandateContainer.java
index ba89663ab..c715b65eb 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/PhyPersonMandateContainer.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/PhyPersonMandateContainer.java
@@ -109,7 +109,8 @@ public class PhyPersonMandateContainer extends MandateContainer {
}
public void setPhyPersMandatorBirthDate(String phyPersMandatorBirthDate) {
- this.phyPersMandatorBirthDate = phyPersMandatorBirthDate;
+ // making it conform to STORK dateOfBirth specifications, removing dash
+ this.phyPersMandatorBirthDate = phyPersMandatorBirthDate.replaceAll("-","");
}
public String getPhyPersMandatorIdentificationValue() {
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKPVPUtilits.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKPVPUtilits.java
index d923eccde..123d32af4 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKPVPUtilits.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKPVPUtilits.java
@@ -32,7 +32,7 @@ import java.util.List;
public class STORKPVPUtilits {
public static final List<String> attributesRequirePVPAuthentication =
- Arrays.asList("ECApplicationRole");
+ Arrays.asList("ECApplicationRole", "MSOrganization");
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/MandateAttributeRequestProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/MandateAttributeRequestProvider.java
index f4d963645..f671f0807 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/MandateAttributeRequestProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/MandateAttributeRequestProvider.java
@@ -73,6 +73,7 @@ public class MandateAttributeRequestProvider extends AttributeProvider {
return "MandateAttributeRequestProvider";
}
+ // TODO check if used
@Override
protected IPersonalAttributeList acquire(PersonalAttribute attribute, MOASTORKRequest moastorkRequest, IAuthData authData) throws UnsupportedAttributeException, ExternalAttributeRequestRequiredException, MOAIDException {
Logger.info("Acquiring attribute: " + attribute.getName() + ", by: " + getAttrProviderName());
@@ -85,10 +86,14 @@ public class MandateAttributeRequestProvider extends AttributeProvider {
Logger.info("Attribute " + attribute.getName() + " not supported by the provider: " + getAttrProviderName());
throw new UnsupportedAttributeException();
}
- PersonalAttributeList result = new PersonalAttributeList();
- //return result;
-
+ // check if there is eIdentifier included and add if necessary
+// if (!requestedAttributes.containsKey("eIdentifier")) {
+// PersonalAttribute eIdentifier = new PersonalAttribute();
+ // eIdentifier.setName("eIdentifier");
+// eIdentifier.setIsRequired(true);
+// requestedAttributes.add(eIdentifier);
+// }
Logger.info("Thrown external request by: " + getAttrProviderName());
throw new ExternalAttributeRequestRequiredException(this);
@@ -111,10 +116,12 @@ public class MandateAttributeRequestProvider extends AttributeProvider {
// continue with other attribute providers if there are no attributes current provider is able to handle
if (requestedAttributes.size() == 0) {
- Logger.info("Attribute(s) " + attributes.toString() + " not supported by the provider: " + getAttrProviderName());
+ Logger.info("Attribute(s) " + attributes.toString() + " not supported by the provider: " + getAttrProviderName());
throw new UnsupportedAttributeException();
}
+
+
Logger.info("Thrown external request by: " + getAttrProviderName());
throw new ExternalAttributeRequestRequiredException(this);
}
@@ -144,7 +151,14 @@ public class MandateAttributeRequestProvider extends AttributeProvider {
}
-
+ // TODO ensure that other providers request eidentifier
+ // check if there is eIdentifier included and add if necessary
+ if (!requestedAttributes.containsKey("eIdentifier")) {
+ PersonalAttribute eIdentifier = new PersonalAttribute();
+ eIdentifier.setName("eIdentifier");
+ eIdentifier.setIsRequired(true);
+ requestedAttributes.add(eIdentifier);
+ }
//generate AttrQueryRequest
STORKAttrQueryRequest attributeRequest = new STORKAttrQueryRequest();
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/PVPAuthenticationProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/PVPAuthenticationProvider.java
index 96aa55bcf..7f06c604b 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/PVPAuthenticationProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/PVPAuthenticationProvider.java
@@ -80,7 +80,7 @@ public class PVPAuthenticationProvider extends AttributeProvider {
this.moastorkRequest = moastorkRequest;
// break if we cannot handle the requested attribute
- if (!attributes.contains(attribute.getName())) {
+ if (!getSupportedAttributeNames().contains(attribute.getName())) {
Logger.info("Attribute " + attribute.getName() + " not supported by the provider: " + getAttrProviderName());
throw new UnsupportedAttributeException();
@@ -193,33 +193,34 @@ public class PVPAuthenticationProvider extends AttributeProvider {
public IPersonalAttributeList parse(HttpServletRequest httpReq)
throws UnsupportedAttributeException, MOAIDException {
- Logger.info(this.getClass().getSimpleName() + " tries to extract SAMLResponse out of HTTP Request");
+ throw new UnsupportedAttributeException();
- //extract STORK Response from HTTP Request
- //Decodes SAML Response
- byte[] decSamlToken;
- try {
- decSamlToken = PEPSUtil.decodeSAMLToken(httpReq.getParameter("SAMLResponse"));
- } catch(NullPointerException e) {
- throw new UnsupportedAttributeException();
- }
-
- //Get SAMLEngine instance
- STORKSAMLEngine engine = STORKSAMLEngine.getInstance("VIDP");
-
- STORKAuthnResponse authnResponse = null;
- try {
- //validate SAML Token
- Logger.debug("Starting validation of SAML response");
- authnResponse = engine.validateSTORKAuthnResponse(decSamlToken, (String) httpReq.getRemoteHost());
- Logger.info("SAML response successfully verified!");
-
- }catch(STORKSAMLEngineException e){
- Logger.error("Failed to verify STORK SAML Response", e);
- throw new MOAIDException("stork.05", null);
- }
-
- return authnResponse.getPersonalAttributeList();
+// Logger.info(this.getClass().getSimpleName() + " tries to extract SAMLResponse out of HTTP Request");
+// //extract STORK Response from HTTP Request
+// //Decodes SAML Response
+// byte[] decSamlToken;
+// try {
+// decSamlToken = PEPSUtil.decodeSAMLToken(httpReq.getParameter("SAMLResponse"));
+// } catch(NullPointerException e) {
+// throw new UnsupportedAttributeException();
+// }
+//
+// //Get SAMLEngine instance
+// STORKSAMLEngine engine = STORKSAMLEngine.getInstance("VIDP");
+//
+// STORKAuthnResponse authnResponse = null;
+// try {
+// //validate SAML Token
+// Logger.debug("Starting validation of SAML response");
+// authnResponse = engine.validateSTORKAuthnResponse(decSamlToken, (String) httpReq.getRemoteHost());
+// Logger.info("SAML response successfully verified!");
+//
+// }catch(STORKSAMLEngineException e){
+// Logger.error("Failed to verify STORK SAML Response", e);
+// throw new MOAIDException("stork.05", null);
+// }
+//
+// return authnResponse.getPersonalAttributeList();
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/SignedDocAttributeRequestProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/SignedDocAttributeRequestProvider.java
index bb3d8b1fd..2c77db94e 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/SignedDocAttributeRequestProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/SignedDocAttributeRequestProvider.java
@@ -189,6 +189,7 @@ public class SignedDocAttributeRequestProvider extends AttributeProvider {
IOUtils.copy(istr, writer, "UTF-8");
signResponseString = writer.toString();
Logger.info("SignResponse with error (unmodified):"+signResponseString);
+ istr.close();
}
else
{
@@ -198,6 +199,7 @@ public class SignedDocAttributeRequestProvider extends AttributeProvider {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
IOUtils.copy(dataSource.getInputStream(), baos);
byte[] data = baos.toByteArray();
+ baos.close();
//update doc in DTL
String docId, dssId = "";
@@ -255,7 +257,8 @@ public class SignedDocAttributeRequestProvider extends AttributeProvider {
StringWriter writer = new StringWriter();
IOUtils.copy(istr, writer, "UTF-8");
signResponseString = writer.toString();
- Logger.info("SignResponse overwritten:"+signResponseString);
+ Logger.info("SignResponse overwritten:"+signResponseString);
+ istr.close();
}
else
{
@@ -304,6 +307,7 @@ public class SignedDocAttributeRequestProvider extends AttributeProvider {
IOUtils.copy(istr, writer, "UTF-8");
signResponseString = writer.toString();
Logger.info("SignResponse overwritten:"+signResponseString);
+ istr.close();
}
}
else
@@ -424,6 +428,7 @@ public class SignedDocAttributeRequestProvider extends AttributeProvider {
signRequestString = writer.toString();
Logger.info("Signrequest overwritten");
Logger.debug("Signrequest overwritten:"+signRequestString);
+ istr.close();
} catch (Exception e) {
e.printStackTrace();
throw new Exception("Could not marshall sign request", e);
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/AuthenticationSessionStoreage.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/AuthenticationSessionStoreage.java
index a9f5ed60a..4288f48ad 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/AuthenticationSessionStoreage.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/AuthenticationSessionStoreage.java
@@ -48,6 +48,7 @@ import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
import at.gv.egovernment.moa.id.data.EncryptedData;
import at.gv.egovernment.moa.id.data.SLOInformationInterface;
import at.gv.egovernment.moa.id.moduls.IRequest;
+import at.gv.egovernment.moa.id.process.dao.ProcessInstanceStoreDAOImpl;
import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.AssertionAttributeExtractorExeption;
import at.gv.egovernment.moa.id.protocols.pvp2x.utils.AssertionAttributeExtractor;
import at.gv.egovernment.moa.id.util.Random;
@@ -912,19 +913,28 @@ public class AuthenticationSessionStoreage {
}
- private static void cleanDelete(AuthenticatedSessionStore result) {
+ private static void cleanDelete(AuthenticatedSessionStore result) {
+
+ try {
+ AuthenticationSession session = getSession(result.getSessionid());
+ if (session.getProcessInstanceId() != null) {
+ ProcessInstanceStoreDAOImpl.getInstance().remove(session.getProcessInstanceId());
+ }
+
+ } catch (MOADatabaseException e) {
+ Logger.warn("Removing process associated with moa session " + result.getSessionid() + " FAILED.", e);
+ }
+
try {
result.setSession("blank".getBytes());
MOASessionDBUtils.saveOrUpdate(result);
-
+
} catch (MOADatabaseException e) {
Logger.warn("Blank authenticated session with sessionID=" + result.getSessionid() + " FAILED.", e);
-
+
} finally {
if (!MOASessionDBUtils.delete(result))
- Logger.error("Authenticated session with sessionID=" + result.getSessionid()
- + " not removed! (Error during Database communication)");
-
+ Logger.error("Authenticated session with sessionID=" + result.getSessionid() + " not removed! (Error during Database communication)");
}
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/IdentityLinkReSigner.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/IdentityLinkReSigner.java
index 090bea486..520b81b17 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/IdentityLinkReSigner.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/IdentityLinkReSigner.java
@@ -71,13 +71,9 @@ public class IdentityLinkReSigner {
return instance;
}
- public Element resignIdentityLink(Element idl) throws MOAIDException {
+ public Element resignIdentityLink(Element idl, String keyGroupId) throws MOAIDException {
try {
- AuthConfigurationProvider config = AuthConfigurationProvider.getInstance();
-
- if (config.isIdentityLinkResigning()) {
-
if (idl == null) {
Logger.warn("IdentityLink is empty");
return null;
@@ -91,7 +87,6 @@ public class IdentityLinkReSigner {
SPSSFactory spssFac = SPSSFactory.getInstance();
- String keyGroupId = config.getIdentityLinkResigningKey();
if (MiscUtil.isEmpty(keyGroupId)) {
Logger.warn("No IdentityLink reSigning-Key definded");
throw new MOAIDException("config.19", new Object[]{});
@@ -166,9 +161,6 @@ public class IdentityLinkReSigner {
Logger.warn("Allgemeiner Fehler beim Aufruf von MOA-SS: Unbekannter ResponseType von MOA-SS");
throw new MOAIDException("builder.05", new Object[]{});
}
-
- } else
- return idl;
} catch (ConfigurationException e) {
Logger.warn("Configuration can not be loaded", e);
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/PVPtoSTORKMapper.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/PVPtoSTORKMapper.java
index 0ea03e29d..5ef9494f4 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/PVPtoSTORKMapper.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/PVPtoSTORKMapper.java
@@ -36,6 +36,7 @@ import at.gv.egovernment.moa.util.MiscUtil;
public class PVPtoSTORKMapper {
private static final String PVP_SECCLASS_PREFIX = "http://www.ref.gv.at/ns/names/agiz/pvp/";
+ private static final String STORK_QAA_PREFIX = "http://www.stork.gov.eu/1.0/";
private static final String MAPPING_RESOURCE =
"resources/properties/pvp-stork_mapping.properties";
@@ -67,12 +68,31 @@ public class PVPtoSTORKMapper {
}
+ /**Map a STORK QAA level to PVP SecClass
+ *
+ * @param STORK-QAA level
+ * @return PVP SecClass pvpQAALevel
+ */
+ public String mapToSecClass(String storkQAALevel) {
+ if (mapping != null) {
+ String input = storkQAALevel.substring(STORK_QAA_PREFIX.length());
+ String mappedQAA = mapping.getProperty(input);
+ if (MiscUtil.isNotEmpty(mappedQAA)) {
+ Logger.info("Map STORK-QAA " + storkQAALevel + " to PVP SecClass " + mappedQAA);
+ return mappedQAA;
+
+ }
+ }
+ Logger.warn("No mapping for STORK-QAA " + storkQAALevel +" !");
+ return null;
+ }
+
/**Map a PVP SecClass to STORK QAA level
*
* @param PVP SecClass pvpQAALevel
* @return STORK-QAA level
*/
- public String mapQAALevel(String pvpQAALevel) {
+ public String mapToQAALevel(String pvpQAALevel) {
if (mapping != null) {
String input = pvpQAALevel.substring(PVP_SECCLASS_PREFIX.length());
String mappedQAA = mapping.getProperty(input);
@@ -93,13 +113,16 @@ public class PVPtoSTORKMapper {
*/
public String map(AuthenticationRole el) {
if (mapping != null) {
- String ecRole = mapping.getProperty(el.getRawRoleString());
+ //String ecRole = mapping.getProperty(el.getRawRoleString());
+ String ecRole = mapping.getProperty(el.getRoleName());
if (MiscUtil.isNotEmpty(ecRole)) {
- Logger.info("Map PVPRole " + el.getRawRoleString() + " to ECRole " + ecRole);
+ //Logger.info("Map PVPRole " + el.getRawRoleString() + " to ECRole " + ecRole);
+ Logger.info("Map PVPRole " + el.getRoleName() + " to ECRole " + ecRole);
return ecRole;
}
}
- Logger.warn("NO mapping for PVPRole "+ el.getRawRoleString() + " !");
+ //Logger.warn("NO mapping for PVPRole "+ el.getRawRoleString() + " !");
+ Logger.warn("NO mapping for PVPRole "+ el.getRoleName() + " !");
return null;
}
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/ServletUtils.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/ServletUtils.java
index 56e59a4aa..3dbc0ab7b 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/ServletUtils.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/ServletUtils.java
@@ -113,14 +113,13 @@ public class ServletUtils {
* depending on the requests starting text.
*
* @param resp The httpServletResponse
- * @param session The current AuthenticationSession
* @param createXMLSignatureRequestOrRedirect The request
* @param servletGoal The servlet to which the redirect should happen
* @param servletName The servlet name for debug purposes
* @throws MOAIDException
* @throws IOException
*/
- public static void writeCreateXMLSignatureRequest(HttpServletResponse resp, AuthenticationSession session, String createXMLSignatureRequestOrRedirect, String servletGoal, String servletName, String dataURL)
+ public static void writeCreateXMLSignatureRequest(HttpServletResponse resp, String createXMLSignatureRequestOrRedirect, String servletGoal, String servletName, String dataURL)
throws MOAIDException,
IOException
{
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISMandate.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISMandate.java
index 20cabaf4d..1edb8d1f3 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISMandate.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISMandate.java
@@ -66,6 +66,9 @@ public class MISMandate implements Serializable{
final static public String OID_ORGANWALTER = "1.2.40.0.10.3.4";
final static private String TEXT_ORGANWALTER = "Organwalter";
+ final static public String OID_ELGA_OMBUTSSTELLE = "1.2.40.0.34.3.1.3";
+ final static public String OID_ELGA_OMBUTSSTELLE_TEST = "1.2.40.0.34.3.1.2.99.9";
+ final static private String TEXT_ELGA_OMBUTSSTELLE = "ELGA-Ombudsstelle";
private String oid = null;
private byte[] mandate = null;
@@ -102,7 +105,10 @@ public class MISMandate implements Serializable{
return TEXT_ZIVILTECHNIKER;
if (this.oid.equalsIgnoreCase(OID_ORGANWALTER))
return TEXT_ORGANWALTER;
-
+ if (this.oid.equalsIgnoreCase(OID_ELGA_OMBUTSSTELLE)
+ || this.oid.equalsIgnoreCase(OID_ELGA_OMBUTSSTELLE_TEST))
+ return TEXT_ELGA_OMBUTSSTELLE;
+
return "Keine textuelle Beschreibung für OID " + oid;
} else {
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java
index 15b2a89b5..24c96a78f 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java
@@ -56,6 +56,7 @@ import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.httpclient.HostConfiguration;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.StringRequestEntity;
@@ -70,6 +71,7 @@ import org.xml.sax.SAXException;
import at.gv.egovernment.moa.id.auth.exception.MISSimpleClientException;
import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.SZRGWSecureSocketFactory;
+import at.gv.egovernment.moa.id.commons.utils.HttpClientWithProxySupport;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.DOMUtils;
import at.gv.egovernment.moa.util.StringUtils;
@@ -300,7 +302,7 @@ public class MISSimpleClient {
throw new NullPointerException("Argument request must not be null.");
}
try {
- HttpClient httpclient = new HttpClient();
+ HttpClient httpclient = HttpClientWithProxySupport.getHttpClient();
PostMethod post = new PostMethod(webServiceURL);
StringRequestEntity re = new StringRequestEntity(DOMUtils.serializeNode(packIntoSOAP(request)),"text/xml", "UTF-8");
post.setRequestEntity(re);
diff --git a/id/server/idserverlib/src/main/java/iaik/IAIKRuntimeException.java b/id/server/idserverlib/src/main/java/iaik/IAIKRuntimeException.java
new file mode 100644
index 000000000..968d3491d
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/iaik/IAIKRuntimeException.java
@@ -0,0 +1,18 @@
+package iaik;
+
+/**
+ * Adapter class providing {@code iaik.RuntimeException} for libraries that have not been updated in order to consider
+ * the fact that the class {@code IAIKRuntimeException} has been moved.
+ *
+ * @author tknall
+ *
+ */
+public class IAIKRuntimeException extends iaik.server.modules.IAIKRuntimeException {
+
+ private static final long serialVersionUID = 1L;
+
+ public IAIKRuntimeException(String reason, Throwable wrapped, String uniqueIdentifier) {
+ super(reason, wrapped, uniqueIdentifier);
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/resources/META-INF/services/at.gv.egovernment.moa.id.auth.modules.AuthModule b/id/server/idserverlib/src/main/resources/META-INF/services/at.gv.egovernment.moa.id.auth.modules.AuthModule
new file mode 100644
index 000000000..865096055
--- /dev/null
+++ b/id/server/idserverlib/src/main/resources/META-INF/services/at.gv.egovernment.moa.id.auth.modules.AuthModule
@@ -0,0 +1,2 @@
+# The default moaid process
+at.gv.egovernment.moa.id.auth.modules.internal.DefaultAuthModuleImpl
diff --git a/id/server/idserverlib/src/main/resources/at/gv/egovernment/moa/id/auth/modules/internal/DefaultAuthentication.process.xml b/id/server/idserverlib/src/main/resources/at/gv/egovernment/moa/id/auth/modules/internal/DefaultAuthentication.process.xml
new file mode 100644
index 000000000..3860ddef4
--- /dev/null
+++ b/id/server/idserverlib/src/main/resources/at/gv/egovernment/moa/id/auth/modules/internal/DefaultAuthentication.process.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pd:ProcessDefinition id="DefaultAuthentication" xmlns:pd="http://reference.e-government.gv.at/namespace/moa/process/definition/v1">
+
+<!--
+ - National authentication with Austrian Citizen Card and mobile signature with our without mandate.
+ - Legacy authentication for foreign citizens using MOCCA supported signature cards.
+-->
+ <pd:Task id="createIdentityLinkForm" class="at.gv.egovernment.moa.id.auth.modules.internal.tasks.CreateIdentityLinkFormTask" />
+ <pd:Task id="verifyIdentityLink" class="at.gv.egovernment.moa.id.auth.modules.internal.tasks.VerifyIdentityLinkTask" async="true" />
+ <pd:Task id="verifyAuthBlock" class="at.gv.egovernment.moa.id.auth.modules.internal.tasks.VerifyAuthenticationBlockTask" async="true" />
+ <pd:Task id="verifyCertificate" class="at.gv.egovernment.moa.id.auth.modules.internal.tasks.VerifyCertificateTask" async="true" />
+ <pd:Task id="getMISSessionID" class="at.gv.egovernment.moa.id.auth.modules.internal.tasks.GetMISSessionIDTask" async="true" />
+ <pd:Task id="certificateReadRequest" class="at.gv.egovernment.moa.id.auth.modules.internal.tasks.CertificateReadRequestTask" />
+ <pd:Task id="prepareAuthBlockSignature" class="at.gv.egovernment.moa.id.auth.modules.internal.tasks.PrepareAuthBlockSignatureTask" />
+ <pd:Task id="getForeignID" class="at.gv.egovernment.moa.id.auth.modules.internal.tasks.GetForeignIDTask" async="true" />
+
+ <!-- Process is triggered either by GenerateIFrameTemplateServlet (upon bku selection) or by AuthenticationManager (upon legacy authentication start using legacy parameters. -->
+ <pd:StartEvent id="start" />
+
+ <pd:Transition from="start" to="createIdentityLinkForm" />
+
+ <pd:Transition from="createIdentityLinkForm" to="verifyIdentityLink" />
+
+ <pd:Transition from="verifyIdentityLink" to="certificateReadRequest" conditionExpression="!ctx['identityLinkAvailable'] || ctx['useMandate']" />
+ <pd:Transition from="verifyIdentityLink" to="prepareAuthBlockSignature" />
+
+ <pd:Transition from="prepareAuthBlockSignature" to="verifyAuthBlock" />
+ <!-- Note: verifyAuthBlock still creates a MIS session and redirects the user to the MIS gui. This should be separated from the auth block verification. -->
+
+ <pd:Transition from="certificateReadRequest" to="verifyCertificate" />
+ <!-- Note: verifyCertificate still creates the auth block to be signed which should be separated from certificat verification. -->
+
+ <pd:Transition from="verifyCertificate" to="verifyAuthBlock" conditionExpression="ctx['useMandate']" />
+ <pd:Transition from="verifyCertificate" to="getForeignID" />
+
+ <pd:Transition from="verifyAuthBlock" to="getMISSessionID" conditionExpression="ctx['useMandate']" />
+ <pd:Transition from="verifyAuthBlock" to="end" />
+
+ <pd:Transition from="getMISSessionID" to="end" />
+ <pd:Transition from="getForeignID" to="end" />
+
+ <pd:EndEvent id="end" />
+
+</pd:ProcessDefinition>
diff --git a/id/server/idserverlib/src/main/resources/at/gv/egovernment/moa/id/process/ProcessDefinition.xsd b/id/server/idserverlib/src/main/resources/at/gv/egovernment/moa/id/process/ProcessDefinition.xsd
new file mode 100644
index 000000000..d6ab7ae46
--- /dev/null
+++ b/id/server/idserverlib/src/main/resources/at/gv/egovernment/moa/id/process/ProcessDefinition.xsd
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://reference.e-government.gv.at/namespace/moa/process/definition/v1"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/moa/process/definition/v1"
+ elementFormDefault="qualified" version="1.0">
+
+ <xsd:element name="ProcessDefinition">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="StartEvent" type="tns:StartEventType" />
+ <xsd:element name="Task" type="tns:TaskType" />
+ <xsd:element name="Transition" type="tns:TransitionType" />
+ <xsd:element name="EndEvent" type="tns:EndEventType" />
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="ProcessNodeType" abstract="true">
+ <xsd:attribute name="id" type="xsd:ID" use="required" />
+ </xsd:complexType>
+
+ <xsd:complexType name="StartEventType">
+ <xsd:complexContent>
+ <xsd:extension base="tns:ProcessNodeType" />
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="TransitionType">
+ <xsd:attribute name="from" type="xsd:IDREF" use="required" />
+ <xsd:attribute name="to" type="xsd:IDREF" use="required" />
+ <xsd:attribute name="id" type="xsd:ID" />
+ <xsd:attribute name="conditionExpression" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="EndEventType">
+ <xsd:complexContent>
+ <xsd:extension base="tns:ProcessNodeType" />
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="TaskType">
+ <xsd:complexContent>
+ <xsd:extension base="tns:ProcessNodeType">
+ <xsd:attribute name="async" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="class" type="xsd:string" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties b/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties
index 8fda4566c..0d91fc2c0 100644
--- a/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties
+++ b/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties
@@ -229,6 +229,14 @@ stork.18=STORK-SAML Engine konnte nicht initialisiert werden.
stork.19=Das erforderliche Attribut ist f\u00FCr naturliche Personen nicht vorhanden\: {0}
stork.20=Fehler bei der Datenkonversion - eingegebens Datum fehlerhaft
stork.21=Der angeforderte QAA-level {0} ist h\u00F6her als der QAA-level der Authentifizierung {1}
+stork.22=Der STORK Authentifizierung erfordert die Auswahl des Herkunftslandes der Betroffenen.
+stork.23=Die STORK Authentifizierung f\u00FCr "{0}" wird nicht unterst\u00FCtzt.
+stork.24=Die STORK Authentifizierungsantwort enth\uFFFDlt leere Angaben zum Geschlecht.
+stork.25=Die Attribute referenzieren verschiedene Personen.
+stork.26=Fehler bei der Extrahierung von Vollmachtendaten.
+stork.27=Fehler bei der Verarbeitung von STORKRequest.
+stork.28=Fehler bei der Umwandelung von QAA Daten.
+stork.29=Fehler bei der Generierung von STORK-Attribut (eIdentifier/eLPIdentifier)
pvp2.00={0} ist kein gueltiger consumer service index
pvp2.01=Fehler beim kodieren der PVP2 Antwort
@@ -266,4 +274,7 @@ oauth20.09=Zertifikat fuer JSON Web-Token ist falsch konfiguriert. Fehler bei "{
slo.00=Sie konnten erfolgreich von allen Online-Applikation abgemeldet werden.
slo.01=Sie konnten NICHT erfolgreich von allen Online-Applikationen abgemeldet werden\!<BR>Bitte schlie\u00DFen Sie aus sicherheitsgr\u00FCnden Ihren Browser.
-slo.02=Es wurde keine aktive SSO Session gefunden oder Sie sind bei keiner Online-Applikation angemeldet. \ No newline at end of file
+slo.02=Es wurde keine aktive SSO Session gefunden oder Sie sind bei keiner Online-Applikation angemeldet.
+
+process.01=Fehler beim Ausf\u00FChren des Prozesses.
+process.02=Fehler beim Erstellen eines geeigneten Prozesses f\u00FCr die SessionID {0}.
diff --git a/id/server/idserverlib/src/main/resources/resources/properties/pvp-stork_mapping.properties b/id/server/idserverlib/src/main/resources/resources/properties/pvp-stork_mapping.properties
index 63745f826..ca12fada4 100644
--- a/id/server/idserverlib/src/main/resources/resources/properties/pvp-stork_mapping.properties
+++ b/id/server/idserverlib/src/main/resources/resources/properties/pvp-stork_mapping.properties
@@ -1,9 +1,31 @@
##PVP role mapping
viewer=CIRCABC/viewer
CIRCABC-viewer=CIRCABC/viewer
+CIRCABC-DIRECTOR=CIRCABC/DIRECTOR
+CIRCABC-SECRETARY=CIRCABC/SECRETARY
+CIRCABC-MEMBER=CIRCABC/MEMBER
-##PVP SecClass mapping
+ecas-demo-EUROPEAN_COMMISSION=ecas-demo/EUROPEAN_COMMISSION
+ecas-demo-EXTERNAL_INTRAMUROS=ecas-demo/EXTERNAL_INTRAMUROS
+ecas-demo-INTERNET=ecas-demo/INTERNET
+ecas-demo-LIVENEWS=ecas-demo/LIVENEWS
+
+DIGIT-EUROPEAN_COMMISSION=DIGIT/EUROPEAN_COMMISSION
+DIGIT-EXTERNAL_INTRAMUROS=DIGIT/EXTERNAL_INTRAMUROS
+DIGIT-INTERNET=DIGIT/INTERNET
+DIGIT-LIVENEWS=DIGIT/LIVENEWS
+
+
+
+
+##PVP SecClass to STORK-QAA mapping
secclass/0=http://www.stork.gov.eu/1.0/citizenQAALevel/1
secclass/0-1=http://www.stork.gov.eu/1.0/citizenQAALevel/2
-secclass/0-2=http://www.stork.gov.eu/1.0/citizenQAALevel/3
-secclass/0-3=http://www.stork.gov.eu/1.0/citizenQAALevel/4 \ No newline at end of file
+secclass/0-2=http://www.stork.gov.eu/1.0/citizenQAALevel/4
+secclass/0-3=http://www.stork.gov.eu/1.0/citizenQAALevel/4
+
+##STORK-QAA to PVP SecClass mapping
+citizenQAALevel/1=http://www.ref.gv.at/ns/names/agiz/pvp/secclass/0
+citizenQAALevel/2=http://www.ref.gv.at/ns/names/agiz/pvp/secclass/0-1
+citizenQAALevel/3=http://www.ref.gv.at/ns/names/agiz/pvp/secclass/0-2
+citizenQAALevel/4=http://www.ref.gv.at/ns/names/agiz/pvp/secclass/0-2 \ No newline at end of file
diff --git a/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html b/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html
index 7e2ddc491..e293d8456 100644
--- a/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html
+++ b/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html
@@ -837,7 +837,7 @@
src="#CONTEXTPATH#/img/valid-html5-blue.png" alt="HTML5 ist valide!" />
</a> <a href="http://jigsaw.w3.org/css-validator/"> <img
style="border: 0; width: 88px; height: 31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/idserverlib/src/main/resources/resources/templates/sendAssertionFormFull.html b/id/server/idserverlib/src/main/resources/resources/templates/sendAssertionFormFull.html
index e75bef70c..033a574b9 100644
--- a/id/server/idserverlib/src/main/resources/resources/templates/sendAssertionFormFull.html
+++ b/id/server/idserverlib/src/main/resources/resources/templates/sendAssertionFormFull.html
@@ -545,7 +545,7 @@ button:hover,button:focus,button:active,.sendButton:hover,.sendButton:focus,.sen
src="#CONTEXTPATH#/img/valid-html5-blue.png" alt="HTML5 ist valide!" />
</a> <a href="http://jigsaw.w3.org/css-validator/"> <img
style="border: 0; width: 88px; height: 31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/idserverlib/src/main/resources/resources/templates/slo_template.html b/id/server/idserverlib/src/main/resources/resources/templates/slo_template.html
index b241e85cf..8976b2bd6 100644
--- a/id/server/idserverlib/src/main/resources/resources/templates/slo_template.html
+++ b/id/server/idserverlib/src/main/resources/resources/templates/slo_template.html
@@ -436,7 +436,7 @@
src="$contextpath/img/valid-html5-blue.png" alt="HTML5 ist valide!" />
</a> <a href="http://jigsaw.w3.org/css-validator/"> <img
style="border: 0; width: 88px; height: 31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/idserverlib/src/main/resources/resources/templates/stork2_consent.html b/id/server/idserverlib/src/main/resources/resources/templates/stork2_consent.html
index e21a61665..0ab41f146 100644
--- a/id/server/idserverlib/src/main/resources/resources/templates/stork2_consent.html
+++ b/id/server/idserverlib/src/main/resources/resources/templates/stork2_consent.html
@@ -80,6 +80,7 @@
overflow:auto;
min-width: 190px;
height: 260px;
+ padding: 20px;
}
h2#tabheader{
@@ -134,6 +135,7 @@
#bkulogin {
min-height: 150px;
+ padding: 20px;
}
}
@@ -146,6 +148,7 @@
#bkulogin {
height: 180px;
+ padding: 20px;
}
}
@@ -175,7 +178,7 @@
color : #000;
text-align: center;
font-size: 100%;
- background-color: #MAIN_BACKGOUNDCOLOR#;
+ background-color: ${MAIN_BACKGOUNDCOLOR};
}
#page {
@@ -230,6 +233,7 @@
#bkulogin {
min-width: 190px;
height: 155px;
+ padding: 20px;
}
.setAssertionButton_full {
@@ -249,7 +253,7 @@
* {
margin: 0;
padding: 0;
- font-family: #FONTTYPE#;
+ font-family: ${FONTTYPE};
}
#selectArea {
@@ -333,13 +337,13 @@
}
.hell {
- background-color : #MAIN_BACKGOUNDCOLOR#;
- color: #MAIN_COLOR#;
+ background-color : ${MAIN_BACKGOUNDCOLOR};
+ color: ${MAIN_COLOR};
}
.dunkel {
- background-color: #HEADER_BACKGROUNDCOLOR#;
- color: #HEADER_COLOR#;
+ background-color: ${HEADER_BACKGROUNDCOLOR};
+ color: ${HEADER_COLOR};
}
.main_header {
@@ -404,7 +408,7 @@
}
</script>
-<title>#HEADER_TEXT#</title>
+<title>Informationsfreigabe</title>
</head>
<body onload="onChangeChecks();" onresize="onChangeChecks();">
<div id="page">
@@ -417,7 +421,7 @@
<h2 id="tabheader" class="dunkel" role="heading">STORK Informationsfreigabe</h2>
</div>
<div id="bkulogin" class="hell" role="form">
- Alle angehakten Daten werden an das fragende Drittland &uuml;bermittelt.
+ W&auml;hlen Sie jene Daten, die, wenn verf&uuml;gbar, an ein Drittland weitergegeben werden sollen:</br>
<table>
${tablecontent}
</table>
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/ExpressionContextAdapter.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/ExpressionContextAdapter.java
new file mode 100644
index 000000000..c26236619
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/ExpressionContextAdapter.java
@@ -0,0 +1,52 @@
+package at.gv.egovernment.moa.id.process.spring.test;
+
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import at.gv.egovernment.moa.id.process.api.ExpressionEvaluationContext;
+
+/**
+ * Adapter class for {@link ExpressionEvaluationContext}. Intended to be used for testing purposes.
+ *
+ * @author tknall
+ *
+ */
+public class ExpressionContextAdapter implements ExpressionEvaluationContext {
+
+ private static final long serialVersionUID = 1L;
+
+ private Map<String, Serializable> ctxData = Collections.synchronizedMap(new HashMap<String, Serializable>());
+
+ /**
+ * Returns a certain {@link Serializable} object associated with a certain {@code key}.
+ *
+ * @param key
+ * The key.
+ * @return The object or {@code null} if no object was found stored with that key or if a {@code null} value was
+ * stored.
+ */
+ Serializable get(String key) {
+ return ctxData.get(key);
+ }
+
+ /**
+ * Stores a {@link Serializable} with a certain {@code key}.
+ *
+ * @param key
+ * The key.
+ * @param object
+ * The object.
+ */
+ void put(String key, Serializable object) {
+ ctxData.put(key, object);
+ }
+
+ @Override
+ public Map<String, Serializable> getCtx() {
+ return Collections.unmodifiableMap(ctxData);
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/SimplePojo.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/SimplePojo.java
new file mode 100644
index 000000000..89f3c0383
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/SimplePojo.java
@@ -0,0 +1,41 @@
+package at.gv.egovernment.moa.id.process.spring.test;
+
+import at.gv.egovernment.moa.id.process.api.ExpressionEvaluator;
+
+/**
+ * A dummy pojo used to test {@link ExpressionEvaluator} with Spring EL referencing Spring beans.
+ *
+ * @author tknall
+ *
+ */
+public class SimplePojo {
+
+ private Boolean booleanValue;
+ private String stringValue;
+ private Integer integerValue;
+
+ public Boolean getBooleanValue() {
+ return booleanValue;
+ }
+
+ public void setBooleanValue(Boolean booleanValue) {
+ this.booleanValue = booleanValue;
+ }
+
+ public String getStringValue() {
+ return stringValue;
+ }
+
+ public void setStringValue(String stringValue) {
+ this.stringValue = stringValue;
+ }
+
+ public Integer getIntegerValue() {
+ return integerValue;
+ }
+
+ public void setIntegerValue(Integer integerValue) {
+ this.integerValue = integerValue;
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionAwareProcessEngineTest.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionAwareProcessEngineTest.java
new file mode 100644
index 000000000..5355f14d3
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionAwareProcessEngineTest.java
@@ -0,0 +1,116 @@
+package at.gv.egovernment.moa.id.process.spring.test;
+
+import static at.gv.egovernment.moa.id.process.ProcessInstanceState.*;
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.hibernate.cfg.Configuration;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
+import at.gv.egovernment.moa.id.commons.db.MOASessionDBUtils;
+import at.gv.egovernment.moa.id.commons.db.dao.session.InterfederationSessionStore;
+import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
+import at.gv.egovernment.moa.id.process.ProcessDefinitionParserException;
+import at.gv.egovernment.moa.id.process.ProcessEngine;
+import at.gv.egovernment.moa.id.process.ProcessEngineImpl;
+import at.gv.egovernment.moa.id.process.ProcessExecutionException;
+import at.gv.egovernment.moa.id.process.ProcessInstance;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.dao.ProcessInstanceStore;
+import at.gv.egovernment.moa.id.process.spring.SpringExpressionEvaluator;
+
+/**
+ * Tests the process engine using processes based on Spring EL referencing the process context and further Spring beans.
+ *
+ * @author tknall
+ *
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration
+public class SpringExpressionAwareProcessEngineTest {
+
+
+ private static ProcessEngine pe;
+
+ @BeforeClass
+ public static void init() throws IOException, ProcessDefinitionParserException {
+
+ pe = new ProcessEngineImpl();
+ ((ProcessEngineImpl) pe).setTransitionConditionExpressionEvaluator(new SpringExpressionEvaluator());
+ try (InputStream in = SpringExpressionAwareProcessEngineTest.class.getResourceAsStream("SampleProcessDefinitionWithExpression1.xml")) {
+ ((ProcessEngineImpl) pe).registerProcessDefinition(in);
+ }
+ try (InputStream in = SpringExpressionAwareProcessEngineTest.class.getResourceAsStream("SampleProcessDefinitionForSAML1Authentication.xml")) {
+ ((ProcessEngineImpl) pe).registerProcessDefinition(in);
+ }
+
+ initHibernateForTesting();
+ }
+
+ private static void initHibernateForTesting() throws IOException{
+
+ InputStream in = SpringExpressionAwareProcessEngineTest.class.getResourceAsStream("/at/gv/egovernment/moa/id/process/hibernate.configuration.test.properties");
+ Properties props = new Properties();
+ props.load(in);
+
+ try {
+ ConfigurationDBUtils.initHibernate(props);
+ Configuration config = new Configuration();
+ config.addProperties(props);
+ config.addAnnotatedClass(ProcessInstanceStore.class);
+ config.addAnnotatedClass(InterfederationSessionStore.class);
+ MOASessionDBUtils.initHibernate(config, props);
+ } catch (MOADatabaseException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ @Test
+ public void testSampleProcessDefinitionWithExpression1() throws IOException, ProcessDefinitionParserException, ProcessExecutionException {
+
+ String piId = pe.createProcessInstance("SampleProcessWithExpression1");
+ ProcessInstance pi = pe.getProcessInstance(piId);
+ assertEquals(NOT_STARTED, pi.getState());
+
+
+ // start process
+ pe.start(piId);
+ pi = pe.getProcessInstance(piId);
+ assertEquals(ENDED, pi.getState());
+ }
+
+ @Test
+ public void testSampleProcessDefinitionForSAML1Authentication() throws IOException, ProcessDefinitionParserException, ProcessExecutionException {
+
+ String piId = pe.createProcessInstance("SampleProcessDefinitionForSAML1Authentication");
+ ProcessInstance pi = pe.getProcessInstance(piId);
+ assertEquals(NOT_STARTED, pi.getState());
+
+ // start process
+ pe.start(piId);
+ pi = pe.getProcessInstance(piId);
+ assertEquals(ENDED, pi.getState());
+
+ pi = pe.getProcessInstance(piId);
+ ExecutionContext ec = pi.getExecutionContext();
+ assertNotNull(ec);
+ System.out.println(ec.keySet());
+
+ assertNotNull(ec.get("bkuURL"));
+ assertNotNull(ec.get("IdentityLink"));
+ assertNotNull(ec.get("isIdentityLinkValidated"));
+ assertNotNull(ec.get("SignedAuthBlock"));
+ assertNotNull(ec.get("isSignedAuthBlockValidated"));
+ assertNotNull(ec.get("SAML1Assertion"));
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionEvaluatorTest.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionEvaluatorTest.java
new file mode 100644
index 000000000..bc9d1d399
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionEvaluatorTest.java
@@ -0,0 +1,54 @@
+package at.gv.egovernment.moa.id.process.spring.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import at.gv.egovernment.moa.id.process.api.ExpressionEvaluator;
+
+/**
+ * Tests the {@link ExpressionEvaluator} using a Spring EL based implementation capable of dereferencing Spring beans.
+ *
+ * @author tknall
+ *
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration
+public class SpringExpressionEvaluatorTest {
+
+ private ExpressionContextAdapter ctx;
+
+ @Autowired
+ private ExpressionEvaluator expressionEvaluator;
+
+ @Before
+ public void prepareTest() {
+ ctx = new ExpressionContextAdapter();
+ }
+
+ @Test
+ public void testEvaluateSimpleExpression() {
+ assertTrue(expressionEvaluator.evaluate(ctx, "'true'"));
+ }
+
+ @Test
+ public void testEvaluateExpressionWithCtx() {
+ ctx.put("myProperty", false);
+ assertFalse(expressionEvaluator.evaluate(ctx, "ctx['myProperty']"));
+ }
+
+ @Test
+ public void testEvaluateExpressionWithBeanReference() {
+ assertTrue(expressionEvaluator.evaluate(ctx, "@simplePojo.booleanValue"));
+ assertTrue(expressionEvaluator.evaluate(ctx, "'HelloWorld'.equals(@simplePojo.stringValue)"));
+ assertTrue(expressionEvaluator.evaluate(ctx, "@simplePojo.integerValue == 42"));
+ assertTrue(expressionEvaluator.evaluate(ctx, "@simplePojo.stringValue.length() == 10"));
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/CreateSAML1AssertionTask.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/CreateSAML1AssertionTask.java
new file mode 100644
index 000000000..ebda3c5c3
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/CreateSAML1AssertionTask.java
@@ -0,0 +1,59 @@
+package at.gv.egovernment.moa.id.process.spring.test.task;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.Charset;
+import java.util.Objects;
+
+import org.apache.commons.io.IOUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.api.Task;
+
+/**
+ * A dummy task simulating the creation of a SAML1 assertion.
+ * <p>
+ * Requires context data:
+ * <ul>
+ * <li>{@code IdentityLink}</li>
+ * <li>{@code isIdentityLinkValidated}</li>
+ * <li>{@code SignedAuthBlock}</li>
+ * <li>{@code isSignedAuthBlockValidated}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * Enriches context data with:
+ * <ul>
+ * <li>{@code SAML1Assertion}</li>
+ * </ul>
+ * </p>
+ *
+ * @author tknall
+ *
+ */
+public class CreateSAML1AssertionTask implements Task {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ @Override
+ public void execute(ExecutionContext executionContext) throws TaskExecutionException {
+ Objects.requireNonNull(executionContext.get("IdentityLink"));
+ assert (Boolean.TRUE.equals(Objects.requireNonNull(executionContext.get("isIdentityLinkValidated"))));
+ Objects.requireNonNull(executionContext.get("SignedAuthBlock"));
+ assert (Boolean.TRUE.equals(Objects.requireNonNull(executionContext.get("isSignedAuthBlockValidated"))));
+
+ log.debug("Using IdentityLink and signed auth block in order to create SAML1 assertion.");
+
+ try (InputStream in = getClass().getResourceAsStream("SAML1Assertion.xml")) {
+ executionContext.put("SAML1Assertion", IOUtils.toString(in, Charset.forName("UTF-8")));
+
+ } catch (IOException e) {
+ throw new TaskExecutionException("", e);
+ }
+
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/GetIdentityLinkTask.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/GetIdentityLinkTask.java
new file mode 100644
index 000000000..bd08ec6a1
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/GetIdentityLinkTask.java
@@ -0,0 +1,54 @@
+package at.gv.egovernment.moa.id.process.spring.test.task;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.Charset;
+import java.util.Objects;
+
+import org.apache.commons.io.IOUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.api.Task;
+
+/**
+ * A dummy task simulating the retrieval of an IdentityLink.
+ * <p/>
+ * Asynchonous
+ * <p>
+ * Requires context data:
+ * <ul>
+ * <li>{@code bkuURL}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * Enriches context data with:
+ * <ul>
+ * <li>{@code IdentityLink}</li>
+ * </ul>
+ * </p>
+ *
+ * @author tknall
+ *
+ */
+public class GetIdentityLinkTask implements Task {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ @Override
+ public void execute(ExecutionContext executionContext) throws TaskExecutionException {
+ Objects.requireNonNull(executionContext.get("bkuURL"));
+
+ log.debug("Using bkuURL in order to retrieve IdentityLink.");
+
+ try (InputStream in = getClass().getResourceAsStream("IdentityLink_Max_Mustermann.xml")) {
+ executionContext.put("IdentityLink", IOUtils.toString(in, Charset.forName("UTF-8")));
+
+ } catch (IOException e) {
+ throw new TaskExecutionException("", e);
+ }
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/SelectBKUTask.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/SelectBKUTask.java
new file mode 100644
index 000000000..54195ec91
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/SelectBKUTask.java
@@ -0,0 +1,33 @@
+package at.gv.egovernment.moa.id.process.spring.test.task;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.api.Task;
+
+/**
+ * A dummy task simulating a bku selection.
+ * <p/>
+ * Asynchonous
+ * <p>
+ * Enriches context data with:
+ * <ul>
+ * <li>{@code bkuURL}</li>
+ * </ul>
+ * </p>
+ *
+ * @author tknall
+ *
+ */
+public class SelectBKUTask implements Task {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ @Override
+ public void execute(ExecutionContext executionContext) {
+ log.debug("Providing BKU selection.");
+ executionContext.put("bkuURL", "https://127.0.0.1:3496/https-security-layer-request");
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/SignAuthBlockTask.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/SignAuthBlockTask.java
new file mode 100644
index 000000000..8f9b72cea
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/SignAuthBlockTask.java
@@ -0,0 +1,57 @@
+package at.gv.egovernment.moa.id.process.spring.test.task;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.Charset;
+import java.util.Objects;
+
+import org.apache.commons.io.IOUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.api.Task;
+
+/**
+ * A dummy task simulating the signature of an auth block.
+ * <p/>
+ * Asynchonous
+ * <p>
+ * Requires context data:
+ * <ul>
+ * <li>{@code IdentityLink}</li>
+ * <li>{@code isIdentityLinkValidated}</li>
+ * <li>{@code bkuURL}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * Enriches context data with:
+ * <ul>
+ * <li>{@code SignedAuthBlock}</li>
+ * </ul>
+ * </p>
+ *
+ * @author tknall
+ *
+ */
+public class SignAuthBlockTask implements Task {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ @Override
+ public void execute(ExecutionContext executionContext) throws TaskExecutionException {
+ Objects.requireNonNull(executionContext.get("IdentityLink"));
+ assert (Boolean.TRUE.equals(Objects.requireNonNull(executionContext.get("isIdentityLinkValidated"))));
+ Objects.requireNonNull(executionContext.get("bkuURL"));
+
+ log.debug("Using validated IdentityLink and bkuURL in order to sign auth block.");
+ try (InputStream in = getClass().getResourceAsStream("SignedAuthBlock.xml")) {
+ executionContext.put("SignedAuthBlock", IOUtils.toString(in, Charset.forName("UTF-8")));
+ } catch (IOException e) {
+ throw new TaskExecutionException("", e);
+
+ }
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/ValidateIdentityLinkTask.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/ValidateIdentityLinkTask.java
new file mode 100644
index 000000000..a8e7df3d7
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/ValidateIdentityLinkTask.java
@@ -0,0 +1,42 @@
+package at.gv.egovernment.moa.id.process.spring.test.task;
+
+import java.util.Objects;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.api.Task;
+
+/**
+ * Dummy task simulating the validation of an IdentityLink.
+ * <p>
+ * Requires context data:
+ * <ul>
+ * <li>{@code IdentityLink}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * Enriches context data with:
+ * <ul>
+ * <li>{@code isIdentityLinkValidated}</li>
+ * </ul>
+ * </p>
+ *
+ * @author tknall
+ *
+ */
+public class ValidateIdentityLinkTask implements Task {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ @Override
+ public void execute(ExecutionContext executionContext) {
+ Objects.requireNonNull(executionContext.get("IdentityLink"));
+
+ log.debug("Validating IdentityLink.");
+
+ executionContext.put("isIdentityLinkValidated", true);
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/ValidateSignedAuthBlockTask.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/ValidateSignedAuthBlockTask.java
new file mode 100644
index 000000000..cece373d4
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/ValidateSignedAuthBlockTask.java
@@ -0,0 +1,47 @@
+package at.gv.egovernment.moa.id.process.spring.test.task;
+
+import java.util.Objects;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.api.Task;
+
+/**
+ * A dummy task simulating the validation of an auth block.
+ * <p>
+ * Requires context data:
+ * <ul>
+ * <li>{@code IdentityLink}</li>
+ * <li>{@code isIdentityLinkValidated}</li>
+ * <li>{@code SignedAuthBlock}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * Enriches context data with:
+ * <ul>
+ * <li>{@code isSignedAuthBlockValidated}</li>
+ * </ul>
+ * </p>
+ *
+ * @author tknall
+ *
+ */
+public class ValidateSignedAuthBlockTask implements Task {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ @Override
+ public void execute(ExecutionContext executionContext) throws TaskExecutionException {
+ Objects.requireNonNull(executionContext.get("IdentityLink"));
+ assert (Boolean.TRUE.equals(Objects.requireNonNull(executionContext.get("isIdentityLinkValidated"))));
+ Objects.requireNonNull(executionContext.get("SignedAuthBlock"));
+
+ log.debug("Using validated IdentityLink and signed auth block in order to validate signed auth block.");
+
+ executionContext.put("isSignedAuthBlockValidated", true);
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/BooleanStringExpressionEvaluator.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/BooleanStringExpressionEvaluator.java
new file mode 100644
index 000000000..20dfc50ef
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/BooleanStringExpressionEvaluator.java
@@ -0,0 +1,24 @@
+package at.gv.egovernment.moa.id.process.test;
+
+import java.util.Objects;
+
+import org.apache.commons.lang3.BooleanUtils;
+
+import at.gv.egovernment.moa.id.process.api.ExpressionEvaluationContext;
+import at.gv.egovernment.moa.id.process.api.ExpressionEvaluator;
+
+/**
+ * Expression evaluator that guesses the boolean value from a String. Refer to {@link BooleanUtils#toBoolean(String)}
+ * for further information.
+ *
+ * @author tknall
+ *
+ */
+public class BooleanStringExpressionEvaluator implements ExpressionEvaluator {
+
+ @Override
+ public boolean evaluate(ExpressionEvaluationContext expressionContext, String expression) {
+ return BooleanUtils.toBoolean(Objects.requireNonNull(expression, "Expression must not be null."));
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/HalloWeltTask.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/HalloWeltTask.java
new file mode 100644
index 000000000..d05200ee8
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/HalloWeltTask.java
@@ -0,0 +1,19 @@
+package at.gv.egovernment.moa.id.process.test;
+
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.api.Task;
+
+/**
+ * Simple task that just outputs a "Hallo World" text to the console.
+ *
+ * @author tknall
+ *
+ */
+public class HalloWeltTask implements Task {
+
+ @Override
+ public void execute(ExecutionContext executionContext) {
+ System.out.println("Hallo Welt");
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/HelloWorldTask.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/HelloWorldTask.java
new file mode 100644
index 000000000..e79bb8198
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/HelloWorldTask.java
@@ -0,0 +1,19 @@
+package at.gv.egovernment.moa.id.process.test;
+
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.process.api.Task;
+
+/**
+ * Simple task that just outputs a "Hello World" text to the console.
+ *
+ * @author tknall
+ *
+ */
+public class HelloWorldTask implements Task {
+
+ @Override
+ public void execute(ExecutionContext executionContext) {
+ System.out.println("Hello World");
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/ProcessDefinitionParserTest.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/ProcessDefinitionParserTest.java
new file mode 100644
index 000000000..df13f064b
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/ProcessDefinitionParserTest.java
@@ -0,0 +1,137 @@
+package at.gv.egovernment.moa.id.process.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.junit.Test;
+
+import at.gv.egovernment.moa.id.process.ProcessDefinitionParser;
+import at.gv.egovernment.moa.id.process.ProcessDefinitionParserException;
+import at.gv.egovernment.moa.id.process.model.EndEvent;
+import at.gv.egovernment.moa.id.process.model.ProcessDefinition;
+import at.gv.egovernment.moa.id.process.model.ProcessNode;
+import at.gv.egovernment.moa.id.process.model.StartEvent;
+import at.gv.egovernment.moa.id.process.model.TaskInfo;
+import at.gv.egovernment.moa.id.process.model.Transition;
+
+public class ProcessDefinitionParserTest {
+
+ @Test(expected = ProcessDefinitionParserException.class)
+ public void testParseInvalidProcessDefinition_MultipleStartEvents() throws IOException, ProcessDefinitionParserException {
+ try (InputStream in = getClass().getResourceAsStream("InvalidProcessDefinition_MultipleStartEvents.xml")) {
+ new ProcessDefinitionParser().parse(in);
+ }
+ }
+
+ @Test(expected = ProcessDefinitionParserException.class)
+ public void testParseInvalidProcessDefinition_TransitionLoop() throws IOException, ProcessDefinitionParserException {
+ try (InputStream in = getClass().getResourceAsStream("InvalidProcessDefinition_TransitionLoop.xml")) {
+ new ProcessDefinitionParser().parse(in);
+ }
+ }
+
+ @Test(expected = ProcessDefinitionParserException.class)
+ public void testParseInvalidProcessDefinition_TransitionStartsFromEndEvent() throws IOException, ProcessDefinitionParserException {
+ try (InputStream in = getClass().getResourceAsStream("InvalidProcessDefinition_TransitionStartsFromEndEvent.xml")) {
+ new ProcessDefinitionParser().parse(in);
+ }
+ }
+
+ @Test(expected = ProcessDefinitionParserException.class)
+ public void testParseInvalidProcessDefinition_TransitionRefsTransition() throws IOException, ProcessDefinitionParserException {
+ try (InputStream in = getClass().getResourceAsStream("InvalidProcessDefinition_TransitionRefsTransition.xml")) {
+ new ProcessDefinitionParser().parse(in);
+ }
+ }
+
+ @Test(expected = ProcessDefinitionParserException.class)
+ public void testParseInvalidProcessDefinition_NoStartEvents() throws IOException, ProcessDefinitionParserException {
+ try (InputStream in = getClass().getResourceAsStream("InvalidProcessDefinition_NoStartEvents.xml")) {
+ new ProcessDefinitionParser().parse(in);
+ }
+ }
+
+ @Test
+ public void testParseSampleProcessDefinition() throws IOException, ProcessDefinitionParserException {
+ try (InputStream in = getClass().getResourceAsStream("SampleProcessDefinition1.xml")) {
+
+ ProcessDefinitionParser parser = new ProcessDefinitionParser();
+ ProcessDefinition pd = parser.parse(in);
+
+ assertNotNull(pd);
+ assertEquals("SampleProcess1", pd.getId());
+
+ // first assert tasks then transitions
+ // start event
+ StartEvent startEvent = pd.getStartEvent();
+ assertNotNull(startEvent);
+ assertEquals("start", startEvent.getId());
+ assertEquals(startEvent, pd.getProcessNode("start"));
+ // task1
+ ProcessNode processNode = pd.getProcessNode("task1");
+ assertNotNull(processNode);
+ assertTrue(processNode instanceof TaskInfo);
+ TaskInfo task1 = (TaskInfo) processNode;
+ assertEquals("task1", task1.getId());
+ assertFalse(task1.isAsync());
+ // task2
+ processNode = pd.getProcessNode("task2");
+ assertNotNull(processNode);
+ assertTrue(processNode instanceof TaskInfo);
+ TaskInfo task2 = (TaskInfo) processNode;
+ assertEquals("task2", task2.getId());
+ assertTrue(task2.isAsync());
+ // end event
+ processNode = pd.getProcessNode("end");
+ assertNotNull(processNode);
+ assertTrue(processNode instanceof EndEvent);
+ EndEvent endEvent = (EndEvent) processNode;
+ assertEquals("end", endEvent.getId());
+
+ // assert transitions
+ // start event
+ assertNotNull(startEvent.getIncomingTransitions());
+ assertTrue(startEvent.getIncomingTransitions().isEmpty());
+ assertNotNull(startEvent.getOutgoingTransitions());
+ assertEquals(1, startEvent.getOutgoingTransitions().size());
+ // transition from start to task1
+ Transition startToTask1 = startEvent.getOutgoingTransitions().get(0);
+ assertEquals("fromStart", startToTask1.getId());
+ assertEquals(startEvent, startToTask1.getFrom());
+ assertEquals(task1, startToTask1.getTo());
+ assertEquals("true", startToTask1.getConditionExpression());
+ // task1
+ assertNotNull(task1.getIncomingTransitions());
+ assertEquals(1, task1.getIncomingTransitions().size());
+ assertEquals(startToTask1, task1.getIncomingTransitions().get(0));
+ assertNotNull(task1.getOutgoingTransitions());
+ assertEquals(1, task1.getOutgoingTransitions().size());
+ // transition from task1 to task2
+ Transition task1ToTask2 = task1.getOutgoingTransitions().get(0);
+ assertNull(task1ToTask2.getId());
+ assertEquals(task1, task1ToTask2.getFrom());
+ assertEquals(task2, task1ToTask2.getTo());
+ assertNull(task1ToTask2.getConditionExpression());
+ // task2
+ assertNotNull(task2.getIncomingTransitions());
+ assertEquals(1, task2.getIncomingTransitions().size());
+ assertEquals(task1ToTask2, task2.getIncomingTransitions().get(0));
+ assertNotNull(task2.getOutgoingTransitions());
+ assertEquals(1, task2.getOutgoingTransitions().size());
+ // transition from task2 to end
+ Transition task2ToEnd = task2.getOutgoingTransitions().get(0);
+ assertNull(task2ToEnd.getId());
+ assertEquals(task2, task2ToEnd.getFrom());
+ assertEquals(endEvent, task2ToEnd.getTo());
+ assertNull(task2ToEnd.getConditionExpression());
+
+ }
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/ProcessEngineTest.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/ProcessEngineTest.java
new file mode 100644
index 000000000..4f24468fe
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/test/ProcessEngineTest.java
@@ -0,0 +1,108 @@
+package at.gv.egovernment.moa.id.process.test;
+
+import static at.gv.egovernment.moa.id.process.ProcessInstanceState.*;
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.hibernate.cfg.Configuration;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
+import at.gv.egovernment.moa.id.commons.db.MOASessionDBUtils;
+import at.gv.egovernment.moa.id.commons.db.dao.session.InterfederationSessionStore;
+import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
+import at.gv.egovernment.moa.id.process.ProcessDefinitionParser;
+import at.gv.egovernment.moa.id.process.ProcessDefinitionParserException;
+import at.gv.egovernment.moa.id.process.ProcessEngine;
+import at.gv.egovernment.moa.id.process.ProcessEngineImpl;
+import at.gv.egovernment.moa.id.process.ProcessExecutionException;
+import at.gv.egovernment.moa.id.process.ProcessInstance;
+import at.gv.egovernment.moa.id.process.dao.ProcessInstanceStore;
+
+public class ProcessEngineTest {
+
+ private static ProcessEngine pe;
+
+ @BeforeClass
+ public static void init() throws IOException, ProcessDefinitionParserException {
+
+ ProcessDefinitionParser pdp = new ProcessDefinitionParser();
+
+ pe = new ProcessEngineImpl();
+
+ ((ProcessEngineImpl) pe).setTransitionConditionExpressionEvaluator(new BooleanStringExpressionEvaluator());
+ try (InputStream in = ProcessEngineTest.class.getResourceAsStream("SampleProcessDefinition1.xml")) {
+ ((ProcessEngineImpl) pe).registerProcessDefinition(pdp.parse(in));
+ }
+ try (InputStream in = ProcessEngineTest.class.getResourceAsStream("SampleProcessDefinition2.xml")) {
+ ((ProcessEngineImpl) pe).registerProcessDefinition(pdp.parse(in));
+ }
+
+ initHibernateForTesting();
+ }
+
+
+ private static void initHibernateForTesting() throws IOException{
+
+ InputStream in = ProcessEngineTest.class.getResourceAsStream("/at/gv/egovernment/moa/id/process/hibernate.configuration.test.properties");
+ Properties props = new Properties();
+ props.load(in);
+
+ try {
+ ConfigurationDBUtils.initHibernate(props);
+ Configuration config = new Configuration();
+ config.addProperties(props);
+ config.addAnnotatedClass(ProcessInstanceStore.class);
+ config.addAnnotatedClass(InterfederationSessionStore.class);
+ MOASessionDBUtils.initHibernate(config, props);
+ } catch (MOADatabaseException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Test
+ public void testSampleProcess1() throws IOException, ProcessDefinitionParserException, ProcessExecutionException {
+
+ String piId = pe.createProcessInstance("SampleProcess1");
+ ProcessInstance pi = pe.getProcessInstance(piId);
+ assertEquals(NOT_STARTED, pi.getState());
+
+ // start process
+ pe.start(piId);
+ pi = pe.getProcessInstance(piId);
+ assertEquals(SUSPENDED, pi.getState());
+
+ System.out.println("Do something asynchronously");
+ pe.signal(piId);
+ pi = pe.getProcessInstance(piId);
+ assertEquals(ENDED, pi.getState());
+ }
+
+ @Test
+ public void testSampleProcess2() throws IOException, ProcessDefinitionParserException, ProcessExecutionException {
+
+ String piId = pe.createProcessInstance("SampleProcess2");
+ ProcessInstance pi = pe.getProcessInstance(piId);
+ assertEquals(NOT_STARTED, pi.getState());
+
+ // start process
+ pe.start(piId);
+ pi = pe.getProcessInstance(piId);
+ assertEquals(SUSPENDED, pi.getState());
+
+ System.out.println("Do something asynchronously");
+ pe.signal(piId);
+ pi = pe.getProcessInstance(piId);
+ assertEquals(ENDED, pi.getState());
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testProcessInstanceDoesNotExist() {
+ pe.getProcessInstance("does not exist");
+ }
+
+}
diff --git a/id/server/idserverlib/src/test/java/test/tlenz/simpletest.java b/id/server/idserverlib/src/test/java/test/tlenz/simpletest.java
index ec908f78b..549eb4f2b 100644
--- a/id/server/idserverlib/src/test/java/test/tlenz/simpletest.java
+++ b/id/server/idserverlib/src/test/java/test/tlenz/simpletest.java
@@ -1,3 +1,8 @@
+package test.tlenz;
+
+import at.gv.egovernment.moa.id.data.AuthenticationRole;
+import at.gv.egovernment.moa.id.data.AuthenticationRoleFactory;
+
/*******************************************************************************
* Copyright 2014 Federal Chancellery Austria
* MOA-ID has been developed in a cooperation between BRZ, the Federal
@@ -38,12 +43,19 @@
//import at.gv.egovernment.moa.id.storage.AssertionStorage;
//import at.gv.egovernment.moa.util.MiscUtil;
//
-//public class simpletest {
+public class simpletest {
//
-// public static void main(String[] args) {
+ public static void main(String[] args) {
+
+ AuthenticationRole test = AuthenticationRoleFactory.buildFormPVPole("ecas-demo-EUROPEAN_COMMISSION(key=A\\,B)");
+
+ test = AuthenticationRoleFactory.buildFormPVPole("ecas-demo-EUROPEAN_COMMISSION");
+ test = AuthenticationRoleFactory.buildFormPVPole("ecas-demo-EUROPEAN_COMMISSION(key=A)");
+ test = AuthenticationRoleFactory.buildFormPVPole("ecas-demo-EUROPEAN_COMMISSION(keyA=A,keyB=B)");
+
//
// System.setProperty("mandates.configuration", "D:/Projekte/svn/moa-id/moa-id.properties");
-// String propertiesFileLocation = System.getProperty("mandates.configuration");
+// String propertiesFileLocation = Systm.getProperty("mandates.configuration");
//
// MiscUtil.assertNotNull(propertiesFileLocation, "propertiesFileName");
// File propertiesFile = new File(propertiesFileLocation);
@@ -95,5 +107,5 @@
//
//
//
-// }
-//}
+ }
+}
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/hibernate.configuration.test.properties b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/hibernate.configuration.test.properties
new file mode 100644
index 000000000..c4faa6d09
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/hibernate.configuration.test.properties
@@ -0,0 +1,12 @@
+# minimal Hibnerate configuration for testing the process engine
+hibernate.dialect=org.hibernate.dialect.H2Dialect
+hibernate.connection.url=jdbc:h2:mem:moa.id-session;DB_CLOSE_DELAY=-1
+hibernate.connection.charSet=utf-8
+hibernate.connection.driver_class=org.h2.Driver
+hibernate.connection.username=
+hibernate.connection.password=
+
+hibernate.format_sql=true
+hibernate.show_sql=false
+hibernate.transaction.auto_close_session=true
+hibernate.hbm2ddl.auto=update
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SampleProcessDefinitionForSAML1Authentication.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SampleProcessDefinitionForSAML1Authentication.xml
new file mode 100644
index 000000000..764ad6405
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SampleProcessDefinitionForSAML1Authentication.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pd:ProcessDefinition xmlns:pd="http://reference.e-government.gv.at/namespace/moa/process/definition/v1"
+ id="SampleProcessDefinitionForSAML1Authentication">
+
+ <!--
+ returns String 'bkuURL'
+ -->
+ <pd:Task id="bkuSelectionTask" class="at.gv.egovernment.moa.id.process.spring.test.task.SelectBKUTask" />
+
+ <!--
+ requires 'bkuURL'
+ returns String 'IdentityLink'
+ -->
+ <pd:Task id="getIdentityLinkTask" class="at.gv.egovernment.moa.id.process.spring.test.task.GetIdentityLinkTask" />
+
+ <!--
+ requires 'IdentityLink'
+ returns Boolean 'isIdentityLinkValidated'
+ -->
+ <pd:Task id="validateIdentityLinkTask" class="at.gv.egovernment.moa.id.process.spring.test.task.ValidateIdentityLinkTask" />
+
+ <!--
+ requires 'IdentityLink', 'isIdentityLinkValidated', 'bkuURL'
+ returns String 'SignedAuthBlock'
+ -->
+ <pd:Task id="signAuthBlockTask" class="at.gv.egovernment.moa.id.process.spring.test.task.SignAuthBlockTask" />
+
+ <!--
+ requires 'IdentityLink', 'isIdentityLinkValidated', 'SignedAuthBlock'
+ returns Boolean 'isSignedAuthBlockValidated'
+ -->
+ <pd:Task id="validateSignedAuthBlockTask" class="at.gv.egovernment.moa.id.process.spring.test.task.ValidateSignedAuthBlockTask" />
+
+ <!--
+ requires 'IdentityLink', 'isIdentityLinkValidated', 'SignedAuthBlock', 'isSignedAuthBlockValidated';
+ returns 'SAML1Assertion'
+ -->
+ <pd:Task id="createAssertionTask" class="at.gv.egovernment.moa.id.process.spring.test.task.CreateSAML1AssertionTask" />
+
+ <pd:StartEvent id="start" />
+ <pd:EndEvent id="end" />
+
+ <pd:Transition from="start" to="bkuSelectionTask" conditionExpression="ctx['bkuURL'] == null" />
+ <pd:Transition from="start" to="getIdentityLinkTask" />
+
+ <pd:Transition from="bkuSelectionTask" to="getIdentityLinkTask" />
+ <pd:Transition from="getIdentityLinkTask" to="validateIdentityLinkTask" />
+ <pd:Transition from="validateIdentityLinkTask" to="signAuthBlockTask" conditionExpression="ctx['isIdentityLinkValidated']" />
+ <pd:Transition from="signAuthBlockTask" to="validateSignedAuthBlockTask" />
+ <pd:Transition from="validateSignedAuthBlockTask" to="createAssertionTask" conditionExpression="ctx['isSignedAuthBlockValidated']" />
+
+ <pd:Transition from="createAssertionTask" to="end" />
+
+</pd:ProcessDefinition>
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SampleProcessDefinitionWithExpression1.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SampleProcessDefinitionWithExpression1.xml
new file mode 100644
index 000000000..dfe186423
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SampleProcessDefinitionWithExpression1.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pd:ProcessDefinition xmlns:pd="http://reference.e-government.gv.at/namespace/moa/process/definition/v1"
+ id="SampleProcessWithExpression1">
+
+ <pd:Task id="task1" />
+ <pd:Task id="task2" />
+ <pd:Task id="task3" />
+ <pd:Task id="task4" />
+
+ <pd:StartEvent id="start" />
+ <pd:EndEvent id="end" />
+
+ <pd:Transition from="start" to="task1" conditionExpression="'true'" />
+ <pd:Transition from="task1" to="task2" conditionExpression="'true'" />
+ <pd:Transition from="task2" to="task3" conditionExpression="'true'" />
+ <pd:Transition from="task3" to="task4" conditionExpression="'true'" />
+ <pd:Transition from="task4" to="end" conditionExpression="'true'" />
+
+</pd:ProcessDefinition>
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionAwareProcessEngineTest-context.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionAwareProcessEngineTest-context.xml
new file mode 100644
index 000000000..9a381d83a
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionAwareProcessEngineTest-context.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:task="http://www.springframework.org/schema/task"
+ xsi:schemaLocation="http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="springElAwareExpressionEvaluator" class="at.gv.egovernment.moa.id.process.spring.SpringExpressionEvaluator" />
+
+ <bean id="processEngine" class="at.gv.egovernment.moa.id.process.ProcessEngineImpl">
+ <property name="transitionConditionExpressionEvaluator" ref="springElAwareExpressionEvaluator" />
+ </bean>
+</beans>
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionEvaluatorTest-context.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionEvaluatorTest-context.xml
new file mode 100644
index 000000000..95b88ca1a
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/SpringExpressionEvaluatorTest-context.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="simplePojo" class="at.gv.egovernment.moa.id.process.spring.test.SimplePojo">
+ <property name="booleanValue" value="true" />
+ <property name="integerValue" value="42" />
+ <property name="stringValue" value="HelloWorld" />
+ </bean>
+
+ <bean id="expressionEvaluator" class="at.gv.egovernment.moa.id.process.spring.SpringExpressionEvaluator" />
+
+</beans>
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/task/IdentityLink_Max_Mustermann.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/task/IdentityLink_Max_Mustermann.xml
new file mode 100644
index 000000000..c68972f13
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/task/IdentityLink_Max_Mustermann.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:ecdsa="http://www.w3.org/2001/04/xmldsig-more#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:si="http://www.w3.org/2001/XMLSchema-instance" AssertionID="szr.bmi.gv.at-AssertionID132860852347311974" IssueInstant="2012-02-07T10:55:23+01:00" Issuer="http://portal.bmi.gv.at/ref/szr/issuer" MajorVersion="1" MinorVersion="0">
+ <saml:AttributeStatement>
+ <saml:Subject>
+ <saml:SubjectConfirmation>
+ <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:sender-vouches</saml:ConfirmationMethod>
+ <saml:SubjectConfirmationData>
+ <pr:Person si:type="pr:PhysicalPersonType"><pr:Identification><pr:Value>tqCQEC7+AqGEeeL390V5Jg==</pr:Value><pr:Type>urn:publicid:gv.at:baseid</pr:Type></pr:Identification><pr:Name><pr:GivenName>Max</pr:GivenName><pr:FamilyName primary="undefined">Mustermann</pr:FamilyName></pr:Name><pr:DateOfBirth>1940-01-01</pr:DateOfBirth></pr:Person>
+ </saml:SubjectConfirmationData>
+ </saml:SubjectConfirmation>
+ </saml:Subject>
+ <saml:Attribute AttributeName="CitizenPublicKey" AttributeNamespace="urn:publicid:gv.at:namespaces:identitylink:1.2"><saml:AttributeValue><ecdsa:ECDSAKeyValue><ecdsa:DomainParameters><ecdsa:NamedCurve URN="urn:oid:1.2.840.10045.3.1.7"/></ecdsa:DomainParameters><ecdsa:PublicKey><ecdsa:X Value="111409151487007036894649069746411000129419717653159596280366627647453458115517" si:type="ecdsa:PrimeFieldElemType"/><ecdsa:Y Value="94725036374184689337892465478597728884477416796494369571140658859618867645034" si:type="ecdsa:PrimeFieldElemType"/></ecdsa:PublicKey></ecdsa:ECDSAKeyValue></saml:AttributeValue></saml:Attribute></saml:AttributeStatement>
+ <dsig:Signature>
+ <dsig:SignedInfo>
+ <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+ <dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
+ <dsig:Reference URI="">
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
+ <dsig:XPath>not(ancestor-or-self::pr:Identification)</dsig:XPath>
+ </dsig:Transform>
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ </dsig:Transforms>
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>Rmr5vkWXL/PvpoXnbK632QmzYms=</dsig:DigestValue>
+ </dsig:Reference>
+ <dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#manifest">
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>HoPZWYll8aMFpKOlRSwckt5iCQk=</dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:SignedInfo>
+ <dsig:SignatureValue>
+ NPpRwVo5/5kf5iHUyaEc7d7So3W4oPgOCYNgnKpgdZfttFkFFN+9oG60w7YvKEYSeTPhP3zp7eaH
+ZFapj+naD+wd0y5ELWep9Y+s+qP7fNLrFECHQxQasLWtR4akxlWDpYQ0bvOuepK2ip1EQ6pRlccA
+wJ1l4iOWFhfdA9YAg5QLkBqWSwgrNUswhLnDBM+Ot6Gj5g2rpYY7aoAOXvTR8B5Dkg94ASb4u0wv
+VPV8+4mjOfP+l6QWLqywzcq3qj/qFZkbujjZbV/fNPDnDD1ff/M6ZfCGO8xzlYfjfEA7cmHuiJf2
+/ey/3nT7vI5XbpBPWChT5Sl4DQysxlfE6e4MZw==
+ </dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIF3TCCBMWgAwIBAgIDByniMA0GCSqGSIb3DQEBBQUAMIGfMQswCQYDVQQGEwJBVDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMSIwIAYDVQQLDBlhLXNpZ24tY29ycG9yYXRlLWxpZ2h0LTAyMSIwIAYDVQQDDBlhLXNpZ24tY29ycG9yYXRlLWxpZ2h0LTAyMB4XDTEwMDcyODExMzY0M1oXDTE1MDcyODExMzY0M1owgbYxCzAJBgNVBAYTAkFUMR4wHAYDVQQKDBVEYXRlbnNjaHV0emtvbW1pc3Npb24xIjAgBgNVBAsMGVN0YW1temFobHJlZ2lzdGVyYmVob2VyZGUxLjAsBgNVBAMMJVNpZ25hdHVyc2VydmljZSBEYXRlbnNjaHV0emtvbW1pc3Npb24xFTATBgNVBAUTDDMyNTkyODMyMzk5ODEcMBoGCSqGSIb3DQEJARYNZHNrQGRzay5ndi5hdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN+dBSEBGj2jUXIK1Mp3lVxc/Za+pJMiyKrX3G1ZxgX/ikx7D9scsPYMt473LlAWl9cmCbHbJK+PV2XNNdURLMUCIX+4vUNs2MHeDTQtX8BXjJFpwJYSoaRJQ39FVS/1r5sWcra9Hhdm7w5Gtx/2ukyDX0kdkxawkhP4EQEzi/SI+Fugn+WqgQ1nAdlbxb/dcBw5w1h9b3lmuwUf4z3ooQWUD2DgA/kKd1KejNR43mLUsmvSzevPxT9zs78pOR1OacB7IszTVJPXeOEaaNZHnnB/UeO3g8LEV/3OkXcUgcMkbIIiaBHlll71Pq0COj9kqjXoe7OrRjLY5i3KwOpa6TMCAwEAAaOCAgcwggIDMBMGA1UdIwQMMAqACEkcWDpP6A0DMH8GCCsGAQUFBwEBBHMwcTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AuYS10cnVzdC5hdC9vY3NwMEYGCCsGAQUFBzAChjpodHRwOi8vd3d3LmEtdHJ1c3QuYXQvY2VydHMvYS1zaWduLWNvcnBvcmF0ZS1saWdodC0wMmEuY3J0MFQGA1UdIARNMEswSQYGKigAEQESMD8wPQYIKwYBBQUHAgEWMWh0dHA6Ly93d3cuYS10cnVzdC5hdC9kb2NzL2NwL2Etc2lnbi1BbXRzc2lnbmF0dXIwgZ4GA1UdHwSBljCBkzCBkKCBjaCBioaBh2xkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLWNvcnBvcmF0ZS1saWdodC0wMixvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0P2Jhc2U/b2JqZWN0Y2xhc3M9ZWlkQ2VydGlmaWNhdGlvbkF1dGhvcml0eTARBgNVHQ4ECgQITAgOnhr0tbowDgYDVR0PAQH/BAQDAgSwMCAGA1UdEQQZMBeBFW1hcmN1cy5oaWxkQGRzay5ndi5hdDAJBgNVHRMEAjAAMA4GByooAAoBBwEEAwEB/zAUBgcqKAAKAQEBBAkMB0JTQi1EU0swDQYJKoZIhvcNAQEFBQADggEBAHTklnvPCH/bJSOlIPbLUEkSGuFHsektSZ8Vr22x/Yv7EzsxoQrJIiz2mQ2gQqFuExdWYxvsowjiSbiis9iUf1c0zscvDS3mIZxGs4M89XHsjHnIyb+Fuwnamw65QrFvM1tNB1ZMjxJ3x+YmHLHdtT3BEBcr3/NCRHd2S0HoBspNz9HVgJaZY1llR7poKBvnAc4g1i+QTvyVb00PtKxR9Lw/9ABInX/1pzpxqrPy7Ib2OP8z6dd3WHmIsCiSHUaj0Dxwwln6fYJjhxZ141SnbovlCLYtrsZLXoi9ljIqX4xO0PwMI2RfNc9cXxTRrRS6rEOvX7PpvgXiDXhp592Yyp4=</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo>
+ <dsig:Object>
+ <dsig:Manifest Id="manifest">
+ <dsig:Reference URI="">
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
+ <dsig:XPath>not(ancestor-or-self::dsig:Signature)</dsig:XPath>
+ </dsig:Transform>
+ </dsig:Transforms>
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>7IkIdYti2dh3VZQ4Fp+9lPT67cM=</dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:Manifest>
+ </dsig:Object>
+ </dsig:Signature>
+</saml:Assertion> \ No newline at end of file
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/task/SAML1Assertion.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/task/SAML1Assertion.xml
new file mode 100644
index 000000000..3aeedd590
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/task/SAML1Assertion.xml
@@ -0,0 +1,487 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<saml:Assertion AssertionID="6025428631468682100" IssueInstant="2008-07-14T17:51:38+02:00" Issuer="https://localhost:18443/moa-id-auth/" MajorVersion="1" MinorVersion="0" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:si="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <saml:AttributeStatement>
+ <saml:Subject>
+ <saml:NameIdentifier NameQualifier="urn:publicid:gv.at:wbpk+FN+www.act.at">K2YMyx3/5kIpNJR+SAD/rbRYH+c=</saml:NameIdentifier>
+ <saml:SubjectConfirmation>
+ <saml:ConfirmationMethod>http://reference.e-government.gv.at/namespace/moa/20020822#cm</saml:ConfirmationMethod>
+ <saml:SubjectConfirmationData>
+ <saml:Assertion AssertionID="any" IssueInstant="2008-07-14T17:51:26+02:00" Issuer="Thomas Knall" MajorVersion="1" MinorVersion="0" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion">
+ <saml:AttributeStatement>
+ <saml:Subject>
+ <saml:NameIdentifier>https://localhost:18443/moa-id-auth/</saml:NameIdentifier>
+ </saml:Subject>
+ <saml:Attribute AttributeName="wbPK" AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <saml:AttributeValue>
+ <pr:Identification>
+ <pr:Value>K2YMyx3/5kIpNJR+SAD/rbRYH+c=</pr:Value>
+ <pr:Type>urn:publicid:gv.at:wbpk+FN+www.act.at</pr:Type>
+ </pr:Identification>
+ </saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="OA" AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <saml:AttributeValue>https://localhost:48443/mandates/</saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="Geburtsdatum" AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <saml:AttributeValue>1978-04-29</saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="RepresentationType" AttributeNamespace="http://reference.e-government.gv.at/namespace/mandates/20040701#">
+ <saml:AttributeValue>Vollmachtsvertreter</saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="MandatorName" AttributeNamespace="http://reference.e-government.gv.at/namespace/mandates/20040701#">
+ <saml:AttributeValue>MeineTestFirma</saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="MandatorWbpk" AttributeNamespace="http://reference.e-government.gv.at/namespace/mandates/20040701#">
+ <saml:AttributeValue>123456i</saml:AttributeValue>
+ </saml:Attribute>
+ </saml:AttributeStatement>
+ <dsig:Signature Id="signature-1216050695-35956125-21395" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:SignedInfo>
+ <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
+ <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/>
+ <dsig:Reference Id="signed-data-reference-0-1216050695-35956125-19584" URI="">
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
+ <xsl:stylesheet version="1.0" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:template match="/" xmlns="http://www.w3.org/1999/xhtml">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Signatur der Anmeldedaten</title>
+ <style media="screen" type="text/css">
+ .boldstyle { font-weight: bold; }
+ .italicstyle { font-style: italic; }
+ .annotationstyle { font-size: small; }
+ </style>
+ </head>
+ <body>
+ <h1>Signatur der Anmeldedaten</h1>
+ <p/>
+ <h4>Mit meiner elektronischen Signatur beantrage ich,
+ <span class="boldstyle">
+ <xsl:value-of select="//@Issuer"/>
+ </span>, geboren am
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName=&apos;Geburtsdatum&apos;]/saml:AttributeValue,9,2)"/>.
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName=&apos;Geburtsdatum&apos;]/saml:AttributeValue,6,2)"/>.
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName=&apos;Geburtsdatum&apos;]/saml:AttributeValue,1,4)"/>,
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;OIDTextualDescription&apos;]">
+ in der Rolle als <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;OIDTextualDescription&apos;]/saml:AttributeValue"/>
+ (OID***= <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;OID&apos;]/saml:AttributeValue"/>),
+ </xsl:if>
+ den Zugang zur gesicherten Anwendung.
+ </h4>
+ <p/>
+ <h4>Datum und Uhrzeit:
+ <xsl:value-of select="substring(//@IssueInstant,9,2)"/>.
+ <xsl:value-of select="substring(//@IssueInstant,6,2)"/>.
+ <xsl:value-of select="substring(//@IssueInstant,1,4)"/>,
+ <xsl:value-of select="substring(//@IssueInstant,12,2)"/>:
+ <xsl:value-of select="substring(//@IssueInstant,15,2)"/>:
+ <xsl:value-of select="substring(//@IssueInstant,18,2)"/>
+ </h4>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;HPI&apos;]">
+ <h4>HPI(**): <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;HPI&apos;]/saml:AttributeValue"/>
+ </h4>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;wbPK&apos;]">
+ <h4>wbPK(*): <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;wbPK&apos;]/saml:AttributeValue/pr:Identification/pr:Value"/>
+ </h4>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;MandatorName&apos;]">
+ <hr/>
+ <h4>Ich bin weiters ermächtigt als <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;RepresentationType&apos;]/saml:AttributeValue/text()"/>
+ von <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;MandatorName&apos;]/saml:AttributeValue/text()"/>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;MandatorDateOfBirth&apos;]">, geboren am
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName=&apos;MandatorDateOfBirth&apos;]/saml:AttributeValue,9,2)"/>.
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName=&apos;MandatorDateOfBirth&apos;]/saml:AttributeValue,6,2)"/>.
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName=&apos;MandatorDateOfBirth&apos;]/saml:AttributeValue,1,4)"/>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;MandatorDomainIdentifier&apos;]">,
+ <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;MandatorDomainIdentifier&apos;]/saml:AttributeValue/text()"/>
+ </xsl:if>, in deren Auftrag zu handeln.
+ </h4>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;MandatorWbpk&apos;]">
+ <h4>wbPK(*) des Vollmachtgebers: <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;MandatorWbpk&apos;]/saml:AttributeValue/text()"/>
+ </h4>
+ </xsl:if>
+ <p/>
+ </xsl:if>
+ <xsl:choose>
+ <xsl:when test="//saml:Attribute[@AttributeName=&apos;OID&apos;]">
+ <p/>
+ <hr/>
+ </xsl:when>
+ <xsl:when test="//saml:Attribute[@AttributeName=&apos;HPI&apos;]">
+ <p/>
+ <hr/>
+ </xsl:when>
+ <xsl:when test="//saml:Attribute[@AttributeName=&apos;wbPK&apos;]">
+ <p/>
+ <hr/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;wbPK&apos;]">
+ <div class="annotationstyle">(*) wbPK: Das <span class="italicstyle">wirtschaftsbereichsspezifische Personenkennzeichen</span> wird aus den
+ jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum
+ Wirtschaftsunternehmen.</div>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;HPI&apos;]">
+ <div class="annotationstyle">(**) HPI: Der <span class="italicstyle">eHealth Professional Identifier</span> wird aus den jeweiligen
+ Stammzahlen der Gesundheitsdiensteanbieterinnen / Gesundheitsdiensteanbieter berechnet und ermöglicht eine eindeutige Zuordnung der
+ Gesundheitsdiensteanbieterin / des Gesundheitsdiensteanbieters im Gesundheitsbereich.</div>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;OID&apos;]">
+ <div class="annotationstyle">(***) OID: <span class="italicstyle">Object Identifier</span> sind standardisierte Objekt-Bezeichner und
+ beschreiben eindeutig die Rollen des GDA-Token Inhabers.</div>
+ </xsl:if>
+ </body>
+ </html>
+ </xsl:template>
+ </xsl:stylesheet>
+ </dsig:Transform>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
+ </dsig:Transforms>
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>0q9QWyqAyyiVNNLu1rIcU+nKsEE=</dsig:DigestValue>
+ </dsig:Reference>
+ <dsig:Reference Id="etsi-data-reference-0-1216050695-35956125-7815" Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id(&apos;etsi-data-object-0-1216050695-35956125-20638&apos;)/child::etsi:QualifyingProperties/child::etsi:SignedProperties)">
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>WtB0/ptvoB/r/7+fauSUIBULymg=</dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:SignedInfo>
+ <dsig:SignatureValue>mZt9DuZiDqG81scsf30qjSDdy6vKC2/n034ZZwMUAvfWOXy3+Ubsk5X5CHhz
++lyI</dsig:SignatureValue>
+ <dsig:KeyInfo>
+ <dsig:X509Data>
+ <dsig:X509Certificate>MIIEtDCCA5ygAwIBAgIDAgTEMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYDVQQG
+EwJBVDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lz
+dGVtZSBpbSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR4wHAYDVQQLDBVh
+LXNpZ24tUHJlbWl1bS1TaWctMDIxHjAcBgNVBAMMFWEtc2lnbi1QcmVtaXVt
+LVNpZy0wMjAeFw0wNjA0MDQwOTUyMjhaFw0xMTA0MDQwOTUyMjhaMGkxCzAJ
+BgNVBAYTAkFUMRUwEwYDVQQDDAxUaG9tYXMgS25hbGwxDjAMBgNVBAQMBUtu
+YWxsMQ8wDQYDVQQqDAZUaG9tYXMxFTATBgNVBAUTDDUzNTE5ODkyMzM0OTEL
+MAkGA1UEDAwCREkwSTATBgcqhkjOPQIBBggqhkjOPQMBAQMyAARrnYW5sXCQ
+6M3irWaanDPi/ROXueKWiPRyZGjNH0Cp/NaiOuvrpv2RDVEKQm2tBiajggIP
+MIICCzATBgNVHSMEDDAKgAhN3+H/S9nJ3zAnBggrBgEFBQcBAwEB/wQYMBYw
+CAYGBACORgEBMAoGCCsGAQUFBwsBMHsGCCsGAQUFBwEBBG8wbTBCBggrBgEF
+BQcwAoY2aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Etc2lnbi1QcmVt
+aXVtLVNpZy0wMmEuY3J0MCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5hLXRy
+dXN0LmF0L29jc3AwWQYDVR0gBFIwUDBEBgYqKAARAQswOjA4BggrBgEFBQcC
+ARYsaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3MvY3AvYS1zaWduLVByZW1p
+dW0wCAYGBACLMAEBMIGaBgNVHR8EgZIwgY8wgYyggYmggYaGgYNsZGFwOi8v
+bGRhcC5hLXRydXN0LmF0L291PWEtc2lnbi1QcmVtaXVtLVNpZy0wMixvPUEt
+VHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0P2Jhc2U/b2Jq
+ZWN0Y2xhc3M9ZWlkQ2VydGlmaWNhdGlvbkF1dGhvcml0eTARBgNVHQ4ECgQI
+SNyH29WUoCgwDgYDVR0PAQH/BAQDAgbAMCgGA1UdCQQhMB8wHQYIKwYBBQUH
+CQExERgPMTk3ODA0MjkwMDAwMDBaMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQEF
+BQADggEBAFkSCJE0YD4p4izU3ekQYPv4Z7gm/VFlpma5hXNvwkajVjHlAqo/
+ylYn8NQ4mMkD+yCDNtm8m8nr0K/yICb8Gnkbv59i6nh2AbzYBBb49VnYYGL6
+uunLH0aFUpAhy+3mDdlH8uhhIQBHwCfgwG1qa5zXY7bz4Vzkac/h6T+JVFkI
+egO8OHQDadhgJvW80qspiao2DTac6vVgx4tGvjpdmw1R2pXBYhHD5rkPHlkf
+GoeL3ak6hq4ea94Oy5VfNTIJv5MA0J2G1mwnW9B8uPWSM5EYPoWJyBOWcKBL
+SSUqOt9D/9215ZGfbchkdRZjx0dTAD3FIhgG8nA72/uCFrBzyTk=
+</dsig:X509Certificate>
+ </dsig:X509Data>
+ </dsig:KeyInfo>
+ <dsig:Object Id="etsi-data-object-0-1216050695-35956125-20638">
+ <etsi:QualifyingProperties Target="#signature-1216050695-35956125-21395" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#">
+ <etsi:SignedProperties>
+ <etsi:SignedSignatureProperties>
+ <etsi:SigningTime>2008-07-14T15:51:35Z</etsi:SigningTime>
+ <etsi:SigningCertificate>
+ <etsi:Cert>
+ <etsi:CertDigest>
+ <etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <etsi:DigestValue>inMYWBmAxMHP7mDENjLFaEtv0Zk=</etsi:DigestValue>
+ </etsi:CertDigest>
+ <etsi:IssuerSerial>
+ <dsig:X509IssuerName>CN=a-sign-Premium-Sig-02,OU=a-sign-Premium-Sig-02,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>132292</dsig:X509SerialNumber>
+ </etsi:IssuerSerial>
+ </etsi:Cert>
+ </etsi:SigningCertificate>
+ <etsi:SignaturePolicyIdentifier>
+ <etsi:SignaturePolicyImplied/>
+ </etsi:SignaturePolicyIdentifier>
+ </etsi:SignedSignatureProperties>
+ <etsi:SignedDataObjectProperties>
+ <etsi:DataObjectFormat ObjectReference="#signed-data-reference-0-1216050695-35956125-19584">
+ <etsi:MimeType>application/xhtml+xml</etsi:MimeType>
+ </etsi:DataObjectFormat>
+ </etsi:SignedDataObjectProperties>
+ </etsi:SignedProperties>
+ </etsi:QualifyingProperties>
+ </dsig:Object>
+ </dsig:Signature>
+ </saml:Assertion>
+ <saml:Assertion AssertionID="szr.bmi.gv.at-AssertionID11936526102761952" IssueInstant="2007-10-29T10:10:10+01:00" Issuer="http://portal.bmi.gv.at/ref/szr/issuer" MajorVersion="1" MinorVersion="0" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:ecdsa="http://www.w3.org/2001/04/xmldsig-more#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:si="http://www.w3.org/2001/XMLSchema-instance">
+ <saml:AttributeStatement>
+ <saml:Subject>
+ <saml:SubjectConfirmation>
+ <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:sender-vouches</saml:ConfirmationMethod>
+ <saml:SubjectConfirmationData>
+ <pr:Person si:type="pr:PhysicalPersonType">
+ <pr:Identification>
+ <pr:Value>K2YMyx3/5kIpNJR+SAD/rbRYH+c=</pr:Value>
+ <pr:Type>urn:publicid:gv.at:wbpk+FN+www.act.at</pr:Type>
+ </pr:Identification>
+ <pr:Name>
+ <pr:GivenName>Thomas</pr:GivenName>
+ <pr:FamilyName primary="undefined">Knall</pr:FamilyName>
+ </pr:Name>
+ <pr:DateOfBirth>1978-04-29</pr:DateOfBirth>
+ </pr:Person>
+ </saml:SubjectConfirmationData>
+ </saml:SubjectConfirmation>
+ </saml:Subject>
+ <saml:Attribute AttributeName="CitizenPublicKey" AttributeNamespace="urn:publicid:gv.at:namespaces:identitylink:1.2">
+ <saml:AttributeValue>
+ <ecdsa:ECDSAKeyValue>
+ <ecdsa:DomainParameters>
+ <ecdsa:NamedCurve URN="urn:oid:1.2.840.10045.3.1.1"/>
+ </ecdsa:DomainParameters>
+ <ecdsa:PublicKey>
+ <ecdsa:X Value="2638720011055700682018137297354399374048880611104468142324" si:type="ecdsa:PrimeFieldElemType"/>
+ <ecdsa:Y Value="2804889174475641803405778188053052844820705830770276369958" si:type="ecdsa:PrimeFieldElemType"/>
+ </ecdsa:PublicKey>
+ </ecdsa:ECDSAKeyValue>
+ </saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="CitizenPublicKey" AttributeNamespace="urn:publicid:gv.at:namespaces:identitylink:1.2">
+ <saml:AttributeValue>
+ <dsig:RSAKeyValue>
+ <dsig:Modulus>sWOqPZzPTn9VvBR5LjuopIWYdh5aGzuX2vMjofhn8bStba1CDW1qkDdlYW4Rs/DfU/I1uqor4Lje
+/G3Yzh82yD0MHdzlW8MYUJ8RJe+czbjRUPaSbC/NRqhyF3eKnflxM++sJb2abrUH/9TV0q8P5QRS
+uZC/JpAEYpSazysPz/fv8AEnU8oxcTvCiax1jf2GZPmm3qFjPc4qDYNHqfnE8yWYt7kHeqPV/cRw
+x3aMGW8mRwQZb7VRFLW5g37nrt9N</dsig:Modulus>
+ <dsig:Exponent>AQAB</dsig:Exponent>
+ </dsig:RSAKeyValue>
+ </saml:AttributeValue>
+ </saml:Attribute>
+ </saml:AttributeStatement>
+ <dsig:Signature>
+ <dsig:SignedInfo>
+ <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+ <dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
+ <dsig:Reference URI="">
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
+ <dsig:XPath>not(ancestor-or-self::pr:Identification)</dsig:XPath>
+ </dsig:Transform>
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ </dsig:Transforms>
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>b3d/wcQb0Bl0/6GSPsrMxWpdRLA=</dsig:DigestValue>
+ </dsig:Reference>
+ <dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#manifest">
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>eet0q3Thmw6+cbO1fazbEg0556I=</dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:SignedInfo>
+ <dsig:SignatureValue>
+oy55Cq7IyYy7z/TO2a3+m7tjG/ztiKhxhGzVqEYIWIObEOs/GVJDCCI4oe/HS8Fhc4TaXDcZXk4y
+qBp4JJ288TeaNjPYkPzp38nWJ4xRatEyo7VaySXy+TqgwiBT5uhxrwkroCr4ZIWwOvt1uR5UBVAf
+qk1ii+LPW2WYE3bMpoHfrM9CdFSPzWTRl/0zsEURc64EBPyIdKz+c70DaexeX2E0JVelKcj+jDaJ
+mHsFhi/9QoscqPEVA87qv07yhyK5S41+f3HDvpuhYwvQDdOq50sclfsI+g9r473VxiRsOmJ9Ak4/
+k2KP0tgfAQ+h5hRGQUUo5LYPywjg7zPxe8SGGA==
+</dsig:SignatureValue>
+ <dsig:KeyInfo>
+ <dsig:X509Data>
+ <dsig:X509Certificate>
+MIIFZTCCBE2gAwIBAgIDAt4cMA0GCSqGSIb3DQEBBQUAMIGfMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMSIwIAYDVQQLDBlhLXNpZ24tY29y
+cG9yYXRlLWxpZ2h0LTAzMSIwIAYDVQQDDBlhLXNpZ24tY29ycG9yYXRlLWxpZ2h0
+LTAzMB4XDTA3MDExOTA5MDY0OFoXDTEyMDExOTA5MDY0OFowgZwxCzAJBgNVBAYT
+AkFUMRkwFwYDVQQKDBBCdW5kZXNrYW56bGVyYW10MR4wHAYDVQQLDBVEYXRlbnNj
+aHV0emtvbW1pc3Npb24xHTAbBgNVBAMMFERyLiBXYWx0cmF1dCBLb3RzY2h5MRUw
+EwYDVQQFEww3MDAyNDc0OTk4MDQxHDAaBgkqhkiG9w0BCQEWDWRza0Bkc2suZ3Yu
+YXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDfnQUhARo9o1FyCtTK
+d5VcXP2WvqSTIsiq19xtWcYF/4pMew/bHLD2DLeO9y5QFpfXJgmx2ySvj1dlzTXV
+ESzFAiF/uL1DbNjB3g00LV/AV4yRacCWEqGkSUN/RVUv9a+bFnK2vR4XZu8ORrcf
+9rpMg19JHZMWsJIT+BEBM4v0iPhboJ/lqoENZwHZW8W/3XAcOcNYfW95ZrsFH+M9
+6KEFlA9g4AP5CndSnozUeN5i1LJr0s3rz8U/c7O/KTkdTmnAeyLM01ST13jhGmjW
+R55wf1Hjt4PCxFf9zpF3FIHDJGyCImgR5ZZe9T6tAjo/ZKo16Huzq0Yy2OYtysDq
+WukzAgMBAAGjggGpMIIBpTATBgNVHSMEDDAKgAhBkWkcv63YmDBVBggrBgEFBQcB
+AQRJMEcwRQYIKwYBBQUHMAKGOWh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9h
+LXNpZ24tY29ycG9yYXRlLWxpZ2h0LTAzLmNydDBYBgNVHSAEUTBPME0GByooABEB
+BwEwQjBABggrBgEFBQcCARY0aHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3MvY3Av
+YS1zaWduLWNvcnBvcmF0ZS1saWdodDCBngYDVR0fBIGWMIGTMIGQoIGNoIGKhoGH
+bGRhcDovL2xkYXAuYS10cnVzdC5hdC9vdT1hLXNpZ24tY29ycG9yYXRlLWxpZ2h0
+LTAzLG89QS1UcnVzdCxjPUFUP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q/YmFz
+ZT9vYmplY3RjbGFzcz1laWRDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MBEGA1UdDgQK
+BAhMCA6eGvS1ujAOBgNVHQ8BAf8EBAMCBLAwCQYDVR0TBAIwADAOBgcqKAAKAQcB
+BAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAEoIvqPLAg0n2wCS27zTL+hmLi7zSbes
+Od4e6pFT1l3cwGfdTkhiHVPnPRaDGLQkS384fAXBrOp6W13X9m2jD9csO6vZhd+T
+nERXN1AqayoaecXFyHPykVUTLhn6pMdiSE21mEozfGLUDGMz74lvphEKFAOOCgp1
+o5ZCR09RbGAEbQNNn+ucXJxIa3mYjr1h3AElVbXoeoz12qUpqsNm9znymSkcmcNo
+B5Pk6qXXx9UeC/Tj0aTglNkcMOSCFayldzOBaY6+qWKguPdzQUEryhGiNuARQpM5
+KMzvI0rmpc4Gau5HT9rQZHadr++VS8v1k6935uIyyZF9s+gdS5ywnSM=
+</dsig:X509Certificate>
+ </dsig:X509Data>
+ </dsig:KeyInfo>
+ <dsig:Object>
+ <dsig:Manifest Id="manifest">
+ <dsig:Reference URI="">
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
+ <dsig:XPath>not(ancestor-or-self::dsig:Signature)</dsig:XPath>
+ </dsig:Transform>
+ </dsig:Transforms>
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>JZGwiDzQAtJtnJMeeXyypTrDjwY=</dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:Manifest>
+ </dsig:Object>
+ </dsig:Signature>
+ </saml:Assertion>
+ </saml:SubjectConfirmationData>
+ </saml:SubjectConfirmation>
+ </saml:Subject>
+ <saml:Attribute AttributeName="PersonData" AttributeNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#">
+ <saml:AttributeValue>
+ <pr:Person si:type="pr:PhysicalPersonType" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:si="http://www.w3.org/2001/XMLSchema-instance">
+ <pr:Identification>
+ <pr:Value>K2YMyx3/5kIpNJR+SAD/rbRYH+c=</pr:Value>
+ <pr:Type>urn:publicid:gv.at:wbpk+FN+www.act.at</pr:Type>
+ </pr:Identification>
+ <pr:Name>
+ <pr:GivenName>Thomas</pr:GivenName>
+ <pr:FamilyName primary="undefined">Knall</pr:FamilyName>
+ </pr:Name>
+ <pr:DateOfBirth>1978-04-29</pr:DateOfBirth>
+ </pr:Person>
+ </saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="isQualifiedCertificate" AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <saml:AttributeValue>true</saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="bkuURL" AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <saml:AttributeValue>https://127.0.0.1:3496/https-security-layer-request</saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="SignerCertificate" AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <saml:AttributeValue>MIIEtDCCA5ygAwIBAgIDAgTEMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR4wHAYDVQQLDBVhLXNpZ24tUHJl
+bWl1bS1TaWctMDIxHjAcBgNVBAMMFWEtc2lnbi1QcmVtaXVtLVNpZy0wMjAeFw0w
+NjA0MDQwOTUyMjhaFw0xMTA0MDQwOTUyMjhaMGkxCzAJBgNVBAYTAkFUMRUwEwYD
+VQQDDAxUaG9tYXMgS25hbGwxDjAMBgNVBAQMBUtuYWxsMQ8wDQYDVQQqDAZUaG9t
+YXMxFTATBgNVBAUTDDUzNTE5ODkyMzM0OTELMAkGA1UEDAwCREkwSTATBgcqhkjO
+PQIBBggqhkjOPQMBAQMyAARrnYW5sXCQ6M3irWaanDPi/ROXueKWiPRyZGjNH0Cp
+/NaiOuvrpv2RDVEKQm2tBiajggIPMIICCzATBgNVHSMEDDAKgAhN3+H/S9nJ3zAn
+BggrBgEFBQcBAwEB/wQYMBYwCAYGBACORgEBMAoGCCsGAQUFBwsBMHsGCCsGAQUF
+BwEBBG8wbTBCBggrBgEFBQcwAoY2aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRz
+L2Etc2lnbi1QcmVtaXVtLVNpZy0wMmEuY3J0MCcGCCsGAQUFBzABhhtodHRwOi8v
+b2NzcC5hLXRydXN0LmF0L29jc3AwWQYDVR0gBFIwUDBEBgYqKAARAQswOjA4Bggr
+BgEFBQcCARYsaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3MvY3AvYS1zaWduLVBy
+ZW1pdW0wCAYGBACLMAEBMIGaBgNVHR8EgZIwgY8wgYyggYmggYaGgYNsZGFwOi8v
+bGRhcC5hLXRydXN0LmF0L291PWEtc2lnbi1QcmVtaXVtLVNpZy0wMixvPUEtVHJ1
+c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0P2Jhc2U/b2JqZWN0Y2xh
+c3M9ZWlkQ2VydGlmaWNhdGlvbkF1dGhvcml0eTARBgNVHQ4ECgQISNyH29WUoCgw
+DgYDVR0PAQH/BAQDAgbAMCgGA1UdCQQhMB8wHQYIKwYBBQUHCQExERgPMTk3ODA0
+MjkwMDAwMDBaMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQEFBQADggEBAFkSCJE0YD4p
+4izU3ekQYPv4Z7gm/VFlpma5hXNvwkajVjHlAqo/ylYn8NQ4mMkD+yCDNtm8m8nr
+0K/yICb8Gnkbv59i6nh2AbzYBBb49VnYYGL6uunLH0aFUpAhy+3mDdlH8uhhIQBH
+wCfgwG1qa5zXY7bz4Vzkac/h6T+JVFkIegO8OHQDadhgJvW80qspiao2DTac6vVg
+x4tGvjpdmw1R2pXBYhHD5rkPHlkfGoeL3ak6hq4ea94Oy5VfNTIJv5MA0J2G1mwn
+W9B8uPWSM5EYPoWJyBOWcKBLSSUqOt9D/9215ZGfbchkdRZjx0dTAD3FIhgG8nA7
+2/uCFrBzyTk=</saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="Mandate" AttributeNamespace="http://reference.e-government.gv.at/namespace/mandates/20040701#">
+ <saml:AttributeValue>
+ <md:Mandate MandateID="https://egov.act.at/mandates/20080714174835/886164" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:md="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#">
+ <md:Annotation>Prokura - MeineTestFirma</md:Annotation>
+ <md:StatusInformationService>http://localhost:58080/omsp/OMSPRequest</md:StatusInformationService>
+ <md:Representative>
+ <pr:PhysicalPerson>
+ <pr:Identification>
+ <pr:Value>K2YMyx3/5kIpNJR+SAD/rbRYH+c=</pr:Value>
+ <pr:Type>urn:publicid:gv.at:wbpk+FN+www.act.at</pr:Type>
+ </pr:Identification>
+ <pr:Name>
+ <pr:GivenName>Thomas</pr:GivenName>
+ <pr:FamilyName primary="undefined">Knall</pr:FamilyName>
+ </pr:Name>
+ <pr:DateOfBirth>1978-04-29</pr:DateOfBirth>
+ </pr:PhysicalPerson>
+ </md:Representative>
+ <md:Mandator>
+ <pr:CorporateBody>
+ <pr:Identification>
+ <pr:Value>123456i</pr:Value>
+ <pr:Type>urn:publicid:gv.at:baseid+XFN</pr:Type>
+ </pr:Identification>
+ <pr:FullName>MeineTestFirma</pr:FullName>
+ </pr:CorporateBody>
+ </md:Mandator>
+ <md:Issued>
+ <md:Place>Wien</md:Place>
+ <md:Date>2008-07-14</md:Date>
+ </md:Issued>
+ <md:Properties>
+ <md:SubstitutionAllowed>false</md:SubstitutionAllowed>
+ </md:Properties>
+ <md:SimpleMandateContent>
+ <md:TextualDescription>Der/Die Bevollmächtigte wird zum Prokuristen/Prokuristin bestellt.</md:TextualDescription>
+ </md:SimpleMandateContent>
+ <dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:SignedInfo>
+ <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
+ <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/>
+ <dsig:Reference Id="reference-1-1" URI="">
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
+ <dsig:XPath xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#">not(ancestor-or-self::pr:Identification or ancestor-or-self::dsig:Signature)</dsig:XPath>
+ </dsig:Transform>
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+ </dsig:Transforms>
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>PRRF0sWBgoywztCKWEXafZfhpd0=</dsig:DigestValue>
+ </dsig:Reference>
+ <dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#dsig-manifest-1-1">
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>NorNorUqPFMA06JfxSJopOq7Qv0=</dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:SignedInfo>
+ <dsig:SignatureValue>IQMZFc57XZd9LjeiaZqSfzZtWuXhuikAqbKA7pWuDK02DLFSYZPXsGjcvnwNdVaP</dsig:SignatureValue>
+ <dsig:KeyInfo>
+ <dsig:X509Data>
+ <dsig:X509Certificate>MIICtjCCAm6gAwIBAgIBATAJBgcqhkjOPQQBMGoxCzAJBgNVBAYTAkFUMQ0wCwYD
+VQQHEwRXaWVuMRkwFwYDVQQJExBFc3NsaW5nZ2Fzc2UgNS85MQwwCgYDVQQKEwNB
+Q1QxIzAhBgNVBAMTGlZvbGxtYWNodGVuIFNpZ25hdHVyZGllbnN0MB4XDTA4MDcw
+ODE1MTk1MFoXDTEyMTIzMTIxNTk1OVowajELMAkGA1UEBhMCQVQxDTALBgNVBAcT
+BFdpZW4xGTAXBgNVBAkTEEVzc2xpbmdnYXNzZSA1LzkxDDAKBgNVBAoTA0FDVDEj
+MCEGA1UEAxMaVm9sbG1hY2h0ZW4gU2lnbmF0dXJkaWVuc3QwgfMwgbwGByqGSM49
+AgEwgbACAQEwJAYHKoZIzj0BAQIZAP////////////////////7//////////zA0
+BBj////////////////////+//////////wEGGQhBRnlnIDnD6fpq3IkMEn+uN7s
+wUa5sQQxBBiNqA6wMJD2fL8g60OhiAD0/wr9gv8QEgcZK5X/yNp4YxAR7WskzdVz
++XehHnlIEQIZAP///////////////5ne+DYUa8mxtNIoMQIBAQMyAAS908G9FD5/
+LLYruwFbp9giXahdQ1FAqKwzohSn9pgsVTQBnvXxU8IWIzhPHs49DZCjazBpMAwG
+A1UdEwEB/wQCMAAwHQYDVR0OBBYEFLOSgnkLSJ3l4Ah49rHX/FAV1wWcMBkGA1Ud
+IAQSMBAwDgYMKwYBBAGVEgECBAEBMB8GA1UdIwQYMBaAFLOSgnkLSJ3l4Ah49rHX
+/FAV1wWcMAkGByqGSM49BAEDNwAwNAIYTTppZzS6wqoLDFcf9frHzf1kMheY04dT
+Ahg4Nrb54vE3DTRf9sbO4xs4dTARHSt1ihA=</dsig:X509Certificate>
+ </dsig:X509Data>
+ </dsig:KeyInfo>
+ <dsig:Object>
+ <dsig:Manifest Id="dsig-manifest-1-1">
+ <dsig:Reference Id="reference-1-2" URI="">
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
+ <dsig:XPath xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#">not(ancestor-or-self::dsig:Signature)</dsig:XPath>
+ </dsig:Transform>
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+ </dsig:Transforms>
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>oz6ThHPL3V7RNibfPrDSWVhUgi8=</dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:Manifest>
+ </dsig:Object>
+ </dsig:Signature>
+ </md:Mandate>
+ </saml:AttributeValue>
+ </saml:Attribute>
+ </saml:AttributeStatement>
+</saml:Assertion>
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/task/SignedAuthBlock.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/task/SignedAuthBlock.xml
new file mode 100644
index 000000000..450ba90f3
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/spring/test/task/SignedAuthBlock.xml
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dsig:Signature Id="signature-1216050695-35956125-21395" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:SignedInfo>
+ <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
+ <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/>
+ <dsig:Reference Id="signed-data-reference-0-1216050695-35956125-19584" URI="">
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
+ <xsl:stylesheet version="1.0" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:template match="/" xmlns="http://www.w3.org/1999/xhtml">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Signatur der Anmeldedaten</title>
+ <style media="screen" type="text/css">
+.boldstyle { font-weight: bold; }
+.italicstyle { font-style: italic; }
+.annotationstyle { font-size: small; }
+</style>
+ </head>
+ <body>
+ <h1>Signatur der Anmeldedaten</h1>
+ <p/>
+ <h4>Mit meiner elektronischen Signatur beantrage ich,
+<span class="boldstyle">
+ <xsl:value-of select="//@Issuer"/>
+ </span>, geboren am
+<xsl:value-of select="substring(//saml:Attribute[@AttributeName=&apos;Geburtsdatum&apos;]/saml:AttributeValue,9,2)"/>.
+<xsl:value-of select="substring(//saml:Attribute[@AttributeName=&apos;Geburtsdatum&apos;]/saml:AttributeValue,6,2)"/>.
+<xsl:value-of select="substring(//saml:Attribute[@AttributeName=&apos;Geburtsdatum&apos;]/saml:AttributeValue,1,4)"/>,
+<xsl:if test="//saml:Attribute[@AttributeName=&apos;OIDTextualDescription&apos;]">
+in der Rolle als <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;OIDTextualDescription&apos;]/saml:AttributeValue"/>
+(OID***= <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;OID&apos;]/saml:AttributeValue"/>),
+</xsl:if>
+den Zugang zur gesicherten Anwendung.
+</h4>
+ <p/>
+ <h4>Datum und Uhrzeit:
+<xsl:value-of select="substring(//@IssueInstant,9,2)"/>.
+<xsl:value-of select="substring(//@IssueInstant,6,2)"/>.
+<xsl:value-of select="substring(//@IssueInstant,1,4)"/>,
+<xsl:value-of select="substring(//@IssueInstant,12,2)"/>:
+<xsl:value-of select="substring(//@IssueInstant,15,2)"/>:
+<xsl:value-of select="substring(//@IssueInstant,18,2)"/>
+ </h4>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;HPI&apos;]">
+ <h4>HPI(**): <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;HPI&apos;]/saml:AttributeValue"/>
+ </h4>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;wbPK&apos;]">
+ <h4>wbPK(*): <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;wbPK&apos;]/saml:AttributeValue/pr:Identification/pr:Value"/>
+ </h4>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;MandatorName&apos;]">
+ <hr/>
+ <h4>Ich bin weiters ermächtigt als <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;RepresentationType&apos;]/saml:AttributeValue/text()"/>
+von <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;MandatorName&apos;]/saml:AttributeValue/text()"/>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;MandatorDateOfBirth&apos;]">, geboren am
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName=&apos;MandatorDateOfBirth&apos;]/saml:AttributeValue,9,2)"/>.
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName=&apos;MandatorDateOfBirth&apos;]/saml:AttributeValue,6,2)"/>.
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName=&apos;MandatorDateOfBirth&apos;]/saml:AttributeValue,1,4)"/>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;MandatorDomainIdentifier&apos;]">,
+ <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;MandatorDomainIdentifier&apos;]/saml:AttributeValue/text()"/>
+ </xsl:if>, in deren Auftrag zu handeln.
+</h4>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;MandatorWbpk&apos;]">
+ <h4>wbPK(*) des Vollmachtgebers: <xsl:value-of select="//saml:Attribute[@AttributeName=&apos;MandatorWbpk&apos;]/saml:AttributeValue/text()"/>
+ </h4>
+ </xsl:if>
+ <p/>
+ </xsl:if>
+ <xsl:choose>
+ <xsl:when test="//saml:Attribute[@AttributeName=&apos;OID&apos;]">
+ <p/>
+ <hr/>
+ </xsl:when>
+ <xsl:when test="//saml:Attribute[@AttributeName=&apos;HPI&apos;]">
+ <p/>
+ <hr/>
+ </xsl:when>
+ <xsl:when test="//saml:Attribute[@AttributeName=&apos;wbPK&apos;]">
+ <p/>
+ <hr/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;wbPK&apos;]">
+ <div class="annotationstyle">(*) wbPK: Das <span class="italicstyle">wirtschaftsbereichsspezifische Personenkennzeichen</span> wird aus den
+jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum
+Wirtschaftsunternehmen.</div>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;HPI&apos;]">
+ <div class="annotationstyle">(**) HPI: Der <span class="italicstyle">eHealth Professional Identifier</span> wird aus den jeweiligen
+Stammzahlen der Gesundheitsdiensteanbieterinnen / Gesundheitsdiensteanbieter berechnet und ermöglicht eine eindeutige Zuordnung der
+Gesundheitsdiensteanbieterin / des Gesundheitsdiensteanbieters im Gesundheitsbereich.</div>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName=&apos;OID&apos;]">
+ <div class="annotationstyle">(***) OID: <span class="italicstyle">Object Identifier</span> sind standardisierte Objekt-Bezeichner und
+beschreiben eindeutig die Rollen des GDA-Token Inhabers.</div>
+ </xsl:if>
+ </body>
+ </html>
+ </xsl:template>
+ </xsl:stylesheet>
+ </dsig:Transform>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
+ </dsig:Transforms>
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>0q9QWyqAyyiVNNLu1rIcU+nKsEE=</dsig:DigestValue>
+ </dsig:Reference>
+ <dsig:Reference Id="etsi-data-reference-0-1216050695-35956125-7815" Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id(&apos;etsi-data-object-0-1216050695-35956125-20638&apos;)/child::etsi:QualifyingProperties/child::etsi:SignedProperties)">
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>WtB0/ptvoB/r/7+fauSUIBULymg=</dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:SignedInfo>
+ <dsig:SignatureValue>mZt9DuZiDqG81scsf30qjSDdy6vKC2/n034ZZwMUAvfWOXy3+Ubsk5X5CHhz
++lyI</dsig:SignatureValue>
+ <dsig:KeyInfo>
+ <dsig:X509Data>
+ <dsig:X509Certificate>MIIEtDCCA5ygAwIBAgIDAgTEMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYDVQQG
+EwJBVDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lz
+dGVtZSBpbSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR4wHAYDVQQLDBVh
+LXNpZ24tUHJlbWl1bS1TaWctMDIxHjAcBgNVBAMMFWEtc2lnbi1QcmVtaXVt
+LVNpZy0wMjAeFw0wNjA0MDQwOTUyMjhaFw0xMTA0MDQwOTUyMjhaMGkxCzAJ
+BgNVBAYTAkFUMRUwEwYDVQQDDAxUaG9tYXMgS25hbGwxDjAMBgNVBAQMBUtu
+YWxsMQ8wDQYDVQQqDAZUaG9tYXMxFTATBgNVBAUTDDUzNTE5ODkyMzM0OTEL
+MAkGA1UEDAwCREkwSTATBgcqhkjOPQIBBggqhkjOPQMBAQMyAARrnYW5sXCQ
+6M3irWaanDPi/ROXueKWiPRyZGjNH0Cp/NaiOuvrpv2RDVEKQm2tBiajggIP
+MIICCzATBgNVHSMEDDAKgAhN3+H/S9nJ3zAnBggrBgEFBQcBAwEB/wQYMBYw
+CAYGBACORgEBMAoGCCsGAQUFBwsBMHsGCCsGAQUFBwEBBG8wbTBCBggrBgEF
+BQcwAoY2aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Etc2lnbi1QcmVt
+aXVtLVNpZy0wMmEuY3J0MCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5hLXRy
+dXN0LmF0L29jc3AwWQYDVR0gBFIwUDBEBgYqKAARAQswOjA4BggrBgEFBQcC
+ARYsaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3MvY3AvYS1zaWduLVByZW1p
+dW0wCAYGBACLMAEBMIGaBgNVHR8EgZIwgY8wgYyggYmggYaGgYNsZGFwOi8v
+bGRhcC5hLXRydXN0LmF0L291PWEtc2lnbi1QcmVtaXVtLVNpZy0wMixvPUEt
+VHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0P2Jhc2U/b2Jq
+ZWN0Y2xhc3M9ZWlkQ2VydGlmaWNhdGlvbkF1dGhvcml0eTARBgNVHQ4ECgQI
+SNyH29WUoCgwDgYDVR0PAQH/BAQDAgbAMCgGA1UdCQQhMB8wHQYIKwYBBQUH
+CQExERgPMTk3ODA0MjkwMDAwMDBaMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQEF
+BQADggEBAFkSCJE0YD4p4izU3ekQYPv4Z7gm/VFlpma5hXNvwkajVjHlAqo/
+ylYn8NQ4mMkD+yCDNtm8m8nr0K/yICb8Gnkbv59i6nh2AbzYBBb49VnYYGL6
+uunLH0aFUpAhy+3mDdlH8uhhIQBHwCfgwG1qa5zXY7bz4Vzkac/h6T+JVFkI
+egO8OHQDadhgJvW80qspiao2DTac6vVgx4tGvjpdmw1R2pXBYhHD5rkPHlkf
+GoeL3ak6hq4ea94Oy5VfNTIJv5MA0J2G1mwnW9B8uPWSM5EYPoWJyBOWcKBL
+SSUqOt9D/9215ZGfbchkdRZjx0dTAD3FIhgG8nA72/uCFrBzyTk=
+</dsig:X509Certificate>
+ </dsig:X509Data>
+ </dsig:KeyInfo>
+ <dsig:Object Id="etsi-data-object-0-1216050695-35956125-20638">
+ <etsi:QualifyingProperties Target="#signature-1216050695-35956125-21395" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#">
+ <etsi:SignedProperties>
+ <etsi:SignedSignatureProperties>
+ <etsi:SigningTime>2008-07-14T15:51:35Z</etsi:SigningTime>
+ <etsi:SigningCertificate>
+ <etsi:Cert>
+ <etsi:CertDigest>
+ <etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <etsi:DigestValue>inMYWBmAxMHP7mDENjLFaEtv0Zk=</etsi:DigestValue>
+ </etsi:CertDigest>
+ <etsi:IssuerSerial>
+ <dsig:X509IssuerName>CN=a-sign-Premium-Sig-02,OU=a-sign-Premium-Sig-02,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>132292</dsig:X509SerialNumber>
+ </etsi:IssuerSerial>
+ </etsi:Cert>
+ </etsi:SigningCertificate>
+ <etsi:SignaturePolicyIdentifier>
+ <etsi:SignaturePolicyImplied/>
+ </etsi:SignaturePolicyIdentifier>
+ </etsi:SignedSignatureProperties>
+ <etsi:SignedDataObjectProperties>
+ <etsi:DataObjectFormat ObjectReference="#signed-data-reference-0-1216050695-35956125-19584">
+ <etsi:MimeType>application/xhtml+xml</etsi:MimeType>
+ </etsi:DataObjectFormat>
+ </etsi:SignedDataObjectProperties>
+ </etsi:SignedProperties>
+ </etsi:QualifyingProperties>
+ </dsig:Object>
+</dsig:Signature> \ No newline at end of file
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_MultipleStartEvents.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_MultipleStartEvents.xml
new file mode 100644
index 000000000..17fa17cb4
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_MultipleStartEvents.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:ProcessDefinition
+ id="SampleProcess2"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/moa/process/definition/v1"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://reference.e-government.gv.at/namespace/moa/process/definition/v1 ../../main/resources/at/gv/egovernment/moa/id/process/ProcessDefinition.xsd ">
+
+ <tns:StartEvent id="start1" />
+
+ <tns:Task id="task1" class="at.gv.egovernment.moa.id.process.test.HelloWorldTask" />
+ <tns:Task id="task2" async="true" class="at.gv.egovernment.moa.id.process.test.HalloWeltTask" />
+ <tns:Task id="task3" />
+
+ <tns:StartEvent id="start2" />
+ <tns:EndEvent id="end" />
+
+ <tns:Transition id="fromStart" from="start1" to="task1" conditionExpression="true" />
+ <tns:Transition from="task1" to="task2" />
+ <tns:Transition from="task2" to="task3" />
+ <tns:Transition from="task3" to="end" />
+
+</tns:ProcessDefinition>
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_NoStartEvents.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_NoStartEvents.xml
new file mode 100644
index 000000000..008309e3a
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_NoStartEvents.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:ProcessDefinition
+ id="SampleProcess1"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/moa/process/definition/v1"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://reference.e-government.gv.at/namespace/moa/process/definition/v1 ../../main/resources/at/gv/egovernment/moa/id/process/ProcessDefinition.xsd ">
+
+ <tns:Task id="task1" class="at.gv.egovernment.moa.id.process.test.HelloWorldTask" />
+ <tns:Task id="task2" async="true" />
+
+ <tns:EndEvent id="end" />
+
+ <tns:Transition from="task1" to="task2" />
+ <tns:Transition from="task2" to="end" />
+
+</tns:ProcessDefinition>
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_TransitionLoop.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_TransitionLoop.xml
new file mode 100644
index 000000000..14b281192
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_TransitionLoop.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:ProcessDefinition
+ id="SampleProcess1"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/moa/process/definition/v1"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://reference.e-government.gv.at/namespace/moa/process/definition/v1 ../../main/resources/at/gv/egovernment/moa/id/process/ProcessDefinition.xsd ">
+
+ <tns:Task id="task1" class="at.gv.egovernment.moa.id.process.test.HelloWorldTask" />
+ <tns:Task id="task2" async="true" />
+
+ <tns:StartEvent id="start" />
+ <tns:EndEvent id="end" />
+
+ <tns:Transition id="fromStart" from="start" to="task1" conditionExpression="true" />
+ <tns:Transition from="task1" to="task2" />
+ <tns:Transition from="task2" to="end" />
+
+ <!-- Must be loop since we have no conditionExpression set. -->
+ <tns:Transition id="loop" from="task1" to="task1" />
+
+</tns:ProcessDefinition>
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_TransitionRefsTransition.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_TransitionRefsTransition.xml
new file mode 100644
index 000000000..1152f3503
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_TransitionRefsTransition.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:ProcessDefinition
+ id="SampleProcess1"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/moa/process/definition/v1"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://reference.e-government.gv.at/namespace/moa/process/definition/v1 ../../main/resources/at/gv/egovernment/moa/id/process/ProcessDefinition.xsd ">
+
+ <tns:Task id="task1" class="at.gv.egovernment.moa.id.process.test.HelloWorldTask" />
+ <tns:Task id="task2" async="true" />
+
+ <tns:StartEvent id="start" />
+ <tns:EndEvent id="end" />
+
+ <tns:Transition id="fromStart" from="start" to="task1" conditionExpression="true" />
+ <tns:Transition from="task1" to="task2" />
+ <tns:Transition id="invalidTransition" from="task1" to="fromStart" />
+ <tns:Transition from="task2" to="end" />
+
+</tns:ProcessDefinition>
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_TransitionStartsFromEndEvent.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_TransitionStartsFromEndEvent.xml
new file mode 100644
index 000000000..94bd25c9a
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/InvalidProcessDefinition_TransitionStartsFromEndEvent.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:ProcessDefinition
+ id="SampleProcess1"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/moa/process/definition/v1"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://reference.e-government.gv.at/namespace/moa/process/definition/v1 ../../main/resources/at/gv/egovernment/moa/id/process/ProcessDefinition.xsd ">
+
+ <tns:Task id="task1" class="at.gv.egovernment.moa.id.process.test.HelloWorldTask" />
+ <tns:Task id="task2" async="true" />
+
+ <tns:StartEvent id="start" />
+ <tns:EndEvent id="end" />
+
+ <tns:Transition id="fromStart" from="start" to="task1" conditionExpression="true" />
+ <tns:Transition from="task1" to="task2" />
+ <tns:Transition from="task2" to="end" />
+ <tns:Transition from="end" to="task1" />
+
+</tns:ProcessDefinition>
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/SampleProcessDefinition1.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/SampleProcessDefinition1.xml
new file mode 100644
index 000000000..c161900c5
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/SampleProcessDefinition1.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:ProcessDefinition
+ id="SampleProcess1"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/moa/process/definition/v1"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://reference.e-government.gv.at/namespace/moa/process/definition/v1 ../../main/resources/at/gv/egovernment/moa/id/process/ProcessDefinition.xsd ">
+
+ <tns:Task id="task1" class="at.gv.egovernment.moa.id.process.test.HelloWorldTask" />
+ <tns:Task id="task2" async="true" />
+
+ <tns:StartEvent id="start" />
+ <tns:EndEvent id="end" />
+
+ <tns:Transition id="fromStart" from="start" to="task1" conditionExpression="true" />
+ <tns:Transition from="task1" to="task2" />
+ <tns:Transition from="task2" to="end" />
+
+</tns:ProcessDefinition>
diff --git a/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/SampleProcessDefinition2.xml b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/SampleProcessDefinition2.xml
new file mode 100644
index 000000000..9e419e124
--- /dev/null
+++ b/id/server/idserverlib/src/test/resources/at/gv/egovernment/moa/id/process/test/SampleProcessDefinition2.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:ProcessDefinition
+ id="SampleProcess2"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/moa/process/definition/v1"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://reference.e-government.gv.at/namespace/moa/process/definition/v1 ../../main/resources/at/gv/egovernment/moa/id/process/ProcessDefinition.xsd ">
+
+ <tns:StartEvent id="start" />
+
+ <tns:Task id="task1" class="at.gv.egovernment.moa.id.process.test.HelloWorldTask" />
+ <tns:Task id="task2" async="true" class="at.gv.egovernment.moa.id.process.test.HelloWorldTask" />
+ <tns:Task id="task3" />
+
+ <tns:EndEvent id="end" />
+
+ <tns:Transition id="fromStart" from="start" to="task1" conditionExpression="true" />
+ <tns:Transition from="task1" to="task2" />
+ <tns:Transition from="task2" to="task3" />
+ <tns:Transition from="task3" to="end" />
+
+</tns:ProcessDefinition>
diff --git a/id/server/legacy-backup/mw-messages-api/.classpath b/id/server/legacy-backup/mw-messages-api/.classpath
deleted file mode 100644
index c15838fd0..000000000
--- a/id/server/legacy-backup/mw-messages-api/.classpath
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" output="target/classes" path="src/main/java">
- <attributes>
- <attribute name="optional" value="true"/>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="src" output="target/test-classes" path="src/test/java">
- <attributes>
- <attribute name="optional" value="true"/>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- <attribute name="org.eclipse.jst.component.nondependency" value=""/>
- </attributes>
- </classpathentry>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
diff --git a/id/server/legacy-backup/mw-messages-api/.project b/id/server/legacy-backup/mw-messages-api/.project
deleted file mode 100644
index cc4d05bc1..000000000
--- a/id/server/legacy-backup/mw-messages-api/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>mw-messages-api</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.wst.common.project.facet.core.builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.wst.validation.validationbuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.m2e.core.maven2Builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
- <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.m2e.core.maven2Nature</nature>
- <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
- </natures>
-</projectDescription>
diff --git a/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.core.resources.prefs b/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 839d647ee..000000000
--- a/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/main/java=UTF-8
-encoding//src/main/resources=UTF-8
-encoding//src/test/java=UTF-8
-encoding/<project>=UTF-8
diff --git a/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.jdt.core.prefs b/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 76393eede..000000000
--- a/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.5 \ No newline at end of file
diff --git a/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.m2e.core.prefs b/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f1c..000000000
--- a/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.wst.common.component b/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.wst.common.component
deleted file mode 100644
index ec983b870..000000000
--- a/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.wst.common.component
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
- <wb-module deploy-name="mw-messages-api">
- <wb-resource deploy-path="/" source-path="/src/main/java"/>
- <wb-resource deploy-path="/" source-path="/src/main/resources"/>
- </wb-module>
-</project-modules>
diff --git a/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.wst.common.project.facet.core.xml b/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.wst.common.project.facet.core.xml
deleted file mode 100644
index a1f6907b8..000000000
--- a/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<faceted-project>
- <installed facet="java" version="1.5"/>
- <installed facet="jst.utility" version="1.0"/>
-</faceted-project>
diff --git a/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.wst.validation.prefs b/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.wst.validation.prefs
deleted file mode 100644
index 04cad8cb7..000000000
--- a/id/server/legacy-backup/mw-messages-api/.settings/org.eclipse.wst.validation.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-disabled=06target
-eclipse.preferences.version=1
diff --git a/id/server/legacy-backup/stork2-commons/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/.svn/all-wcprops
deleted file mode 100644
index 256ae0266..000000000
--- a/id/server/legacy-backup/stork2-commons/.svn/all-wcprops
+++ /dev/null
@@ -1,17 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 45
-/CITnet/svn/STORK2/!svn/ver/493/trunk/Commons
-END
-Releases
-K 25
-svn:wc:ra_dav:version-url
-V 54
-/CITnet/svn/STORK2/!svn/ver/493/trunk/Commons/Releases
-END
-pom.xml
-K 25
-svn:wc:ra_dav:version-url
-V 53
-/CITnet/svn/STORK2/!svn/ver/493/trunk/Commons/pom.xml
-END
diff --git a/id/server/legacy-backup/stork2-commons/.svn/dir-prop-base b/id/server/legacy-backup/stork2-commons/.svn/dir-prop-base
deleted file mode 100644
index 9dc541cfd..000000000
--- a/id/server/legacy-backup/stork2-commons/.svn/dir-prop-base
+++ /dev/null
@@ -1,10 +0,0 @@
-K 10
-svn:ignore
-V 44
-.classpath
-.project
-.settings
-report
-target
-
-END
diff --git a/id/server/legacy-backup/stork2-commons/.svn/entries b/id/server/legacy-backup/stork2-commons/.svn/entries
deleted file mode 100644
index 148e40ca3..000000000
--- a/id/server/legacy-backup/stork2-commons/.svn/entries
+++ /dev/null
@@ -1,99 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T19:49:15.801345Z
-493
-emferreri
-has-props
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-Releases
-file
-
-
-
-
-2014-01-21T08:38:55.424702Z
-5baf63f5379c354181f211dc4da29a64
-2014-01-15T19:49:15.801345Z
-493
-emferreri
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2402
-
-src
-dir
-
-pom.xml
-file
-
-
-
-
-2014-01-21T08:38:55.428702Z
-dc8551a0a1e6a9a3a63052bd0dd3de55
-2014-01-15T19:49:15.801345Z
-493
-emferreri
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-5777
-
diff --git a/id/server/legacy-backup/stork2-commons/.svn/text-base/Releases.svn-base b/id/server/legacy-backup/stork2-commons/.svn/text-base/Releases.svn-base
deleted file mode 100644
index 54aeb9313..000000000
--- a/id/server/legacy-backup/stork2-commons/.svn/text-base/Releases.svn-base
+++ /dev/null
@@ -1,62 +0,0 @@
-Created 06-04-2011
-
-Branch : STORKCommons_0_5_UPDATE_06042011
-Date : 06-04-2011
-Changes: No changes.
-
-Branch : STORKCommons_0_5_UPDATE_07072011
-Date : 07-07-2011
-Changes: Inserted constants to HttpOnly HTTP Header.
-
-Branch : STORKCommons_0_6
-Date : 07-11-2011
-Changes: Improved error exception handling (few changes on the exception classes).
- Improved Constansts (unused removed, others added).
- Unit Tests include (almost all the code is cover).
- Fix some minor bugs found on unit tests.
- New Copyright License added.
- PEPUtils refactored.
- Improved error code message (three kind of messages: to citizen, admin and saml token).
-
-Branch : STORKCommons_0_6_1
-Date : 28-11-2011
-Changes: Removed unnecessary javadoc package file.
- Updated pepsUtils.properties file (check attribute value had old error message)
-
-Branch : STORKCommons_0_9
-Date : 02-12-2011
-Changes: Updated Version to 0.9
-
-Branch : STORKCommons_1_0
-Date : 02-12-2011
-Changes: Updated Version to 1.0
-
-Branch : STORKCommons_1_1_0
-Date : 01-11-2013
-Changes: Updated Version to 1.1.0
- Dependencies updated
- Business Logic Part I changes
- SAML Engine Changes merged (from SamlEngine/1.1.0/Commons branch to be easier to merge this branch with trunk)
- Fixed some errors on Test Case
-
-Branch : STORKCommons_1_1_1
-Date : 02-12-2013
-Changes: Updated Version to 1.1.1
- Added mandate error code
- PMD quality code changes (some final identifier missing)
- Added new methods to personal attribute list to get Mandatory/Optional and/or Simple/Complex attributes
- Added new unit tests
-
-Branch : Commons (Trunk)
-Date : 15-01-2014
-Version: 1.2.0
-Release: 2
-Changes: Updated Version to 1.2.0
- dded request flow of PV (incomplete)
- Added AP mandatory attribute to get data for business attributes
- *) based on configuration file it adds the missing attributes (eIdentifier, givenName, surname and dateOfBirth) or change isRequired to true.
- changes original isRequired state in response
- Added new Interface (IAttributeListProcessor) to make some operations on attribute lists
- Power Validation is complete now
- Business Logic I and II integration (Request Complete!)
- Added new method to Personal attribute List to check if there is at least one attribute with no value.
diff --git a/id/server/legacy-backup/stork2-commons/.svn/text-base/pom.xml.svn-base b/id/server/legacy-backup/stork2-commons/.svn/text-base/pom.xml.svn-base
deleted file mode 100644
index a71ee1628..000000000
--- a/id/server/legacy-backup/stork2-commons/.svn/text-base/pom.xml.svn-base
+++ /dev/null
@@ -1,213 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>eu.stork</groupId>
- <artifactId>Commons</artifactId>
- <packaging>jar</packaging>
- <name>Stork Commons</name>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <stork.version>1.2.0</stork.version>
- <opensaml.version>2.6.0</opensaml.version>
- </properties>
- <version>${stork.version}</version>
- <description>
- The STORKCommons library provides beans, Java Interfaces and utility classes to integrate PEPS and SAML Engine.
- </description>
-
- <dependencies>
-
- <!-- Joda -->
- <dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- <version>2.3</version>
- </dependency>
-
- <!-- Log4J -->
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.17</version>
- <exclusions>
- <exclusion>
- <groupId>javax.jms</groupId>
- <artifactId>jms</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.sun.jdmk</groupId>
- <artifactId>jmxtools</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.sun.jmx</groupId>
- <artifactId>jmxri</artifactId>
- </exclusion>
- <exclusion>
- <artifactId>mail</artifactId>
- <groupId>javax.mail</groupId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.opensaml</groupId>
- <artifactId>opensaml</artifactId>
- <version>${opensaml.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>log4j-over-slf4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>jul-to-slf4j</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <!-- Bouncy Castle -->
- <dependency>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcprov-jdk16</artifactId>
- <version>1.46</version>
- </dependency>
-
- <!-- Servlet API -->
- <!-- provided by Application Server -->
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.6</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.11</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <finalName>commons</finalName>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <runOrder>reversealphabetical</runOrder>
- <skip>false</skip>
- <includes>
- <runOrder>reversealphabetical</runOrder>
- <include>**/PEPSUtilTest.java</include>
- <include>**/PersonalAttributeTestCase.java</include>
- <include>**/PersonalAttributeListTestCase.java</include>
- <include>**/DateUtilTestCase.java</include>
- <include>**/AttributeUtilTest.java</include>
- </includes>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</version>
- <configuration>
- <links>
- <link>http://commons.apache.org/lang/api/</link>
- <link>http://java.sun.com/j2se/1.6.0/docs/api/</link>
- <link>http://www.bouncycastle.org/docs/docs1.6/</link>
- <link>http://docs.oracle.com/javase/6/docs/api/</link>
- </links>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.2.1</version>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>verify</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- <testResources>
- <testResource>
- <directory>src/test/resources</directory>
- <includes>
- <include>log4j.xml</include>
- </includes>
- </testResource>
- </testResources>
- </build>
- <profiles>
- <profile>
- <id>embedded</id>
- <build>
- <resources>
- <resource>
- <directory> ${project.basedir}/src/main/resources</directory>
- </resource>
- <resource>
- <directory> ${project.basedir}/src/main/config/embedded</directory>
- </resource>
- </resources>
- </build>
- </profile>
- <profile>
- <id>metrics</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>cobertura-maven-plugin</artifactId>
- <version>2.5.1</version>
- <configuration>
- <formats>
- <format>html</format>
- <format>xml</format>
- </formats>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
diff --git a/id/server/legacy-backup/stork2-commons/src/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/.svn/all-wcprops
deleted file mode 100644
index 1be1e9546..000000000
--- a/id/server/legacy-backup/stork2-commons/src/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 49
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/.svn/entries b/id/server/legacy-backup/stork2-commons/src/.svn/entries
deleted file mode 100644
index b55ef35ad..000000000
--- a/id/server/legacy-backup/stork2-commons/src/.svn/entries
+++ /dev/null
@@ -1,34 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-main
-dir
-
-test
-dir
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/main/.svn/all-wcprops
deleted file mode 100644
index 2d001ac89..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 54
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/main/.svn/entries b/id/server/legacy-backup/stork2-commons/src/main/.svn/entries
deleted file mode 100644
index ca600a0d3..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/.svn/entries
+++ /dev/null
@@ -1,37 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-java
-dir
-
-config
-dir
-
-resources
-dir
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/config/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/main/config/.svn/all-wcprops
deleted file mode 100644
index 73665ee91..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/config/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 61
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/config
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/main/config/.svn/entries b/id/server/legacy-backup/stork2-commons/src/main/config/.svn/entries
deleted file mode 100644
index 74e41e9ee..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/config/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/config
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-embedded
-dir
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/config/embedded/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/main/config/embedded/.svn/all-wcprops
deleted file mode 100644
index e1cf2515e..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/config/embedded/.svn/all-wcprops
+++ /dev/null
@@ -1,11 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 70
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/config/embedded
-END
-pepsUtil.properties
-K 25
-svn:wc:ra_dav:version-url
-V 90
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/config/embedded/pepsUtil.properties
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/main/config/embedded/.svn/entries b/id/server/legacy-backup/stork2-commons/src/main/config/embedded/.svn/entries
deleted file mode 100644
index b574aab75..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/config/embedded/.svn/entries
+++ /dev/null
@@ -1,62 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/config/embedded
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-pepsUtil.properties
-file
-
-
-
-
-2014-01-21T08:38:55.392702Z
-b61bbaa8e966441dba56ad954124ee38
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-7822
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/config/embedded/.svn/text-base/pepsUtil.properties.svn-base b/id/server/legacy-backup/stork2-commons/src/main/config/embedded/.svn/text-base/pepsUtil.properties.svn-base
deleted file mode 100644
index 1e92f390d..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/config/embedded/.svn/text-base/pepsUtil.properties.svn-base
+++ /dev/null
@@ -1,267 +0,0 @@
-#Max allowed params size
-validation.active=true
-max.spUrl.size=150
-max.attrList.size=20000
-max.invalidAttributeList.size=20000
-max.attrName.size=100
-max.callback.size=300
-max.idp.url.size=300
-max.atp.url.size=300
-max.cpepsURL.size=300
-max.attrValue.size=20000
-max.attrType.size=25
-max.spId.size=40
-max.providerName.size=128
-max.spName.size=25
-max.country.size=150
-max.qaaLevel.size=1
-max.spQaaLevel.size=1
-max.errorCode.size=5
-max.errorMessage.size=300
-max.username.size=30
-max.spepsRedirectUrl.size=300
-max.speps.redirectUrl.size=300
-max.cpeps.redirectUrl.size=300
-max.cpepsRedirectUrl.size=300
-max.spepsAssertionUrl.size=300
-max.SAMLRequest.size=131072
-max.SAMLResponse.size=131072
-max.RelayState.size=80
-max.remoteAddr.size=300
-max.remoteHost.size=300
-max.localAddr.size=300
-max.localName.size=300
-max.apepsUrl.size=300
-max.apeps.callbackUrl.size=300
-
-#ERROR codes/messages (accordingly to specification)
-
-#CountrySelector Interface errors
-spCountrySelector.invalidSPQAA.code=0000001
-spCountrySelector.invalidSPQAA.message=invalid.spQAA.parameter
-
-spCountrySelector.invalidQaaSPid.code=0000001
-spCountrySelector.invalidQaaSPid.message=invalid.spQAAId.parameter
-
-spCountrySelector.invalidSpId.code=000002
-spCountrySelector.invalidSpId.message=invalid.spId.parameter
-
-spCountrySelector.invalidSpURL.code=000003
-spCountrySelector.invalidSpURL.message=invalid.spUrl.parameter
-
-domain.CountrySelectorAction.code=000003
-domain.CountrySelectorAction.message=invalid.cs.domain
-
-requests.CountrySelectorAction.code=000004
-requests.CountrySelectorAction.message=reached.max.requests.cs
-
-spCountrySelector.spNotAllowed.code=000006
-spCountrySelector.spNotAllowed.message=attr.access.deny
-
-spCountrySelector.invalidAttr.code=000007
-spCountrySelector.invalidAttr.message=invalid.spAttr.parameter
-
-spCountrySelector.invalidProviderName.code=000008
-spCountrySelector.invalidProviderName.message=invalid.spProvidername.parameter
-
-spCountrySelector.errorCreatingSAML.code=203001
-spCountrySelector.errorCreatingSAML.message=error.create.sp.saml
-
-spepsSAMLRequest.code=203001
-spepsSAMLRequest.message=error.create.saml.speps
-
-#ServiceProvider Interface errors
-sProviderAction.invalidSPQAA.code=200001
-sProviderAction.invalidSPQAA.message=invalid.sp.qaa
-
-sProviderAction.invalidSPQAAId.code=200001
-sProviderAction.invalidSPQAAId.message=invalid.sp.qaaid
-
-sProviderAction.invalidSPId.code=200002
-sProviderAction.invalidSPId.message=invalid.sp.id
-
-domain.ServiceProviderAction.code=200003
-domain.ServiceProviderAction.message=invalid.sp.domain
-
-sProviderAction.invalidSPDomain.code=200003
-sProviderAction.invalidSPDomain.message=invalid.sp.domain
-
-sProviderAction.invalidCountry.code=200004
-sProviderAction.invalidCountry.message=invalid.sp.country
-
-sProviderAction.spNotAllowed.code=200005
-sProviderAction.spNotAllowed.message=sp.not.allowed
-
-sProviderAction.invalidSaml.code=200006
-sProviderAction.invalidSaml.message=invalid.sp.samlrequest
-
-sProviderAction.invalidSPProviderName.code=200007
-sProviderAction.invalidSPProviderName.message=sp.not.identified
-
-sProviderAction.invalidSPRedirect.code=200008
-sProviderAction.invalidSPRedirect.message=invalid.sp.redirectUrl
-
-sProviderAction.invalidRelayState.code=200009
-sProviderAction.invalidRelayState.message=invalid.sp.relaystate
-
-sProviderAction.invalidAttr.code=200011
-sProviderAction.invalidAttr.message=invalid.sp.attr
-
-requests.ServiceProviderAction.code=200012
-requests.ServiceProviderAction.message=reached.max.requests.sp
-
-sPPowerValidationAction.invalidSPPVAttrList.code=200013
-sPPowerValidationAction.invalidSPPVAttrList.message=invalid.sp.pv.attrlist
-
-invalid.sp.pv.attrlist.code=200013
-invalid.sp.pv.attrlist.message=invalid.sp.pv.attrlist
-
-sProviderAction.invalidSPAlias.code=203003
-sProviderAction.invalidSPAlias.message=invalid.sp.alias
-
-sProviderAction.errorCreatingSAML.code=203001
-sProviderAction.errorCreatingSAML.message=error.create.saml.speps
-
-#Internal Error
-internalError.code=203001
-internalError.message=internalError
-
-attrList.code=202005
-attrList.message=invalid.attrList.parameter
-
-missing.sessionId.code=203010
-missing.sessionId.message=missing.session.id
-
-sessionError.code=203011
-sessionError.message=invalid.session.id
-
-invalid.sessionId.code=203011
-invalid.sessionId.message=invalid.session.id
-
-missing.mandate.code=203013
-missing.mandate.message=missing.mandate
-
-invalid.session.code=203012
-invalid.session.message=invalid.session
-
-callback.code=203006
-callback.message=invalid.callback.url
-
-idp.url.code=203006
-idp.url.message=invalid.idp.url
-
-IdPSAMLResponse.code=002001
-IdPSAMLResponse.message=invalid.idp.response
-
-authenticationFailed.code=003002
-authenticationFailed.message=authentication.failed
-
-username.code=003002
-username.message=authentication.failed
-
-invalidAttributeList.code=203001
-invalidAttributeList.message=invalid.attrlist
-
-invalidAttributeValue.code=203001
-invalidAttributeValue.message=invalid.attr.value
-
-attVerification.mandatory.code=202010
-attVerification.mandatory.message=missing.mandatory.attr
-
-attrValue.verification.code=203008
-attrValue.verification.message=invalid.stork.attrValue
-
-cpepsSAMLResponse.code=202012
-cpepsSAMLResponse.message=error.gen.cpeps.saml
-
-AtPSAMLResponse.code=202009
-AtPSAMLResponse.message=error.gen.atp.saml
-
-atp.url.code=203006
-atp.url.message=invalid.atp.url
-
-hash.error.code=203001
-hash.error.message=error.hash
-
-qaaLevel.code=203006
-qaaLevel.message=invalid.cpeps.qaalevel
-
-SAMLRequest.code=203001
-SAMLRequest.message=invalid.SAMLRequest
-
-atp.response.error.code=202011
-atp.response.error.message=atp.response.error
-
-#Colleague Request Interface errors
-
-colleagueRequest.invalidSAML.code=201002
-colleagueRequest.invalidSAML.message=invalid.speps.samlrequest
-
-colleagueRequest.invalidCountryCode.code=002001
-colleagueRequest.invalidCountryCode.message=country.cpeps.nomatch
-
-colleagueRequest.errorCreatingSAML.code=203001
-colleagueRequest.errorCreatingSAML.message=error.create.saml.cpeps
-
-colleagueRequest.invalidQaa.code=202004
-colleagueRequest.invalidQaa.message=invalid.requested.cpeps.qaalevel
-
-colleagueRequest.attrNull.code=202005
-colleagueRequest.attrNull.message=invalid.requested.attrlist.cpeps
-
-colleaguePVRequest.invalidPVAttrList.code=202013
-colleaguePVRequest.invalidPVAttrList.message=invalid.speps.pv.attrlist
-
-colleagueRequest.invalidRedirect.code=202001
-colleagueRequest.invalidRedirect.message=invalid.redirecturl.cpeps
-
-colleagueRequest.invalidDestUrl.code=203006
-colleagueRequest.invalidDestUrl.message=invalid.cpeps.destUrl
-
-cpepsRedirectUrl.code=203006
-cpepsRedirectUrl.message=invalid.cpeps.redirectUrl
-
-#Citizen Consent Interfaces errors
-
-citizenResponse.mandatory.code=202007
-citizenResponse.mandatory.message=no.consent.mand.attr
-
-cPeps.attrNull.code=202005
-cPeps.attrNull.message=invalid.attrList.cpeps
-
-citizenNoConsent.mandatory.code=202012
-citizenNoConsent.mandatory.message=no.consent.val.mand.attr
-
-#Colleague Response Interface errors
-
-colleagueResponse.invalidSAML.code=202002
-colleagueResponse.invalidSAML.message=invalid.cpeps.samlresp
-
-auRequestIdError.code=201005
-auRequestIdError.message=invalid.speps.saml.id
-
-audienceRestrictionError.code=201004
-audienceRestrictionError.message=speps.saml.condition.notmet
-
-spepsSAMLResponse.code=200010
-spepsSAMLResponse.message=error.gen.speps.saml
-
-
-invalid.apepsRedirectUrl.code=001001
-invalid.apepsRedirectUrl.message=invalid.apeps.redirectUrl
-
-apepsSAMLRequest.code=001002
-apepsSAMLRequest.message=invalid.apeps.saml.request
-
-apepsSAMLResponse.code=001003
-apepsSAMLResponse.message=invalid.apeps.saml.response
-
-invalid.apepsCallbackUrl.code=001004
-invalid.apepsCallbackUrl.message=invalid.apeps.callback.url
-
-colleagueAttributeRequest.invalidSAML.code=001005
-colleagueAttributeRequest.invalidSAML.message=invalid.attr.request.saml
-
-
-#Hash Digests
-hashDigest.className=org.bouncycastle.crypto.digests.SHA512Digest
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/main/java/.svn/all-wcprops
deleted file mode 100644
index a1df0322e..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 59
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/.svn/entries b/id/server/legacy-backup/stork2-commons/src/main/java/.svn/entries
deleted file mode 100644
index 9ee5924fb..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-eu
-dir
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/main/java/eu/.svn/all-wcprops
deleted file mode 100644
index 8ee25102a..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 62
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/.svn/entries b/id/server/legacy-backup/stork2-commons/src/main/java/eu/.svn/entries
deleted file mode 100644
index df52d249b..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-stork
-dir
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/.svn/all-wcprops
deleted file mode 100644
index 5a83dbd10..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 68
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/.svn/entries b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/.svn/entries
deleted file mode 100644
index 7af1f8357..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-peps
-dir
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/.svn/all-wcprops
deleted file mode 100644
index fd64eea7b..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 73
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/.svn/entries b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/.svn/entries
deleted file mode 100644
index 39e7255f2..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork/peps
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-auth
-dir
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/all-wcprops
deleted file mode 100644
index 3bab81b06..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 78
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/entries b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/entries
deleted file mode 100644
index 30659cbb6..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/entries
+++ /dev/null
@@ -1,34 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork/peps/auth
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-specific
-dir
-
-commons
-dir
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/all-wcprops
deleted file mode 100644
index 3c42375b6..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/all-wcprops
+++ /dev/null
@@ -1,191 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 86
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons
-END
-AttributeSource.java
-K 25
-svn:wc:ra_dav:version-url
-V 107
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/AttributeSource.java
-END
-package-info.java
-K 25
-svn:wc:ra_dav:version-url
-V 103
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/package-info.java
-END
-PEPSValues.java
-K 25
-svn:wc:ra_dav:version-url
-V 102
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/PEPSValues.java
-END
-STORKAttrQueryRequest.java
-K 25
-svn:wc:ra_dav:version-url
-V 113
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryRequest.java
-END
-CitizenConsent.java
-K 25
-svn:wc:ra_dav:version-url
-V 106
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/CitizenConsent.java
-END
-AttributeProvidersMap.java
-K 25
-svn:wc:ra_dav:version-url
-V 113
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvidersMap.java
-END
-STORKAttrQueryResponse.java
-K 25
-svn:wc:ra_dav:version-url
-V 114
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryResponse.java
-END
-PersonalAttributeList.java
-K 25
-svn:wc:ra_dav:version-url
-V 113
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttributeList.java
-END
-AttributeName.java
-K 25
-svn:wc:ra_dav:version-url
-V 105
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/AttributeName.java
-END
-PEPSUtil.java
-K 25
-svn:wc:ra_dav:version-url
-V 100
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/PEPSUtil.java
-END
-PersonalAttribute.java
-K 25
-svn:wc:ra_dav:version-url
-V 109
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttribute.java
-END
-IAttributeListProcessor.java
-K 25
-svn:wc:ra_dav:version-url
-V 115
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/IAttributeListProcessor.java
-END
-STORKLogoutResponse.java
-K 25
-svn:wc:ra_dav:version-url
-V 111
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutResponse.java
-END
-IStorkLogger.java
-K 25
-svn:wc:ra_dav:version-url
-V 103
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/IStorkLogger.java
-END
-DateUtil.java
-K 25
-svn:wc:ra_dav:version-url
-V 99
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/DateUtil.java
-END
-STORKAuthnRequest.java
-K 25
-svn:wc:ra_dav:version-url
-V 108
-/CITnet/svn/STORK2/!svn/ver/56/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnRequest.java
-END
-AttributeProvider.java
-K 25
-svn:wc:ra_dav:version-url
-V 109
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvider.java
-END
-IStorkSession.java
-K 25
-svn:wc:ra_dav:version-url
-V 104
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/IStorkSession.java
-END
-Linker.java
-K 25
-svn:wc:ra_dav:version-url
-V 98
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/Linker.java
-END
-PEPSParameters.java
-K 25
-svn:wc:ra_dav:version-url
-V 106
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/PEPSParameters.java
-END
-AttributeConstants.java
-K 25
-svn:wc:ra_dav:version-url
-V 109
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/AttributeConstants.java
-END
-AttributeUtil.java
-K 25
-svn:wc:ra_dav:version-url
-V 105
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/AttributeUtil.java
-END
-STORKStatusCode.java
-K 25
-svn:wc:ra_dav:version-url
-V 106
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKStatusCode.java
-END
-Country.java
-K 25
-svn:wc:ra_dav:version-url
-V 98
-/CITnet/svn/STORK2/!svn/ver/96/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/Country.java
-END
-PEPSErrors.java
-K 25
-svn:wc:ra_dav:version-url
-V 102
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/PEPSErrors.java
-END
-STORKLogoutRequest.java
-K 25
-svn:wc:ra_dav:version-url
-V 110
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutRequest.java
-END
-IAttributeProvidersMap.java
-K 25
-svn:wc:ra_dav:version-url
-V 113
-/CITnet/svn/STORK2/!svn/ver/31/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/IAttributeProvidersMap.java
-END
-STORKSubStatusCode.java
-K 25
-svn:wc:ra_dav:version-url
-V 109
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKSubStatusCode.java
-END
-IPersonalAttributeList.java
-K 25
-svn:wc:ra_dav:version-url
-V 114
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/IPersonalAttributeList.java
-END
-STORKAuthnResponse.java
-K 25
-svn:wc:ra_dav:version-url
-V 110
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnResponse.java
-END
-CountryCodes.java
-K 25
-svn:wc:ra_dav:version-url
-V 103
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/CountryCodes.java
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/entries b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/entries
deleted file mode 100644
index b18b22565..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/entries
+++ /dev/null
@@ -1,1085 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork/peps/auth/commons
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-PersonalAttributeList.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-0036d26679cc31fe7d1bdea1b8b3555a
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-12041
-
-AttributeName.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-164e63d1f4e5aeb47d371caff534eaab
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1504
-
-PEPSErrors.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-bfe69afce772675187fdd637453ed12f
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-12165
-
-STORKLogoutRequest.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-af445a2013f21ffecd3db7773ae3236e
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-4343
-
-PersonalAttribute.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-ce98ef39a754869644b5516cdcfcb40d
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-8914
-
-IAttributeListProcessor.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-07efc5b742cc9e4b80a2f8b17fe4b946
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-4713
-
-IAttributeProvidersMap.java
-file
-
-
-
-
-2013-12-20T12:27:56.634475Z
-225257e8d6d7b9e6bcc4bea2463c33be
-2013-10-10T17:38:31.956327Z
-31
-emlelisst
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2534
-
-STORKLogoutResponse.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-880a05076cf8412311766aa40cf6a63f
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-5474
-
-STORKSubStatusCode.java
-file
-
-
-
-
-2013-12-20T12:27:56.634475Z
-65e615e0119d4125d5f4f58af8bcd18b
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2181
-
-STORKAuthnRequest.java
-file
-
-
-
-
-2013-12-20T12:27:56.634475Z
-3f36e65f0c4f1c7df753784b2e64f00b
-2013-10-24T15:44:04.704923Z
-56
-emgrtargr
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-11269
-
-IPersonalAttributeList.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-b441a2c6c3eddcf1043c55e55f48faa6
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-6598
-
-AttributeProvider.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-39c770ebd2082723b9eeb68bf17ee698
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1687
-
-IStorkSession.java
-file
-
-
-
-
-2013-12-20T12:27:56.634475Z
-5a8701b1fd27998d5cf3280a5c99bcb0
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2745
-
-CountryCodes.java
-file
-
-
-
-
-2013-12-20T12:27:56.638475Z
-f91b0f8df0b2a68fe1b900d425257c23
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3527
-
-STORKAuthnResponse.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-f2247f9a89e8ad01f9a24ad716f993ca
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-8724
-
-package-info.java
-file
-
-
-
-
-2013-12-20T12:27:56.638475Z
-8d8068e217f10425f76a8d37192ccd80
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-277
-
-PEPSValues.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-ee08f149082a8e4888fb25ca70ae931f
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-7592
-
-CitizenConsent.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-39e236d6888f266d9b4967f19726126c
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3445
-
-STORKStatusCode.java
-file
-
-
-
-
-2013-12-20T12:27:56.638475Z
-771689c75a8263c7e3966e820d59025e
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1906
-
-AttributeUtil.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-2859d3335dfe719ca04258fae54e69a3
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-7927
-
-exceptions
-dir
-
-STORKAttrQueryResponse.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-93fc508be2bc0fd29ae453b0868e1d2b
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-9080
-
-Country.java
-file
-
-
-
-
-2013-12-20T12:27:56.638475Z
-9cbde5f25b646d02dae7ccf424906b4a
-2013-11-01T20:35:30.927048Z
-96
-emferreri
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2208
-
-PEPSUtil.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-1fef4b668542bb572c856053b61aa6af
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-11505
-
-DateUtil.java
-file
-
-
-
-
-2013-12-20T12:27:56.634475Z
-59f9cd2a3d1169a0f1a797b28719921a
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-5702
-
-IStorkLogger.java
-file
-
-
-
-
-2013-12-20T12:27:56.634475Z
-f15979b29f52d1674103528aed914ae7
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-4766
-
-AttributeSource.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-a0555599193656bc17e02c3ce23043be
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-4501
-
-Linker.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-98f46baee16310e3dc59ef224ba5b5ab
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-8950
-
-PEPSParameters.java
-file
-
-
-
-
-2014-01-21T08:38:55.332702Z
-95e7dfcbff9c4ca76c2f4aea047f0bfd
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-15289
-
-STORKAttrQueryRequest.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-2d4ac505f71020c482ebbefa10484552
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-10617
-
-AttributeProvidersMap.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-b487da35df5353c8b2aba47ab3cdb68d
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2608
-
-AttributeConstants.java
-file
-
-
-
-
-2013-12-20T12:27:56.638475Z
-940dcb9e93ede62e221f4b25abd6576b
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1831
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeConstants.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeConstants.java.svn-base
deleted file mode 100644
index 09769641c..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeConstants.java.svn-base
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * This enum class contains all the STORK PEPS, Commons and Specific errors
- * constant identifiers.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.2 $, $Date: 2010-11-17 05:15:28 $
- */
-public enum AttributeConstants {
-
- /**
- * Represents the attribute's name index.
- */
- ATTR_NAME_INDEX(0),
- /**
- * Represents the attribute's type index.
- */
- ATTR_TYPE_INDEX(1),
- /**
- * Represents the attribute's value index.
- */
- ATTR_VALUE_INDEX(2),
- /**
- * Represents the attribute's status index.
- */
- ATTR_STATUS_INDEX(3),
- /**
- * Represents the number of allowed tuples.
- */
- NUMBER_TUPLES(4);
-
- /**
- * Represents the constant's value.
- */
- private int attribute;
-
- /**
- * Solo Constructor.
- *
- * @param attr The Attribute Constant value.
- */
- AttributeConstants(final int attr) {
-
- this.attribute = attr;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public int intValue() {
-
- return attribute;
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeName.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeName.java.svn-base
deleted file mode 100644
index 32352f563..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeName.java.svn-base
+++ /dev/null
@@ -1,74 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-/**
- * This class is a bean used to store information relative to Attribute Names.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: 1.00 $, $Date: 2013-11-26 $
- */
-public final class AttributeName {
-
- /**
- * Attribute Id.
- */
- private String attributeId;
-
- /**
- * Attribute Name.
- */
- private String attributeName;
-
- /**
- * Attribute Name Constructor.
- *
- * @param aId Id of the Attribute Name.
- * @param aName Name of the Attribute Name.
- */
- public AttributeName(final String aId, final String aName) {
-
- this.attributeId = aId;
- this.attributeName = aName;
- }
-
- /**
- * Getter for the attributeId value.
- *
- * @return The attributeId value.
- */
- public String getAttributeId() {
-
- return attributeId;
- }
-
- /**
- * Setter for the attributeId value.
- *
- * @param aId Id of the Attribute Name.
- */
- public void setAttributeId(final String aId) {
-
- this.attributeId = aId;
- }
-
- /**
- * Getter for the attributeName value.
- *
- * @return The attributeName value.
- */
- public String getAttributeName() {
-
- return attributeName;
- }
-
- /**
- * Setter for the attributeName value.
- *
- * @param name Name of the Attribute Name.
- */
- public void setAttributeName(final String name) {
-
- this.attributeName = name;
- }
-
-} \ No newline at end of file
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvider.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvider.java.svn-base
deleted file mode 100644
index 5fb04e331..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvider.java.svn-base
+++ /dev/null
@@ -1,80 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-
-/**
- * This class is a bean used to store the information relative to the Attribute Provider.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: 1.01 $, $Date: 2013-11-28 $
- */
-public final class AttributeProvider implements Serializable {
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 7210186241917444559L;
-
- /**
- * Provider Id.
- */
- private String providerId;
-
- /**
- * Provider Name.
- */
- private String providerName;
-
- /**
- * Attribute Provider Constructor.
- *
- * @param pId Id of the Attribute Provider.
- * @param pName Name of the Attribute Provider.
- */
- public AttributeProvider(final String pId, final String pName) {
-
- this.providerId = pId;
- this.providerName = pName;
- }
-
- /**
- * Getter for the providerId value.
- *
- * @return The providerId value.
- */
- public String getProviderId() {
-
- return providerId;
- }
-
- /**
- * Setter for the providerId value.
- *
- * @param pId Id of the Attribute Provider.
- */
- public void setProviderId(final String pId) {
-
- this.providerId = pId;
- }
-
- /**
- * Getter for the providerName value.
- *
- * @return The providerName value.
- */
- public String getProviderName() {
-
- return providerName;
- }
-
- /**
- * Setter for the providerName value.
- *
- * @param name Name of the Attribute Provider.
- */
- public void setProviderName(final String name) {
-
- this.providerName = name;
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvidersMap.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvidersMap.java.svn-base
deleted file mode 100644
index 3059caaa3..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvidersMap.java.svn-base
+++ /dev/null
@@ -1,96 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-
-import org.apache.log4j.Logger;
-
-/**
- * Implementation of the AttributeProviderMap using a LinkedHashMap.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: 1.01 $, $Date: 2013-09-20 $
- *
- * @see LinkedHashMap
- */
-public class AttributeProvidersMap extends LinkedHashMap<AttributeSource, IPersonalAttributeList>
- implements IAttributeProvidersMap {
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(AttributeProvidersMap.class.getName());
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 8949081185106296122L;
-
- /**
- * {@inheritDoc}
- */
- @Override
- public IPersonalAttributeList get(final AttributeSource key) {
- return this.get((Object) key);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public IPersonalAttributeList remove(final AttributeSource key) {
- return this.remove((Object) key);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean containsKey(final AttributeSource key) {
- return this.containsKey((Object) key);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Iterator<AttributeSource> keyIterator() {
- return this.keySet().iterator();
- }
-
- public void trace() {
- Iterator<AttributeSource> iterator;
- Iterator<PersonalAttribute> iterator2;
- AttributeSource source;
- IPersonalAttributeList pal;
- PersonalAttribute pa;
-
- iterator = this.keyIterator();
- LOG.trace("Start dumping of AttributeProvidersMap\n=======================");
- while (iterator.hasNext()) {
- source = iterator.next();
-
- LOG.trace("Source details: type [" + source.getSourceType() + "], URL [" + source.getProviderURL() + "]");
-
- if(source.getSourceType() == AttributeSource.SOURCE_LOCAL_APROVIDER) {
- LOG.trace("-> Attribute Provider: ID [" + source.getProvider().getProviderId() + "], name [" + source.getProvider().getProviderName() + "]");
- }
- else {
- LOG.trace("-> Country: ID [" + source.getCountry().getCountryId() + "], name [" + source.getCountry().getCountryName() + "]");
- }
-
- pal = this.get(source);
- LOG.trace("++++++++=>");
- iterator2 = pal.iterator();
- while (iterator2.hasNext()) {
- pa = iterator2.next();
-
- LOG.trace("-> Citizen Attribute: name [" + pa.getName() + "], required [" + pa.isRequired() + "]");
- }
- LOG.trace("<=++++++++");
-
- LOG.trace("-----------------------");
- }
- LOG.trace("END\n=======================");
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeSource.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeSource.java.svn-base
deleted file mode 100644
index e1ae0049d..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeSource.java.svn-base
+++ /dev/null
@@ -1,188 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-
-import org.apache.log4j.Logger;
-
-/**
- * This class is a bean used to store the information relative to the Attribute Source (either AttributeProvider or Country).
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: 1.10 $, $Date: 2013-11-29 $
- */
-public final class AttributeSource implements Serializable {
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 432243595968469014L;
-
- public static final int SOURCE_LOCAL_APROVIDER = 1;
- public static final int SOURCE_REMOTE_COUNTRY = 2;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(AttributeSource.class.getName());
-
- /**
- * Provider source.
- */
- private int sourceType;
-
- /**
- * Provider URL.
- */
- private String providerURL;
-
- /**
- * The local Attribute Provider.
- */
- private AttributeProvider provider;
-
- /**
- * The remote Country.
- */
- private Country country;
-
- /**
- * Attribute Source Constructor.
- *
- * @param provider The local Attribute Provider.
- * @param pURL URL of the Attribute Provider.
- */
- public AttributeSource(final AttributeProvider provider, final String pURL) {
- this.setSourceType(SOURCE_LOCAL_APROVIDER);
-
- this.setProvider(provider);
- this.setProviderURL(pURL);
- }
-
- /**
- * Attribute Source Constructor.
- *
- * @param country The remote Country.
- * @param pURL URL of the Country.
- */
- public AttributeSource(final Country country, final String pURL) {
- this.setSourceType(SOURCE_REMOTE_COUNTRY);
-
- this.setCountry(country);
- this.setProviderURL(pURL);
- }
-
- /**
- * @param sourceType the sourceType to set
- */
- public void setSourceType(final int sourceType) {
- this.sourceType = sourceType;
- }
-
- /**
- * @return the sourceType
- */
- public int getSourceType() {
- return sourceType;
- }
-
- /**
- * @param providerURL the providerURL to set
- */
- public void setProviderURL(final String providerURL) {
- this.providerURL = providerURL;
- }
-
- /**
- * @return the providerURL
- */
- public String getProviderURL() {
- return providerURL;
- }
-
- /**
- * @param provider the provider to set
- */
- public void setProvider(final AttributeProvider provider) {
- this.setSourceType(SOURCE_LOCAL_APROVIDER);
-
- this.provider = provider;
- }
-
- /**
- * @return the provider
- */
- public AttributeProvider getProvider() {
- return provider;
- }
-
- /**
- * @param country the country to set
- */
- public void setCountry(final Country country) {
- this.setSourceType(SOURCE_REMOTE_COUNTRY);
-
- this.country = country;
- }
-
- /**
- * @return the country
- */
- public Country getCountry() {
- return country;
- }
-
- /**
- * {@inheritDoc}
- */
- public boolean equals(Object obj) {
- boolean outcome = false;
-
- LOG.debug("Calling equals with Object.");
- if ( obj instanceof AttributeSource ) {
- LOG.debug("Calling equals with AttributeSource.");
- outcome = this.equals((AttributeSource)obj);
- }
-
- LOG.debug("Object equals outcome: " + outcome);
- return outcome;
- }
-
- /**
- * Compare the given AttributeSource with the current object in order to determinine
- * if they are equal.
- *
- * @param obj The AttributeSource to compare to
- *
- * @return true if the two objects are equal
- */
- public boolean equals(AttributeSource obj) {
- boolean outcome = false;
-
- if ( this.sourceType==obj.getSourceType() ) {
- if ( this.sourceType==AttributeSource.SOURCE_LOCAL_APROVIDER ) {
- if ( this.provider.getProviderId().equals(obj.getProvider().getProviderId()) )
- outcome = true;
- }
- else if ( this.sourceType==AttributeSource.SOURCE_REMOTE_COUNTRY ) {
- if ( this.country.getCountryId().equals(obj.getCountry().getCountryId()) )
- outcome = true;
- }
- }
-
- LOG.debug("AttributeSource equals outcome: " + outcome);
- return outcome;
- }
-
- /**
- * {@inheritDoc}
- */
- public int hashCode() {
- int hash = 1;
- hash = hash * 17 + this.sourceType;
- if ( this.sourceType==AttributeSource.SOURCE_LOCAL_APROVIDER )
- hash = hash * 31 + this.provider.getProviderName().hashCode();
- else
- hash = hash * 31 + this.country.getCountryName().hashCode();
- return hash;
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeUtil.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeUtil.java.svn-base
deleted file mode 100644
index af7ab6cf3..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeUtil.java.svn-base
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.commons.lang.StringUtils;
-
-/**
- * This class holds static helper methods.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.5 $, $Date: 2010-12-15 23:19:59 $
- */
-public final class AttributeUtil {
-
- /**
- * Private constructor. Prevents the class from being instantiated.
- */
- private AttributeUtil() {
- // empty constructor
- }
-
- /**
- * Safe escape any given string.
- *
- * @param value The HTTP Value to escaped.
- *
- * @return The value escaped value.
- */
- public static String escape(final String value) {
-
- final String attrSep = PEPSValues.ATTRIBUTE_SEP.toString();
- final String attrTupleSep = PEPSValues.ATTRIBUTE_TUPLE_SEP.toString();
- final String attrValueSep = PEPSValues.ATTRIBUTE_VALUE_SEP.toString();
-
- final String escAttrSep = "%" + (int) attrSep.charAt(0);
- final String escAttrTupleSep = "%" + (int) attrTupleSep.charAt(0);
- final String escAttrValueSep = "%" + (int) attrValueSep.charAt(0);
-
- return value.replace(attrSep, escAttrSep)
- .replace(attrTupleSep, escAttrTupleSep)
- .replace(attrValueSep, escAttrValueSep);
- }
-
- /**
- * Unescape any given string.
- *
- * @param value The HTTP Value to be unescaped.
- *
- * @return The value unescaped value.
- */
- public static String unescape(final String value) {
- final String attrSep = PEPSValues.ATTRIBUTE_SEP.toString();
- final String attrTupleSep = PEPSValues.ATTRIBUTE_TUPLE_SEP.toString();
- final String attrValueSep = PEPSValues.ATTRIBUTE_VALUE_SEP.toString();
-
- final String escAttrSep = "%" + (int) attrSep.charAt(0);
- final String escAttrTupleSep = "%" + (int) attrTupleSep.charAt(0);
- final String escAttrValueSep = "%" + (int) attrValueSep.charAt(0);
-
- return value.replace(escAttrSep, attrSep)
- .replace(escAttrTupleSep, attrTupleSep)
- .replace(escAttrValueSep, attrValueSep);
- }
-
- /**
- * Appends the string representation of an object to a StringBuilder.
- *
- * @param strBuilder The StringBuilder to append to.
- * @param val The string representation of an object.
- */
- public static void appendIfNotNull(final StringBuilder strBuilder,
- final Object val) {
-
- if (val != null) {
- strBuilder.append(val);
- }
- }
-
- /**
- * Given a separator and a list of strings, joins the list, as a string,
- * separated by the separator string.
- *
- * @param list The list of strings to join.
- * @param separator The separator string.
- * @return the list, as a string, separated by the separator string.
- */
- public static String listToString(final List<String> list,
- final String separator) {
-
- final StringBuilder strBuilder = new StringBuilder();
- for (final String s : list) {
- if (!StringUtils.isEmpty(s)) {
- strBuilder.append(AttributeUtil.escape(s) + separator);
- }
- }
- return strBuilder.toString();
- }
-
- /**
- * Given a separator and a map of strings to strings, joins the map, as a
- * string, separated by the separator string with the pair key/value
- * concatenated with a '='.
- *
- * @param map The map of strings to join.
- * @param separator The separator string.
- *
- * @return the map of strings, as a string, separated by the separator string
- * with the pair key/value concatenated with a '='.
- */
- public static String mapToString(final Map<String, String> map,
- final String separator) {
-
- final StringBuilder strBuilder = new StringBuilder();
- final Iterator<Entry<String, String>> valuesIt = map.entrySet().iterator();
- while (valuesIt.hasNext()) {
- final Entry<String, String> entry = valuesIt.next();
- strBuilder.append(entry.getKey());
- strBuilder.append('=');
- strBuilder.append(AttributeUtil.escape(entry.getValue()));
- strBuilder.append(separator);
- }
- return strBuilder.toString();
- }
-
- /**
- * Validates the attribute value format.
- *
- * @param value The attribute value to validate.
- *
- * @return true if value has a valid format.
- */
- public static boolean isValidValue(final String value) {
- boolean retVal = false;
- if (value != null && value.charAt(0) == '[' && value.endsWith("]")) {
- final String tmpAttrValue = value.substring(1, value.length() - 1);
- final String[] vals =
- tmpAttrValue.split(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- if (tmpAttrValue.length() >= 0
- || (vals.length > 0 && vals[0].length() > 0)) {
- retVal = true;
- }
- }
- return retVal;
- }
-
- /**
- * Validates the attribute type value. It's case insensitive. E.g. return true
- * value to: a) "true", "TRUE", "True", ... b) "false", "FALSE", "False", ...
- *
- * @param type The attribute type value.
- *
- * @return true if type has a true or false (case insensitive) value.
- */
- public static boolean isValidType(final String type) {
- return StringUtils.isNotEmpty(type) && (PEPSValues.TRUE.toString().equalsIgnoreCase(type) || PEPSValues.FALSE.toString().equalsIgnoreCase(type)) ;
- }
-
- /**
- * Validates the Personal attribute tuple. E.g. name:type:[value]:status
- *
- * @param tuples The Personal attribute's tuple.
- *
- * @return true if the tuples' format is valid.
- *
- * @see PEPSUtil#validateParameter(String, String, String)
- * @see String#equalsIgnoreCase(String)
- */
- public static boolean hasValidTuples(final String[] tuples) {
- boolean retVal = false;
-
- final int numberTuples = AttributeConstants.NUMBER_TUPLES.intValue();
- if (tuples != null && tuples.length == numberTuples) {
- // validate attrName
- final int attrNameIndex = AttributeConstants.ATTR_NAME_INDEX.intValue();
- final int attrTypeIndex = AttributeConstants.ATTR_TYPE_INDEX.intValue();
- final int attrValueIndex = AttributeConstants.ATTR_VALUE_INDEX.intValue();
-
- retVal =
- StringUtils.isNotEmpty(tuples[attrNameIndex])
- && StringUtils.isNotEmpty(tuples[attrTypeIndex])
- && StringUtils.isNotEmpty(tuples[attrValueIndex])
- && AttributeUtil.isValidType(tuples[attrTypeIndex])
- && AttributeUtil.isValidValue(tuples[attrValueIndex]);
- }
- return retVal;
- }
-
- /**
- * Check if all mandatory attributes have values.
- *
- * @param personalAttrList The Personal Attributes List.
- *
- * @return true if all mandatory attributes have values, false if at least one
- * attribute doesn't have value.
- */
- public static boolean checkMandatoryAttributes(
- final IPersonalAttributeList personalAttrList) {
-
- final Iterator<PersonalAttribute> itAttributes =
- personalAttrList.values().iterator();
- boolean retVal = true;
- while (itAttributes.hasNext() && retVal) {
- final PersonalAttribute attr = itAttributes.next();
- if (attr.isRequired()
- && !STORKStatusCode.STATUS_AVAILABLE.toString()
- .equals(attr.getStatus())) {
- retVal = false;
- }
- }
- return retVal;
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CitizenConsent.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CitizenConsent.java.svn-base
deleted file mode 100644
index 9ebcfbd5a..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CitizenConsent.java.svn-base
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This class is a bean used to store the information relative to the Citizen
- * Consent.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.15 $, $Date: 2010-11-17 05:15:28 $
- */
-public final class CitizenConsent {
-
- /**
- * Mandatory attributes list.
- */
- private List<String> mandatoryList;
-
- /**
- * Optional attributes list.
- */
- private List<String> optionalList;
-
- /**
- * Citizen Consent default Constructor.
- */
- public CitizenConsent() {
- this.mandatoryList = new ArrayList<String>();
- this.optionalList = new ArrayList<String>();
- }
-
- /**
- * Getter for the mandatoryList value.
- *
- * @return The mandatoryList value.
- */
- public List<String> getMandatoryList() {
- return this.mandatoryList;
- }
-
- /**
- * Setter for the mandatoryList value.
- *
- * @param mandatoryAttrList Mandatory parameters list.
- */
- public void setMandatoryList(final List<String> mandatoryAttrList) {
- this.mandatoryList = mandatoryAttrList;
- }
-
- /**
- * Setter for some mandatoryAttribute. Adds the input parameter to the
- * mandatoryList.
- *
- * @param mandatoryAttr Attribute to add to the mandatoryList.
- */
- public void setMandatoryAttribute(final String mandatoryAttr) {
- this.mandatoryList.add(mandatoryAttr);
- }
-
- /**
- * Getter for the optionalList value.
- *
- * @return The optionalList value.
- */
- public List<String> getOptionalList() {
- return optionalList;
- }
-
- /**
- * Setter for the optionalList value.
- *
- * @param optAttrList Optional parameters list.
- */
- public void setOptionalList(final List<String> optAttrList) {
- this.optionalList = optAttrList;
- }
-
- /**
- * Setter for some optionalAttr. Adds the input parameter to the optionalList.
- *
- * @param optionalAttr Attribute to add to the optionalList.
- */
- public void setOptionalAttribute(final String optionalAttr) {
- this.optionalList.add(optionalAttr);
- }
-
- /**
- * Returns a string in the following format. "Mandatory attributes:
- * mandatoryAttr1;mandatoryAttr2;mandatoryAttrN Optional attributes:
- * optionalAttr1;optionalAttr2;optionalAttrN"
- *
- * @return {@inheritDoc}
- */
- public String toString() {
- final StringBuilder strbldr = new StringBuilder(46);
- strbldr.append("Mandatory attributes: ");
- for (final String str : mandatoryList) {
- strbldr.append(str).append(';');
- }
- strbldr.append(" Optional attributes: ");
- for (final String str : optionalList) {
- strbldr.append(str).append(';');
- }
- return strbldr.toString();
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Country.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Country.java.svn-base
deleted file mode 100644
index 001f9317a..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Country.java.svn-base
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-
-/**
- * This class is a bean used to store the information relative to the Country.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.10 $, $Date: 2010-11-17 05:15:28 $
- */
-public final class Country implements Serializable {
-
- /**
- *
- */
- private static final long serialVersionUID = 1135994036496370993L;
-
-/**
- * Country Id.
- */
- private String countryId;
-
- /**
- * Country Name.
- */
- private String countryName;
-
- /**
- * Country Constructor.
- *
- * @param cId Id of the Country.
- * @param cName Name of the Country.
- */
- public Country(final String cId, final String cName) {
-
- this.countryId = cId;
- this.countryName = cName;
- }
-
- /**
- * Getter for the countryId value.
- *
- * @return The countryId value.
- */
- public String getCountryId() {
-
- return countryId;
- }
-
- /**
- * Setter for the countryId value.
- *
- * @param cId Id of the Country.
- */
- public void setCountryId(final String cId) {
-
- this.countryId = cId;
- }
-
- /**
- * Getter for the countryName value.
- *
- * @return The countryName value.
- */
- public String getCountryName() {
-
- return countryName;
- }
-
- /**
- * Setter for the countryName value.
- *
- * @param name Name of the Country.
- */
- public void setCountryName(final String name) {
-
- this.countryName = name;
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CountryCodes.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CountryCodes.java.svn-base
deleted file mode 100644
index 54345f3ea..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CountryCodes.java.svn-base
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * This class contains all the ISO 3166-1 Alpha 3 Country Codes.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.2 $, $Date: 2011-04-14 00:24:56 $
- */
-public final class CountryCodes {
-
- /**
- * Private Constructor.
- */
- private CountryCodes() {
-
- }
-
- /**
- * ISO 3166-1 Alpha 3 Country Codes.
- */
- private static List<String> countrysAlpha3 = Arrays.asList("ABW", "AFG",
- "AGO", "AIA", "ALA", "ALB", "AND", "ANT", "ARE", "ARG", "ARM", "ASM",
- "ATA", "ATF", "ATG", "AUS", "AUT", "AZE", "BDI", "BEL", "BEN", "BES",
- "BFA", "BGD", "BGR", "BHR", "BHS", "BIH", "BLM", "BLR", "BLZ", "BMU",
- "BOL", "BRA", "BRB", "BRN", "BTN", "BUR", "BVT", "BWA", "BYS", "CAF",
- "CAN", "CCK", "CHE", "CHL", "CHN", "CIV", "CMR", "COD", "COG", "COK",
- "COL", "COM", "CPV", "CRI", "CSK", "CUB", "CUW", "CXR", "CYM", "CYP",
- "CZE", "DEU", "DJI", "DMA", "DNK", "DOM", "DZA", "ECU", "EGY", "ERI",
- "ESH", "ESP", "EST", "ETH", "FIN", "FJI", "FLK", "FRA", "FRO", "FSM",
- "GAB", "GBR", "GEO", "GGY", "GHA", "GIB", "GIN", "GLP", "GMB", "GNB",
- "GNQ", "GRC", "GRD", "GRL", "GTM", "GUF", "GUM", "GUY", "HKG", "HMD",
- "HND", "HRV", "HTI", "HUN", "IDN", "IMN", "IND", "IOT", "IRL", "IRN",
- "IRQ", "ISL", "ISR", "ITA", "JAM", "JEY", "JOR", "JPN", "KAZ", "KEN",
- "KGZ", "KHM", "KIR", "KNA", "KOR", "KWT", "LAO", "LBN", "LBR", "LBY",
- "LCA", "LIE", "LKA", "LSO", "LTU", "LUX", "LVA", "MAC", "MAF", "MAR",
- "MCO", "MDA", "MDG", "MDV", "MEX", "MHL", "MKD", "MLI", "MLT", "MMR",
- "MNE", "MNG", "MNP", "MOZ", "MRT", "MSR", "MTQ", "MUS", "MWI", "MYS",
- "MYT", "NAM", "NCL", "NER", "NFK", "NGA", "NIC", "NIU", "NLD", "NOR",
- "NPL", "NRU", "NZL", "OMN", "PAK", "PAN", "PCN", "PER", "PHL", "PLW",
- "PNG", "POL", "PRI", "PRK", "PRT", "PRY", "PSE", "PYF", "QAT", "REU",
- "ROM", "ROU", "RUS", "RWA", "SAU", "SCG", "SDN", "SEN", "SGP", "SGS",
- "SHN", "SJM", "SLB", "SLE", "SLV", "SMR", "SOM", "SPM", "SRB", "STP",
- "SUR", "SVK", "SVN", "SXW", "SWE", "SWZ", "SYC", "SYR", "TCA", "TCD",
- "TGO", "THA", "TJK", "TKL", "TKM", "TLS", "TMP", "TON", "TTO", "TUN",
- "TUR", "TUV", "TWN", "TZA", "UGA", "UKR", "UMI", "URY", "USA", "UZB",
- "VAT", "VCT", "VEN", "VGB", "VIR", "VNM", "VUT", "WLF", "WSM", "YEM",
- "YUG", "ZAF", "ZAR", "ZMB", "ZWE");
-
- /**
- * Searches the CountryCode (3166-1 alpha3 format) an return true if it
- * exists.
- *
- * @param countryCode The Country code to search.
- *
- * @return true if the CountryCode exists, false otherwise.
- */
- public static boolean hasCountryCodeAlpha3(final String countryCode) {
-
- return CountryCodes.countrysAlpha3.contains(countryCode);
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/DateUtil.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/DateUtil.java.svn-base
deleted file mode 100644
index 9c0bd6775..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/DateUtil.java.svn-base
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.sql.Timestamp;
-import java.util.GregorianCalendar;
-
-import org.apache.log4j.Logger;
-import org.joda.time.DateTime;
-import org.joda.time.Years;
-import org.joda.time.format.DateTimeFormat;
-import org.joda.time.format.DateTimeFormatter;
-
-import eu.stork.peps.auth.commons.exceptions.SecurityPEPSException;
-
-/**
- * This class holds static helper methods for Date Operations.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.4 $, $Date: 2010-11-17 05:15:28 $
- */
-public final class DateUtil {
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(DateUtil.class.getName());
-
- /**
- * yyyy Date format size.
- */
- private static final int YEAR_DATE_SIZE = 4;
-
- /**
- * yyyyMM Date format size.
- */
- private static final int MONTH_DATE_SIZE = 6;
-
- /**
- * Private constructor. Prevents the class from being instantiated.
- */
- private DateUtil() {
- // empty constructor
- }
-
- /**
- * Fulfils dateValue with a valid date. The following roles are applied: a) If
- * the dateValue only contains the year then fulfils with last year's day.
- * e.g. this method returns 19951231 to the 1995 dateValue. b) If the
- * dateValue contains the year and the month then fulfils with last month's
- * day. e.g. this method returns 19950630 to the 199505 dateValue.
- *
- * @param dateValue The date to be fulfilled.
- *
- * @return The dateValue fulfilled.
- */
- private static String fulfilDate(final String dateValue) {
-
- final StringBuffer strBuf = new StringBuffer();
- strBuf.append(dateValue);
- // if the IdP just provides the year then we must fullfil the date.
- if (dateValue.length() == YEAR_DATE_SIZE) {
- strBuf.append(PEPSValues.LAST_MONTH.toString());
- }
- // if the IdP provides the year and the month then we must fullfil the
- // date.
- if (dateValue.length() == MONTH_DATE_SIZE
- || strBuf.length() == MONTH_DATE_SIZE) {
- // IdP doesn't provide the day, so we will use DateTime to
- // calculate it.
- final String noDayCons = PEPSValues.NO_DAY_DATE_FORMAT.toString();
- final DateTimeFormatter fmt = DateTimeFormat.forPattern(noDayCons);
- final DateTime dateTime = fmt.parseDateTime(strBuf.toString());
- // Append the last month's day.
- strBuf.append(dateTime.dayOfMonth().withMaximumValue().getDayOfMonth());
- }
-
- return strBuf.toString();
- }
-
- /**
- * Validates the dateValue format: a) if has a valid size; b) if has a numeric
- * value; Note: dateValue must have the format yyyyMMdd.
- *
- * @param dateValueTmp The date to be validated.
- * @param pattern The accepted date format.
- *
- * @return true if the date has a valid format.
- */
- public static boolean isValidFormatDate(final String dateValueTmp,
- final String pattern) {
-
- boolean retVal = true;
- try {
- final String dateValue = DateUtil.fulfilDate(dateValueTmp);
-
- final DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern);
- fmt.parseDateTime(dateValue);
- } catch (final Exception e) {
- // We catch Exception because we only have to return false
- // value!
- retVal = false;
- }
- return retVal;
- }
-
- /**
- * Calculates the age for a given date string.
- *
- * @param dateVal The date to be validated.
- * @param now The current date.
- * @param pattern The date pattern.
- *
- * @return The age value.
- */
- public static int calculateAge(final String dateVal, final DateTime now,
- final String pattern) {
-
- if (DateUtil.isValidFormatDate(dateVal, pattern)) {
- try {
- final String dateValueTemp = DateUtil.fulfilDate(dateVal);
- final DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern);
- final DateTime dateTime = fmt.parseDateTime(dateValueTemp);
- // Calculating age
- final Years age = Years.yearsBetween(dateTime, now);
-
- return age.getYears();
- } catch (final IllegalArgumentException e) {
- LOG.warn("Invalid date format (" + pattern
- + ") or an invalid dateValue.");
- throw new SecurityPEPSException(
- PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorCode()),
- PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorMessage()),
- e);
- }
- } else {
- LOG.warn("Couldn't calculate Age, invalid date!");
- throw new SecurityPEPSException(
- PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorCode()),
- PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorMessage()));
- }
-
- }
-
- /**
- * Generates the current timestamp.
- *
- * @return timestamp The current timestamp
- */
- public static Timestamp currentTimeStamp() {
- final GregorianCalendar cal = new GregorianCalendar();
- final long millis = cal.getTimeInMillis();
- return new Timestamp(millis);
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeListProcessor.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeListProcessor.java.svn-base
deleted file mode 100644
index b13c70f04..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeListProcessor.java.svn-base
+++ /dev/null
@@ -1,148 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Interface for {@link AttributeListProcessor}.
- *
- * @author ricardo.ferreira@multicert.com
- *
- * @version $Revision: $, $Date: $
- *
- * @see IPersonalAttributeList
- */
-public interface IAttributeListProcessor {
-
- /**
- * Checks if attribute list only contains allowed attributes.
- *
- * @param attrList the requested attribute list
- * @param attributes the allowed attributes
- *
- * @return true is all the attributes are allowed.
- *
- * @see IPersonalAttributeList
- */
- boolean hasAllowedAttributes(final IPersonalAttributeList attrList, final List<String> attributes);
-
- /**
- * Lookup for business attribute.
- *
- * @param attrList the requested attribute list
- * @param normalAttributes the normal attributes
- *
- * @return true is at least one business attribute was requested.
- *
- * @see IPersonalAttributeList
- */
- boolean hasBusinessAttributes(final IPersonalAttributeList attrList, final List<String> normalAttributes);
-
- /**
- * Lookup for business attribute in normal attribute list (loaded by
- * implementation).
- *
- * @param attrList the requested attribute list
- *
- * @return true is at least one business attribute was requested.
- *
- * @see IPersonalAttributeList
- */
- boolean hasBusinessAttributes(final IPersonalAttributeList attrList);
-
- /**
- * Adds eIdentifier, name, surname, and DateOfBirth attributes to get business
- * attributes from some AP.
- *
- * @param attrList the requested attribute list
- * @param attributes the list of attributes to add (eIdentifier, name,
- * surname, and DateOfBirth).
- *
- * @return the requested attribute list and the new attributes added
- * (eIdentifier, name, surname, and DateOfBirth).
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList addAPMandatoryAttributes(final IPersonalAttributeList attrList, final List<String> attributes);
-
- /**
- * Adds eIdentifier, name, surname, and DateOfBirth attributes, loaded by
- * implementation, to get business attributes from some AP.
- *
- * @param attrList the requested attribute list
- *
- * @return the requested attribute list and the new attributes added
- * (eIdentifier, name, surname, and DateOfBirth).
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList addAPMandatoryAttributes(final IPersonalAttributeList attrList);
-
- /**
- * Removes from attribute list the given list of attributes.
- *
- * @param attrList the requested attribute list
- * @param attributes the list of attributes to remove.
- *
- * @return the requested attribute list and the attributes removed.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList removeAPMandatoryAttributes(final IPersonalAttributeList attrList, final List<String> attributes);
-
- /**
- * Removes from attribute list the given list of attributes and change
- * attributes status if attribute was optional in the request.
- *
- * @param attrList the requested attribute list
- * @param attributes the map of attributes (attribute name, mandatory/optional) to remove.
- *
- * @return the requested attribute list and the attributes removed
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList removeAPMandatoryAttributes(IPersonalAttributeList attrList, Map<String, Boolean> attributes);
-
- /**
- * Checks if mandate attribute exist in the requested Attribute List. Power
- * attribute name to lookup is loaded by implementation.
- *
- * @param attrList the requested attribute list.
- *
- * @return true if mandate attribute exists or false otherwise.
- *
- * @see IPersonalAttributeList
- */
- boolean hasPowerAttribute(final IPersonalAttributeList attrList);
-
- /**
- * Checks if attribute name was requested and has value.
- *
- * @param attrList the requested attribute list.
- * @param attrName the attribute name to lookup for .
- *
- * @return true if attribute was requested and has value or false otherwise.
- *
- * @see IPersonalAttributeList
- */
- boolean hasAttributeValue(final IPersonalAttributeList attrList, final String attrName);
-
- /**
- * Checks if attribute has value.
- *
- * @param attr the attribute to check.
- *
- * @return true if has value;
- *
- * @see PersonalAttribute
- */
- boolean hasAttributeValue(final PersonalAttribute attr);
-
- /**
- * Gets a map (attribute name, attribute isRequired) of attributes added to attribute list.
- *
- * @return the Map of attributes added and if is required to attribute list.
- */
- Map<String, Boolean> getNormalAttributesAdded();
-
-} \ No newline at end of file
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeProvidersMap.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeProvidersMap.java.svn-base
deleted file mode 100644
index 5833f6822..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeProvidersMap.java.svn-base
+++ /dev/null
@@ -1,82 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.util.Iterator;
-
-/**
- * Interface for Attributes Providers map.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: 1.00 $, $Date: 2013-09-20 $
- */
-public interface IAttributeProvidersMap {
-
- /**
- * Returns the object associated the the given key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return The object associated the the given key.
- */
- IPersonalAttributeList get(AttributeSource key);
-
- /**
- * Associates a key to a value, and inserts them in the session object.
- *
- * @param key with which the specified value is to be associated.
- * @param value to be associated with the specified key.
- *
- * @return previous value associated with specified key, or null if there was
- * no mapping for key. A null return can also indicate that the map
- * previously associated null with the specified key.
- */
- Object put(AttributeSource key, IPersonalAttributeList value);
-
- /**
- * Removes the mapping for this key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return previous value associated with specified key, or null if there was
- * no mapping for key. A null return can also indicate that the map
- * previously associated null with the specified key.
- */
- IPersonalAttributeList remove(AttributeSource key);
-
- /**
- * Returns the number of key-value mappings in this map.
- *
- * @return the number of key-value mappings in this map.
- */
- int size();
-
- /**
- * Returns true if this map contains a mapping for the specified key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return true if this map contains a mapping for the specified key.
- */
- boolean containsKey(AttributeSource key);
-
- /**
- * Removes all mappings from this map.
- */
- void clear();
-
- /**
- * Returns true if this map contains no key-value mappings.
- *
- * @return true if this map contains no key-value mappings.
- */
- boolean isEmpty();
-
- /**
- * Returns an Iterator of the keys contained in this map. The implementation must
- * take care in order for the Iterator to have predictable order of the returned
- * keys.
- *
- * @return an iterator of the keys contained in this map
- */
- Iterator<AttributeSource> keyIterator();
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IPersonalAttributeList.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IPersonalAttributeList.java.svn-base
deleted file mode 100644
index b24c915c0..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IPersonalAttributeList.java.svn-base
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Interface for {@link PersonalAttributeList}.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.16 $, $Date: 2010-11-17 05:15:28 $
- *
- * @see PersonalAttribute
- */
-@SuppressWarnings("PMD.CloneMethodMustImplementCloneable")
-public interface IPersonalAttributeList extends Iterable<PersonalAttribute>,
- Cloneable {
-
- /**
- * Associates the specified value with the specified key in this Personal
- * Attribute List.
- *
- * @param key with which the specified value is to be associated.
- * @param value to be associated with the specified key.
- *
- * @return the previous value associated with key, or null if there was no
- * mapping for key.
- *
- * @see PersonalAttribute
- */
- PersonalAttribute put(String key, PersonalAttribute value);
-
- /**
- * Returns the value to which the specified key is mapped, or null if this map
- * contains no mapping for the key.
- *
- * @param key whose associated value is to be returned.
- *
- * @return The value to which the specified key is mapped, or null if this map
- * contains no mapping for the key.
- *
- * @see PersonalAttribute
- */
- PersonalAttribute get(Object key);
-
- /**
- * Adds to the PersonalAttributeList the given PersonalAttribute. It sets the
- * attribute name as the key to the attribute value.
- *
- * @param value PersonalAttribute to add to the PersonalAttributeList
- */
- void add(PersonalAttribute value);
-
- /**
- * Get the size of the Personal Attribute List.
- *
- * @return size of the Personal Attribute List.
- */
- int size();
-
- /**
- * Checks if the Personal Attribute List contains the given key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return true if the Personal Attribute List contains the given key, false
- * otherwise.
- */
- boolean containsKey(Object key);
-
- /**
- * Getter for the iterator of the Personal Attribute List values.
- *
- * @return The iterator for the Personal Attribute List values.
- *
- * @see PersonalAttribute
- */
- Iterator<PersonalAttribute> iterator();
-
- /**
- * Creates a Personal Attribute List from a String representing an Attribute
- * List.
- *
- * @param attrList String Object representing the attribute list.
- */
- void populate(String attrList);
-
- /**
- * Removes the mapping for this key from this map if present.
- *
- * @param key key whose mapping is to be removed from the map.
- * @return previous value associated with specified key, or <tt>null</tt> if
- * there was no mapping for key. A <tt>null</tt> return can also
- * indicate that the map previously associated <tt>null</tt> with the
- * specified key.
- */
- PersonalAttribute remove(Object key);
-
- /**
- * Returns a collection view of the values contained in this map. The
- * collection is backed by the map, so changes to the map are reflected in the
- * collection, and vice-versa. The collection supports element removal, which
- * removes the corresponding mapping from this map, via the
- * <tt>Iterator.remove</tt>, <tt>Collection.remove</tt>, <tt>removeAll</tt>,
- * <tt>retainAll</tt>, and <tt>clear</tt> operations. It does not support the
- * <tt>add</tt> or <tt>addAll</tt> operations.
- *
- * @return a collection view of the values contained in this map.
- */
- Collection<PersonalAttribute> values();
-
- /**
- * Returns a {@link Set} view of the keys contained in this map.
- * The set is backed by the map, so changes to the map are
- * reflected in the set, and vice-versa. If the map is modified
- * while an iteration over the set is in progress (except through
- * the iterator's own <tt>remove</tt> operation), the results of
- * the iteration are undefined. The set supports element removal,
- * which removes the corresponding mapping from the map, via the
- * <tt>Iterator.remove</tt>, <tt>Set.remove</tt>,
- * <tt>removeAll</tt>, <tt>retainAll</tt>, and <tt>clear</tt>
- * operations. It does not support the <tt>add</tt> or <tt>addAll</tt>
- * operations.
- *
- * @return a set view of the keys contained in this map
- */
- Set<String> keySet();
-
-
- /**
- * Returns a IPersonalAttributeList of the complex attributes.
- *
- * @return an IPersonalAttributeList of the complex attributes.
- */
- IPersonalAttributeList getComplexAttributes();
-
- /**
- * Returns a IPersonalAttributeList of the simple value attributes.
- *
- * @return an IPersonalAttributeList of the simple value attributes.
- */
- IPersonalAttributeList getSimpleValueAttributes();
-
- /**
- * Returns a IPersonalAttributeList of the mandatory attributes in this map.
- *
- * @return an IPersonalAttributeList of the mandatory attributes contained in this map.
- */
- IPersonalAttributeList getMandatoryAttributes();
-
- /**
- * Returns a IPersonalAttributeList of the optional attributes in this map.
- *
- * @return an IPersonalAttributeList of the optional attributes contained in this map.
- */
- IPersonalAttributeList getOptionalAttributes();
-
- /**
- * Returns <tt>true</tt> if this map contains no key-value mappings.
- *
- * @return <tt>true</tt> if this map contains no key-value mappings.
- */
- boolean isEmpty();
-
- /**
- * Returns <tt>true</tt> if this map contains at least one element that doesn't have value.
- *
- * @return <tt>true</tt> if this map contains at least one element that doesn't have value.
- */
- boolean hasMissingValues();
-
- /**
- * Returns a copy of this <tt>IPersonalAttributeList</tt> instance.
- *
- * @return The copy of this IPersonalAttributeList.
- */
- Object clone() throws CloneNotSupportedException;
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkLogger.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkLogger.java.svn-base
deleted file mode 100644
index 33eb618f0..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkLogger.java.svn-base
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * Interface for stork logging.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.10 $, $Date: 2011-02-17 22:44:34 $
- */
-public interface IStorkLogger {
-
- /**
- * Getter for SpApplication.
- *
- * @return The SpApplication value.
- */
- String getSpApplication();
-
- /**
- * Setter for SpApplication.
- *
- * @param spApplication The SP Application.
- */
- void setSpApplication(String spApplication);
-
- /**
- * Getter for ProviderName.
- *
- * @return The ProviderName value.
- */
- String getProviderName();
-
- /**
- * Setter for ProviderName.
- *
- * @param providerName The provider name.
- */
- void setProviderName(String providerName);
-
- /**
- *
- * Getter for Origin.
- *
- * @return The Origin value.
- *
- */
- String getOrigin();
-
- /**
- * Setter for Origin.
- *
- * @param origin The origin.
- */
- void setOrigin(String origin);
-
- /**
- *
- * Getter for QAA Level.
- *
- * @return The QAA Level value.
- *
- */
- int getQaaLevel();
-
- /**
- * Setter for QAA Level.
- *
- * @param qaaLevel The qaa level.
- */
- void setQaaLevel(int qaaLevel);
-
- /**
- *
- * Getter for timestamp.
- *
- * @return The timestamp value.
- *
- */
- String getTimestamp();
-
- /**
- * Setter for timestamp.
- *
- * @param timestamp The request's timestamp.
- */
- void setTimestamp(String timestamp);
-
- /**
- * Getter for InResponseTo.
- *
- * @return The InResponseTo value.
- */
- String getInResponseTo();
-
- /**
- * Setter for InResponseTo.
- *
- * @param inResponseTo The Saml's response id.
- */
- void setInResponseTo(String inResponseTo);
-
- /**
- * Getter for InResponseToSPReq.
- *
- * @return The InResponseToSPReq value.
- */
- String getInResponseToSPReq();
-
- /**
- * Setter for InResponseToSPRequ.
- *
- * @param inResponseToSPReq The Saml's response id.
- */
- void setInResponseToSPReq(String inResponseToSPReq);
-
- /**
- * Getter for opType.
- *
- * @return The opType value.
- */
- String getOpType();
-
- /**
- * Setter for opType.
- *
- * @param opType The operation type.
- */
- void setOpType(String opType);
-
- /**
- * Getter for destination.
- *
- * @return The destination value.
- */
- String getDestination();
-
- /**
- * Setter for destinationIp.
- *
- * @param destination The remote IP.
- */
- void setDestination(String destination);
-
- /**
- * Getter for message or assertion consumer.
- *
- * @return The message or assertion consumer.
- */
- String getMessage();
-
- /**
- * Setter for message or assertion consumer.
- *
- * @param message or assertion consumer.
- */
- void setMessage(String message);
-
- /**
- * Getter for country.
- *
- * @return The country value.
- */
- String getCountry();
-
- /**
- * Setter for country.
- *
- * @param country The country.
- */
- void setCountry(String country);
-
- /**
- * Getter for samlHash.
- *
- * @return The samlHash value.
- */
- byte[] getSamlHash();
-
- /**
- * Setter for samlHash.
- *
- * @param samlHash the encrypted SAML token
- */
- void setSamlHash(byte[] samlHash);
-
- /**
- * Getter for msgId.
- *
- * @return the msgId
- */
- String getMsgId();
-
- /**
- * Setter for msgId.
- *
- * @param msgId the ID of the originator of this message
- */
- void setMsgId(String msgId);
-
- /**
- * Getter for sPMsgId.
- *
- * @return the sPMsgId
- */
- String getSPMsgId();
-
- /**
- * Setter for sPMsgId.
- *
- * @param sPMsgId the ID of the originator of this message
- */
- void setSPMsgId(String sPMsgId);
-
- /**
- * The format of the returned String must be the following:
- * "requestCounter#ddMMMyyyykk:mm:ss#opType#originIp#originName
- * #destinationIp#destinationName#samlHash#[originatorName#msgId#]"
- *
- * The values enclosed in '[]' only apply when logging responses.
- *
- * @return {@inheritDoc}
- */
- @Override
- String toString();
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkSession.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkSession.java.svn-base
deleted file mode 100644
index f38b41838..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkSession.java.svn-base
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * Interface for stork session.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.9 $, $Date: 2010-11-17 05:15:28 $
- */
-public interface IStorkSession {
-
- /**
- * Returns the object associated the the given key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return The object associated the the given key.
- */
- Object get(Object key);
-
- /**
- * Associates a key to a value, and inserts them in the session object.
- *
- * @param key with which the specified value is to be associated.
- * @param value to be associated with the specified key.
- *
- * @return previous value associated with specified key, or null if there was
- * no mapping for key. A null return can also indicate that the map
- * previously associated null with the specified key.
- */
- Object put(String key, Object value);
-
- /**
- * Removes the mapping for this key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return previous value associated with specified key, or null if there was
- * no mapping for key. A null return can also indicate that the map
- * previously associated null with the specified key.
- */
- Object remove(Object key);
-
- /**
- * Returns the number of key-value mappings in this map.
- *
- * @return the number of key-value mappings in this map.
- */
- int size();
-
- /**
- * Returns true if this map contains a mapping for the specified key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return true if this map contains a mapping for the specified key.
- */
- boolean containsKey(Object key);
-
- /**
- * Removes all mappings from this map.
- */
- void clear();
-
- /**
- * Returns true if this map contains no key-value mappings.
- *
- * @return true if this map contains no key-value mappings.
- */
- boolean isEmpty();
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Linker.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Linker.java.svn-base
deleted file mode 100644
index bf236258d..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Linker.java.svn-base
+++ /dev/null
@@ -1,316 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-
-/**
- * This class is a bean used to store the information of Attribute Providers, the Attribute
- * List to be requested, the Assertions returned by the Attribute Providers and the values
- * that each Attribute has. This information along with the current status of the Linker (the
- * attribute providers that were queried and the remaining providers) is used by the PEPS
- * actions in order to complete the Attribute gathering.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: 1.50 $, $Date: 2013-11-28 $
- */
-public final class Linker implements Serializable {
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = -3268006381745987237L;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(Linker.class.getName());
-
- /**
- * Attributes Providers map.
- */
- private IAttributeProvidersMap attributeProvidersMap;
-
- /**
- * Assertion map.
- */
- private LinkedHashMap<AttributeSource, STORKAttrQueryResponse> assertions;
-
- /**
- * The current index of local (domestic) Attribute Providers.
- */
- private int localIndex;
-
- /**
- * The current index of remote (foreign) Attribute Providers - countries.
- */
- private int remoteIndex;
-
- /**
- * Constructs an empty Linker object.
- */
- public Linker() {
- localIndex = 0;
- remoteIndex = 0;
-
- assertions = new LinkedHashMap<AttributeSource, STORKAttrQueryResponse>();
- }
-
- /**
- * Based on the internal state of the Linker it returns the next local Attribute Source
- *
- * @return The next Attribute Source or null if not found
- *
- * @see AttributeSource
- */
- public AttributeSource getNextLocalProvider() {
- Iterator<AttributeSource> iterator;
- AttributeSource source, found;
- int curIndex = 0;
-
- found = null;
-
- if ( attributeProvidersMap!=null && !attributeProvidersMap.isEmpty() ) {
- iterator = attributeProvidersMap.keyIterator();
- while (iterator.hasNext()) {
- source = iterator.next();
-
- if ( source.getSourceType()==AttributeSource.SOURCE_LOCAL_APROVIDER ) {
- if ( curIndex>=localIndex ) {
- found = source;
-
- break;
- }
-
- curIndex++;
- }
- }
- }
-
- return found;
- }
-
- /**
- * Based on the internal state of the Linker it returns the next remote Attribute Source
- *
- * @return The next Attribute Source or null if not found
- *
- * @see AttributeSource
- */
- public AttributeSource getNextRemoteProvider() {
- Iterator<AttributeSource> iterator;
- AttributeSource source, found;
- int curIndex = 0;
-
- found = null;
-
- if ( attributeProvidersMap !=null && !attributeProvidersMap.isEmpty() ) {
- iterator = attributeProvidersMap.keyIterator();
- while (iterator.hasNext()) {
- source = iterator.next();
-
- if ( source.getSourceType()==AttributeSource.SOURCE_REMOTE_COUNTRY ) {
- if ( curIndex>=remoteIndex ) {
- found = source;
-
- break;
- }
-
- curIndex++;
- }
- }
- }
-
- return found;
- }
-
- /**
- * It updates the Linker with the values returned by the Attribute Source. It also advances
- * to the next index in order to mark this attribute source as completed.
- *
- * @param source The Attribute Source that was queried for attribute values.
- * @param attrResponse The attrResponse returned by the Attribute Source that contains the attribute values.
- *
- * @see AttributeSource, STORKAttrQueryResponse
- */
- public void setProviderReponse(AttributeSource source, STORKAttrQueryResponse attrResponse) {
- if ( source.getSourceType()==AttributeSource.SOURCE_REMOTE_COUNTRY )
- remoteIndex++;
- else
- localIndex++;
-
- //Assertion storage
- this.assertions.put(source, attrResponse);
-
- this.attributeProvidersMap.put(source, attrResponse.getPersonalAttributeList());
- //this.attributeProvidersMap.put(source, attrResponse.getTotalPersonalAttributeList());
- }
-
- /**
- * Reset the internal state of the local Attribute Source in order to start over.
- */
- public void resetLocalIndex() {
- localIndex = 0;
- }
-
- /**
- * Reset the internal state of the remote Attribute Source in order to start over.
- */
- public void resetRemoteIndex() {
- remoteIndex = 0;
- }
-
- /**
- * Setter for attributeProvidersMap.
- *
- * @param attributeProvidersMap The attributeProvidersMap to set.
- */
- public void setAttributeProvidersMap(IAttributeProvidersMap attributeProvidersMap) {
- this.attributeProvidersMap = attributeProvidersMap;
- }
-
- /**
- * Getter for attributeProvidersMap.
- *
- * @return attributeProvidersMap
- */
- public IAttributeProvidersMap getAttributeProvidersMap() {
- return attributeProvidersMap;
- }
-
- /**
- * Returns the Personal Attribute list of the provided Attribute Source.
- *
- * @param source The attributeSource in reference
- *
- * @return The IPersonalAttributeList assosiated with this source or null if empty
- *
- * @see IPersonalAttributeList
- */
- public IPersonalAttributeList getProviderAttributes(AttributeSource source) {
- if ( attributeProvidersMap.containsKey(source) )
- return attributeProvidersMap.get(source);
- else
- return null;
- }
-
- /**
- * Returns the merged Personal Attribute list from all the Attribute Sources.
- *
- * @return The IPersonalAttributeList merged Personal Attribute list or null if empty
- *
- * @see IPersonalAttributeList
- */
- public IPersonalAttributeList getAllAttributes() {
- Iterator<AttributeSource> iterator;
- AttributeSource source;
- IPersonalAttributeList list, merged;
-
- merged = null;
-
- if ( attributeProvidersMap !=null && !attributeProvidersMap.isEmpty() ) {
- iterator = attributeProvidersMap.keyIterator();
-
- merged = new PersonalAttributeList();
- while (iterator.hasNext()) {
- source = iterator.next();
- list = this.getProviderAttributes(source);
-
- for (final PersonalAttribute pa : list) {
- merged.add(pa);
- }
- }
- }
-
- return merged;
- }
-
- /**
- * Returns a List with all the assertions gathered by the AAS-PEPS module
- * returned both by local APs or remote A-PEPS.
- *
- * @return The assertions returned from the APs and A-PEPS
- */
- public List<STORKAttrQueryResponse> getAttrQueryResponseList() {
- List<STORKAttrQueryResponse> originalAssertions;
-
- originalAssertions = new ArrayList<STORKAttrQueryResponse>();
-
- //Gather all assertions
- for (STORKAttrQueryResponse element : this.assertions.values()) {
- originalAssertions.add(element);
- }
-
- return originalAssertions;
- }
-
- /**
- * Checks the internal state of the Linker and if all Attribute Sources where visited
- * returns true, otherwise it returns false. So if you go directly from AtPLinkerAction
- * to MoreAttributesAction the call will have, since the method setProviderReponse
- * was not executed from every Attribute Source.
- *
- * @return true if everything is OK, false otherwise
- */
- public boolean isComplete() {
- boolean outcome = false;
-
- LOG.debug("Check if linkder is complete: R[" + remoteIndex + "], L[" + localIndex + "], S[" + attributeProvidersMap.size() + "]");
- if ( attributeProvidersMap !=null && !attributeProvidersMap.isEmpty() ) {
- if ( (remoteIndex + localIndex)==attributeProvidersMap.size() )
- outcome = true;
- }
- else {
- outcome = true;
- }
-
- return outcome;
- }
-
- /**
- * Merge the two Linker objects.
- *
- * @param previous The other Linker object to merge with this one.
- */
- public void mergeWith(Linker previous) {
- //BEFORE
- if ( LOG.isDebugEnabled() ) {
- LOG.debug("The attributeProvidersMap from the current object.");
- ((AttributeProvidersMap)this.attributeProvidersMap).trace();
- LOG.debug("The attributeProvidersMap from the provided object.");
- ((AttributeProvidersMap)previous.getAttributeProvidersMap()).trace();
- }
-
- IAttributeProvidersMap map = previous.getAttributeProvidersMap();
- Iterator<AttributeSource> items = map.keyIterator();
- while( items.hasNext() ) {
- AttributeSource item = items.next();
- IPersonalAttributeList pal = map.get(item);
-
- if ( this.attributeProvidersMap.containsKey(item) ) {
- IPersonalAttributeList new_pal = this.attributeProvidersMap.get(item);
-
- for(PersonalAttribute pa : pal)
- new_pal.add(pa);
- }
- else {
- if ( item.getSourceType()==AttributeSource.SOURCE_REMOTE_COUNTRY )
- remoteIndex++;
- else
- localIndex++;
-
- this.attributeProvidersMap.put(item, pal);
- }
- }
-
- //AFTER
- if ( LOG.isDebugEnabled() ) {
- LOG.debug("The attributeProvidersMap after the merge.");
- ((AttributeProvidersMap)this.attributeProvidersMap).trace();
- }
- }
-} \ No newline at end of file
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSErrors.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSErrors.java.svn-base
deleted file mode 100644
index 5da9ba494..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSErrors.java.svn-base
+++ /dev/null
@@ -1,392 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * This enum class contains all the STORK PEPS, Commons and Specific errors
- * constant identifiers.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.10 $, $Date: 2011-02-17 22:44:34 $
- */
-public enum PEPSErrors {
-
- /**
- * Represents the 'authenticationFailed' constant error identifier.
- */
- AUTHENTICATION_FAILED_ERROR("authenticationFailed"),
- /**
- * Represents the 'spCountrySelector.errorCreatingSAML' constant error
- * identifier.
- */
- SP_COUNTRY_SELECTOR_ERROR_CREATE_SAML("spCountrySelector.errorCreatingSAML"),
- /**
- * Represents the 'spCountrySelector.destNull' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_DESTNULL("spCountrySelector.destNull"),
- /**
- * Represents the 'spCountrySelector.invalidAttr' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_ATTR("spCountrySelector.invalidAttr"),
- /**
- * Represents the 'spCountrySelector.invalidProviderName' constant error
- * identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_PROVIDER_NAME(
- "spCountrySelector.invalidProviderName"),
- /**
- * Represents the 'spCountrySelector.invalidQaaSPid' constant error
- * identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_QAASPID("spCountrySelector.invalidQaaSPid"),
- /**
- * Represents the 'spCountrySelector.invalidSpId' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_SPID("spCountrySelector.invalidSpId"),
- /**
- * Represents the 'spCountrySelector.invalidSPQAA' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_SPQAA("spCountrySelector.invalidSPQAA"),
- /**
- * Represents the 'spCountrySelector.invalidSpURL' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_SPURL("spCountrySelector.invalidSpURL"),
- /**
- * Represents the 'spCountrySelector.spNotAllowed' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_SPNOTALLOWED("spCountrySelector.spNotAllowed"),
-
- /**
- * Represents the 'sProviderAction.errorCreatingSAML' constant error
- * identifier.
- */
- SPROVIDER_SELECTOR_ERROR_CREATE_SAML("sProviderAction.errorCreatingSAML"),
- /**
- * Represents the 'sProviderAction.attr' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_ATTR("sProviderAction.invalidAttr"),
- /**
- * Represents the 'sProviderAction.country' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_COUNTRY("sProviderAction.invalidCountry"),
- /**
- * Represents the 'sProviderAction.relayState' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_RELAY_STATE("sProviderAction.invalidRelayState"),
- /**
- * Represents the 'sProviderAction.saml' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SAML("sProviderAction.invalidSaml"),
- /**
- * Represents the 'sProviderAction.spAlias' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPALIAS("sProviderAction.invalidSPAlias"),
- /**
- * Represents the 'sProviderAction.spDomain' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPDOMAIN("sProviderAction.invalidSPDomain"),
- /**
- * Represents the 'sProviderAction.spId' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPID("sProviderAction.invalidSPId"),
- /**
- * Represents the 'sProviderAction.spQAA' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPQAA("sProviderAction.invalidSPQAA"),
- /**
- * Represents the 'sProviderAction.spQAAId' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPQAAID("sProviderAction.invalidSPQAAId"),
- /**
- * Represents the 'sProviderAction.spRedirect' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPREDIRECT("sProviderAction.invalidSPRedirect"),
- /**
- * Represents the 'sPPowerValidationAction.invalidSPPVAttrList' constant error identifier.
- */
- SPPOWERVALIDATION_SELECTOR_INVALID_SP_PV_ATTR_LIST("sPPowerValidationAction.invalidSPPVAttrList"),
-
- /**
- * Represents the 'sProviderAction.invalidSPProviderName' constant error
- * identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SP_PROVIDERNAME(
- "sProviderAction.invalidSPProviderName"),
- /**
- * Represents the 'sProviderAction.spNotAllowed' constant error identifier.
- */
- SPROVIDER_SELECTOR_SPNOTALLOWED("sProviderAction.spNotAllowed"),
-
-
- /**
- * Represents the 'internalError' constant error identifier.
- */
- INTERNAL_ERROR("internalError"),
-
- /**
- * Represents the 'colleagueRequest.attrNull' constant error identifier.
- */
- COLLEAGUE_REQ_ATTR_NULL("colleagueRequest.attrNull"),
- /**
- * Represents the 'colleagueRequest.errorCreatingSAML' constant error
- * identifier.
- */
- COLLEAGUE_REQ_ERROR_CREATE_SAML("colleagueRequest.errorCreatingSAML"),
- /**
- * Represents the 'colleagueRequest.invalidCountryCode' constant error
- * identifier.
- */
- COLLEAGUE_REQ_INVALID_COUNTRYCODE("colleagueRequest.invalidCountryCode"),
- /**
- * Represents the 'colleagueRequest.invalidDestUrl' constant error identifier.
- */
- COLLEAGUE_REQ_INVALID_DEST_URL("colleagueRequest.invalidDestUrl"),
- /**
- * Represents the 'colleagueRequest.invalidQaa' constant error identifier.
- */
- COLLEAGUE_REQ_INVALID_QAA("colleagueRequest.invalidQaa"),
- /**
- * Represents the 'colleagueRequest.invalidRedirect' constant error
- * identifier.
- */
- COLLEAGUE_REQ_INVALID_REDIRECT("colleagueRequest.invalidRedirect"),
- /**
- * Represents the 'colleagueRequest.invalidSAML' constant error identifier.
- */
- COLLEAGUE_REQ_INVALID_SAML("colleagueRequest.invalidSAML"),
-
- /**
- * Represents the 'colleaguePVRequest.invalidPVAttrList' constant error identifier.
- */
- COLLEAGUE_PV_REQ_INVALID_PV_ATTR_LIST("colleaguePVRequest.invalidPVAttrList"),
-
-
- /**
- * Represents the 'cpepsRedirectUrl' constant error identifier.
- */
- CPEPS_REDIRECT_URL("cpepsRedirectUrl"),
- /**
- * Represents the 'spepsRedirectUrl' constant error identifier.
- */
- SPEPS_REDIRECT_URL("spepsRedirectUrl"),
- /**
- * Represents the 'sProviderAction.invCountry' constant error identifier.
- */
- SP_ACTION_INV_COUNTRY("sProviderAction.invCountry"),
-
- /**
- * Represents the 'providernameAlias.invalid' constant error identifier.
- */
- PROVIDER_ALIAS_INVALID("providernameAlias.invalid"),
-
-
- /**
- * Represents the 'cPeps.attrNull' constant error identifier.
- */
- CPEPS_ATTR_NULL("cPeps.attrNull"),
-
- /**
- * Represents the 'colleagueResponse.invalidSAML' constant error identifier.
- */
- COLLEAGUE_RESP_INVALID_SAML("colleagueResponse.invalidSAML"),
-
- /**
- * Represents the 'citizenNoConsent.mandatory' constant error identifier.
- */
- CITIZEN_NO_CONSENT_MANDATORY("citizenNoConsent.mandatory"),
- /**
- * Represents the 'citizenResponse.mandatory' constant error identifier.
- */
- CITIZEN_RESPONSE_MANDATORY("citizenResponse.mandatory"),
- /**
- * Represents the 'attVerification.mandatory' constant error identifier.
- */
- ATT_VERIFICATION_MANDATORY("attVerification.mandatory"),
- /**
- * Represents the 'attrValue.verification' constant error identifier.
- */
- ATTR_VALUE_VERIFICATION("attrValue.verification"),
-
- /**
- * Represents the 'audienceRestrictionError' constant error identifier.
- */
- AUDIENCE_RESTRICTION("audienceRestrictionError"),
- /**
- * Represents the 'auRequestIdError' constant error identifier.
- */
- AU_REQUEST_ID("auRequestIdError"),
- /**
- * Represents the 'domain' constant error identifier.
- */
- DOMAIN("domain"),
- /**
- * Represents the 'hash.error' constant error identifier.
- */
- HASH_ERROR("hash.error"),
- /**
- * Represents the 'invalidAttributeList' constant error identifier.
- */
- INVALID_ATTRIBUTE_LIST("invalidAttributeList"),
- /**
- * Represents the 'invalidAttributeValue' constant error identifier.
- */
- INVALID_ATTRIBUTE_VALUE("invalidAttributeValue"),
- /**
- * Represents the 'qaaLevel' constant error identifier.
- */
- QAALEVEL("qaaLevel"),
- /**
- * Represents the 'requests' constant error identifier.
- */
- REQUESTS("requests"),
- /**
- * Represents the 'SPSAMLRequest' constant error identifier.
- */
- SP_SAML_REQUEST("SPSAMLRequest"),
- /**
- * Represents the 'spepsSAMLRequest' constant error identifier.
- */
- SPEPS_SAML_REQUEST("spepsSAMLRequest"),
- /**
- * Represents the 'IdPSAMLResponse' constant error identifier.
- */
- IDP_SAML_RESPONSE("IdPSAMLResponse"),
- /**
- * Represents the 'cpepsSAMLResponse' constant error identifier.
- */
- CPEPS_SAML_RESPONSE("cpepsSAMLResponse"),
- /**
- * Represents the 'cpepsSAMLResponse' constant error identifier.
- */
- SPEPS_SAML_RESPONSE("spepsSAMLResponse"),
- /**
- * Represents the 'session' constant error identifier.
- */
- SESSION("session"),
- /**
- * Represents the 'invalid.session' constant error identifier.
- */
- INVALID_SESSION("invalid.session"),
- /**
- * Represents the 'invalid.sessionId' constant error identifier.
- */
- INVALID_SESSION_ID("invalid.sessionId"),
- /**
- * Represents the 'missing.sessionId' constant error identifier.
- */
- MISSING_SESSION_ID("sessionError"),
- /**
- * Represents the 'missing.mandate' constant error identifier.
- */
- MISSING_MANDATE("missing.mandate"),
- /**
- * Represents the 'AtPSAMLResponse' constant error identifier.
- */
- ATP_SAML_RESPONSE("AtPSAMLResponse"),
-
- /**
- * Represents the 'AtPSAMLResponse' constant error identifier.
- */
- ATP_RESPONSE_ERROR("atp.response.error"),
-
- /**
- * Represents the 'apepsSAMLRequest' constant error identifier.
- */
- APEPS_SAML_REQUEST("apepsSAMLRequest"),
-
- /**
- * Represents the 'apepsSAMLResponse' constant error identifier.
- */
- APEPS_SAML_RESPONSE("apepsSAMLResponse"),
-
- /**
- * Represents the 'invalid.apepsRedirectUrl' constant error identifier.
- */
- INVALID_APEPS_REDIRECT_URL("invalid.apepsRedirectUrl"),
-
- /**
- * Represents the 'invalid.apepsCallbackUrl' constant error identifier.
- */
- INVALID_APEPS_CALLBACK_URL("invalid.apepsCallbackUrl"),
-
- /**
- * Represents the 'colleagueAttributeRequest.invalidSAML' constant error identifier.
- */
- COLLEAGUE_ATTR_REQ_INVALID_SAML("colleagueAttributeRequest.invalidSAML");
-
- /**
- * Represents the constant's value.
- */
- private String error;
-
- /**
- * Solo Constructor.
- *
- * @param nError The Constant error value.
- */
- PEPSErrors(final String nError) {
- this.error = nError;
- }
-
- /**
- * Construct the errorCode Constant value.
- *
- * @return The errorCode Constant.
- */
- public String errorCode() {
- return error + ".code";
- }
-
- /**
- * Construct the errorCode Constant value with the given code text.
- *
- * @param text the code text to append to the constant.
- *
- * @return The errorCode Constant for the given code text.
- */
- public String errorCode(final String text) {
- return error + "." + text + ".code";
- }
-
- /**
- * Construct the errorMessage constant value.
- *
- * @return The errorMessage constant.
- */
- public String errorMessage() {
- return error + ".message";
- }
-
- /**
- * Construct the errorMessage Constant value with the given message text.
- *
- * @param text the message text to append to the constant.
- *
- * @return The errorMessage Constant for the given text.
- */
- public String errorMessage(final String text) {
- return error + "." + text + ".message";
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
- return error;
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSParameters.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSParameters.java.svn-base
deleted file mode 100644
index 146e4c39d..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSParameters.java.svn-base
+++ /dev/null
@@ -1,619 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * This enum class contains all the STORK PEPS, Commons and Specific Parameters.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.13 $, $Date: 2011-07-07 20:48:45 $
- */
-public enum PEPSParameters {
-
- /**
- * Represents the 'apId' parameter constant.
- */
- AP_ID("apId"),
- /**
- * Represents the 'apUrl' parameter constant.
- */
- AP_URL("apUrl"),
- /**
- * Represents the 'ap.number' parameter constant.
- */
- AP_NUMBER("ap.number"),
-
- /**
- * Represents the 'assertionConsumerServiceURL' parameter constant.
- */
- ASSERTION_CONSUMER_S_URL("assertionConsumerServiceURL"),
-
- /**
- * Represents the 'auth' parameter constant.
- */
- AUTHENTICATION("auth"),
-
- /**
- * Represents the 'auth-on-behalf-of' parameter constant.
- */
- AUTHENTICATION_ON_BEHALF_OF("auth-on-behalf-of"),
-
- /**
- * Represents the 'attr' parameter constant.
- */
- ATTRIBUTE("attr"),
- /**
- * Represents the 'attrName' parameter constant.
- */
- ATTRIBUTE_NAME("attrName"),
- /**
- * Represents the 'attrStatus' parameter constant.
- */
- ATTRIBUTE_STATUS("attrStatus"),
- /**
- * Represents the 'attrType' parameter constant.
- */
- ATTRIBUTE_TYPE("attrType"),
- /**
- * Represents the 'attrValue' parameter constant.
- */
- ATTRIBUTE_VALUE("attrValue"),
- /**
- * Represents the 'attrList' parameter constant.
- */
- ATTRIBUTE_LIST("attrList"),
- /**
- * Represents the 'apMandAttrList' parameter constant.
- */
- AP_MANDATORY_ATTRIBUTE_LIST("apMandAttrList"),
- /**
- * Represents the 'attrTuple' parameter constant.
- */
- ATTRIBUTE_TUPLE("attrTuple"),
- /**
- * Represents the 'attribute-missing' parameter constant.
- */
- ATTRIBUTE_MISSING("attribute-missing"),
- /**
- * Represents the 'attributesNotAllowed' parameter constant.
- */
- ATTRIBUTES_NOT_ALLOWED("attributesNotAllowed"),
- /**
- * Represents the 'authnRequest' parameter constant.
- */
- AUTH_REQUEST("authnRequest"),
-
- /**
- * Represents the 'attrValue.number' parameter constant.
- */
- ATTR_VALUE_NUMBER("attrValue.number"),
-
- /**
- * Represents the 'derivation.date.format' parameter constant.
- */
- DERIVATION_DATE_FORMAT("derivation.date.format"),
- /**
- * Represents the 'deriveAttr.number' parameter constant.
- */
- DERIVE_ATTRIBUTE_NUMBER("deriveAttr.number"),
-
- /**
- * Represents the complex attributes parameter constant.
- */
- COMPLEX_ADDRESS_VALUE("canonicalResidenceAddress"),
- COMPLEX_NEWATTRIBUTE_VALUE("newAttribute2"),
- COMPLEX_HASDEGREE_VALUE("hasDegree"),
- COMPLEX_MANDATECONTENT_VALUE("mandateContent"),
- /**
- * Represents the 'consent-type' parameter constant.
- */
- CONSENT_TYPE("consent-type"),
- /**
- * Represents the 'consent-value' parameter constant.
- */
- CONSENT_VALUE("consent-value"),
- /**
- * Represents the 'country' parameter constant.
- */
- COUNTRY("country"),
- /**
- * Represents the 'countryOrigin' parameter constant.
- */
- COUNTRY_ORIGIN("countryOrigin"),
-
- /**
- * Represents the 'cpepsURL' parameter constant.
- */
- CPEPS_URL("cpepsURL"),
- /**
- * Represents the 'callback' parameter constant.
- */
- CPEPS_CALLBACK("callback"),
- /**
- * Represents the 'peps.specificidpredirect.url' parameter constant.
- */
- CPEPS_IDP_CALLBACK_VALUE("peps.specificidpredirect.url"),
- /**
- * Represents the 'peps.specificapredirect.url' parameter constant.
- */
- CPEPS_AP_CALLBACK_VALUE("peps.specificapredirect.url"),
-
- /**
- * Represents the 'errorCode' parameter constant.
- */
- ERROR_CODE("errorCode"),
- /**
- * Represents the 'subCode' parameter constant.
- */
- ERROR_SUBCODE("subCode"),
- /**
- * Represents the 'errorMessage' parameter constant.
- */
- ERROR_MESSAGE("errorMessage"),
- /**
- * Represents the 'errorRedirectUrl' parameter constant.
- */
- ERROR_REDIRECT_URL("errorRedirectUrl"),
-
- /**
- * errorRedirectUrl Represents the 'external-authentication' parameter
- * constant.
- */
- EXTERNAL_AUTH("external-authentication"),
- /**
- * Represents the 'external-ap' parameter constant.
- */
- EXTERNAL_AP("external-ap"),
- /**
- * Represents the 'external-pv' parameter constant.
- */
- EXTERNAL_PV("external-pv"),
- /**
- * Represents the 'external-sig-module' parameter constant.
- */
- EXT_SIG_CREATOR_MOD("external-sig-module"),
-
- /**
- * Represents the 'http-x-forwarded-for' parameter constant.
- */
- HTTP_X_FORWARDED_FOR("http-x-forwarded-for"),
-
- /**
- * Represents the 'idp.url' parameter constant.
- */
- IDP_URL("idp.url"),
- /**
- * Represents the 'idpAUB.url' parameter constant.
- */
- IDPAUB_URL("idpAUB.url"),
- /**
- * Represents the 'internal-authentication' parameter constant.
- */
- INTERNAL_AUTH("internal-authentication"),
- /**
- * Represents the 'internal-ap' parameter constant.
- */
- INTERNAL_AP("internal-ap"),
- /**
- * Represents the 'internal-pv' parameter constant.
- */
- INTERNAL_PV("internal-pv"),
-
- /**
- * Represents the 'samlIssuer' parameter constant.
- */
- ISSUER("samlIssuer"),
- /**
- * Represents the 'samlIssuer.idp' parameter constant.
- */
- ISSUER_IDP("samlIssuer.idp"),
- /**
- * Represents the 'samlIssuer.atp' parameter constant.
- */
- ISSUER_ATP("samlIssuer.atp"),
-
- /**
- * Represents the 'mandatory' parameter constant.
- */
- MANDATORY("mandatory"),
- /**
- * Represents the 'mandatoryAttributeMissing' parameter constant.
- */
- MANDATORY_ATTR_MISSING("mandatoryAttributeMissing"),
- /**
- * Represents the 'mandatoryConsentAttrMissing' parameter constant.
- */
- MANDATORY_CONSENT_MISSING("mandatoryConsentAttrMissing"),
- /**
- * Represents the 'missing-attrs' parameter constant.
- */
- MISSING_ATTRS("missing-attrs"),
- /**
- * Represents the 'no-more-attrs' parameter constant.
- */
- NO_MORE_ATTRS("no-more-attrs"),
-
- /**
- * Represents the 'optional' parameter constant.
- */
- OPTIONAL("optional"),
-
- /**
- * Represents the 'no-consent-type' parameter constant.
- */
- NO_CONSENT_TYPE("no-consent-type"),
- /**
- * Represents the 'no-consent-value' parameter constant.
- */
- NO_CONSENT_VALUE("no-consent-value"),
-
- /**
- * Represents the 'provider.name' parameter constant.
- */
- PROVIDER_NAME_VALUE("providerName"),
- /**
- * Represents the 'cpeps.askconsent' parameter constant.
- */
- PEPS_ASK_CONSENT("cpeps.askconsent"),
- /**
- * Represents the 'cpeps.askconsentvalue' parameter constant.
- */
- PEPS_ASK_CONSENT_VALUE("cpeps.askconsentvalue"),
- /**
- * Represents the 'pepsAuth' parameter constant.
- */
- PEPS_AUTH_CONSENT("pepsAuth"),
- /**
- * Represents the 'validation.bypass' parameter constant.
- */
- PEPS_BYPASS("validation.bypass"),
- /**
- * Represents the 'cpeps.number' parameter constant.
- */
- PEPS_NUMBER("cpeps.number"),
- /**
- * Represents the 'cpeps.specificapredirect.url' parameter constant.
- */
- PEPS_SPECIFIC_URL("cpeps.specificapredirect.url"),
- /**
- * Represents the 'pv.url' parameter constant.
- */
- PV_URL("pv.url"),
-
- /**
- * Represents the 'qaaLevel' parameter constant.
- */
- QAALEVEL("qaaLevel"),
-
- /**
- * Represents the 'speps.redirectUrl' parameter constant.
- */
- SPEPS_REDIRECT_URL("speps.redirectUrl"),
-
- /**
- * Represents the 'sp.redirectUrl' parameter constant.
- */
- SP_REDIRECT_URL("sp.redirectUrl"),
- /**
- * Represents the 'cpeps.redirectUrl' parameter constant.
- */
- CPEPS_REDIRECT_URL("cpeps.redirectUrl"),
- /**
- * Represents the 'RelayState' parameter constant.
- */
- RELAY_STATE("RelayState"),
- /**
- * Represents the 'remoteAddr' parameter constant.
- */
- REMOTE_ADDR("remoteAddr"),
- /**
- * Represents the 'remoteUser' parameter constant.
- */
- REMOTE_USER("remoteUser"),
-
- /**
- * Represents the 'SAMLRequest' parameter constant.
- */
- SAML_REQUEST("SAMLRequest"),
- /**
- * Represents the 'SAMLResponse' parameter constant.
- */
- SAML_RESPONSE("SAMLResponse"),
- /**
- * Represents the 'SAMLFail' parameter constant.
- */
- SAML_TOKEN_FAIL("SAMLFail"),
- /**
- * Represents the 'TokenId' parameter constant.
- */
- SAML_TOKEN_ID("TokenId"),
- /**
- * Represents the 'inResponseTo' parameter constant.
- */
- SAML_IN_RESPONSE_TO("inResponseTo"),
- /**
- * Represents the 'inResponseTo.idp' parameter constant.
- */
- SAML_IN_RESPONSE_TO_IDP("inResponseTo.idp"),
- /**
- * Represents the 'inResponseTo.atp' parameter constant.
- */
- SAML_IN_RESPONSE_TO_ATP("inResponseTo.atp"),
- /**
- * Represents the 'SignatureResponse' parameter constant.
- */
- SIGNATURE_RESPONSE("SignatureResponse"),
-
- /**
- * Represents the 'cPepsSession' parameter constant.
- */
- SESSION_ID_URL("cPepsSession"),
- /**
- * Represents the 'spId' parameter constant.
- */
- SP_ID("spId"),
- /**
- * Represents the 'spQaaLevel' parameter constant.
- */
- SP_QAALEVEL("spQaaLevel"),
- /**
- * Represents the 'spUrl' parameter constant.
- */
- SP_URL("spUrl"),
-
- /**
- * Represents the 'allow.derivation.all' parameter constant.
- */
- SPECIFIC_ALLOW_DERIVATION_ALL("allow.derivation.all"),
- /**
- * Represents the ''allow.unknowns parameter constant.
- */
- SPECIFIC_ALLOW_UNKNOWNS("allow.unknowns"),
- /**
- * Represents the 'derivation.date.separator' parameter constant.
- */
- SPECIFIC_DERIVATION_DATE_SEP("derivation.date.separator"),
- /**
- * Represents the 'derivation.month.position' parameter constant.
- */
- SPECIFIC_DERIVATION_MONTH_POS("derivation.month.position"),
- /**
- * Represents the 'derivation.day.position' parameter constant.
- */
- SPECIFIC_DERIVATION_DAY_POS("derivation.day.position"),
- /**
- * Represents the 'derivation.year.position' parameter constant.
- */
- SPECIFIC_DERIVATION_YEAR_POS("derivation.year.position"),
-
- /**
- * sp.authorized.parameters Represents the '' parameter constant.
- */
- SPEPS_AUTHORIZED("sp.authorized.parameters"),
-
- /**
- * Represents the 'spSector' constant value.
- */
- SPSECTOR("spSector"),
- /**
- * Represents the 'spApplication' constant value.
- */
- SPAPPLICATION("spApplication"),
- /**
- * Represents the 'spCountry' constant value.
- */
- SPCOUNTRY("spCountry"),
- /**
- * Represents the 'spInstitution' constant value.
- */
- SPINSTITUTION("spInstitution"),
- /**
- * Represents the 'storkAttribute.number' parameter constant.
- */
- STORK_ATTRIBUTE_NUMBER("storkAttribute.number"),
- /**
- * Represents the 'storkAttributeValue.number' parameter constant.
- */
- STORK_ATTRIBUTE_VALUE_NUMBER("storkAttributeValue.number"),
-
- /**
- * Represents the 'username' parameter constant.
- */
- USERNAME("username"),
-
- /**
- * Represents the 'tooManyParameters' parameter constant.
- */
- TOO_MANY_PARAMETERS("tooManyParameters"),
- /**
- * Represents the 'validation.active' parameter constant.
- */
- VALIDATION_ACTIVE("validation.active"),
-
- /**
- * Represents the 'x-forwarded-for' parameter constant.
- */
- X_FORWARDED_FOR("x-forwarded-for"),
- /**
- * Represents the 'x-forwarded-host' parameter constant.
- */
- X_FORWARDED_HOST("x-forwarded-host"),
- /**
- * Represents the 'XMLResponse' parameter constant.
- */
- XML_RESPONSE("XMLResponse"),
-
- /**
- * Represents the 'ap-cpeps.number' parameter constant.
- */
- AP_PEPS_NUMBER("ap-cpeps.number"),
-
- /**
- * Represents the 'atp.number' parameter constant.
- */
- ATTRIBUTE_PROVIDER_NUMBER("atp.number"),
-
- /**
- * Represents the 'atn.number' parameter constant.
- */
- ATTRIBUTE_NAME_NUMBER("atn.number"),
-
- /**
- * Represents the 'apLinker' parameter constant.
- */
- AP_LINKER("apLinker"),
-
- /**
- * Represents the 'prevApLinker' parameter constant.
- */
- PREV_AP_LINKER("prevApLinker"),
-
- /**
- * Represents the 'NOSEL' parameter constant (no attribute provider selected).
- */
- AP_NO_SELECTION("NOSEL"),
-
- /**
- * Represents the 'OCSEL' parameter constant (attribute provider in another country).
- */
- AP_OTHER_COUNTRY("OCSEL"),
-
- /**
- * Represents the '_provider' suffix parameter constant.
- */
- AP_PROVIDER_SELECT_SUFFIX("_provider"),
-
- /**
- * Represents the '_country' suffix parameter constant.
- */
- AP_COUNTRY_SELECT_SUFFIX("_country"),
-
- /**
- * Represents the '_name' suffix parameter constant.
- */
- AP_NAME_SELECT_SUFFIX("_name"),
-
- /**
- * Represents the 'next-ap' parameter constant.
- */
- NEXT_AP("next-ap"),
-
- /**
- * Represents the 'next-apeps' parameter constant.
- */
- NEXT_APEPS("next-apeps"),
-
- /**
- * Represents the 'back-to-apeps' parameter constant.
- */
- BACK_TO_APEPS("back-to-apeps"),
-
- /**
- * Represents the 'is-remote-apeps' parameter constant.
- */
- IS_REMOTE_APEPS("is-remote-apeps"),
-
- /**
- * Represents the 'more-attributes' parameter constant.
- */
- MORE_ATTRIBUTES("more-attributes"),
-
- /**
- * Represents the 'attr-filter.number' parameter constant.
- */
- ATTRIBUTES_FILTER_NUMBER("attr-filter.number"),
-
- /**
- * Represents the 'atp.url' parameter constant.
- */
- ATP_URL("atp.url"),
- /**
- * Represents the 'apepsURL' parameter constant.
- */
- APEPS_URL("apepsUrl"),
-
- /**
- * Represents the 'apepsCountry' parameter constant.
- */
- APEPS_COUNTRY("apepsCountry"),
-
- /**
- * Represents the 'apepsAuthRequest' parameter constant.
- */
- APEPS_ATTR_REQUEST("apepsAttrRequest"),
-
- /**
- * Represents the 'isApepsRequest' parameter constant.
- */
- APEPS_REQUEST_COMPLETE("apeps-request-complete"),
-
- /**
- * Represents the 'apeps.callbackUrl' parameter constant.
- */
- APEPS_CALLBACK_URL("apeps.callbackUrl"),
- /**
- * Represents the 'attrListMand' parameter constant.
- */
- ATTR_LIST_MAND("attrListMand"),
-
- /**
- * Represents the 'attrListOpt' parameter constant.
- */
- ATTR_LIST_OPT("attrListOpt"),
-
- /**
- * Represents the 'simpleAttrListMand' parameter constant.
- */
- SIMPLE_ATTR_LIST_MAND("simpleAttrListMand"),
-
- /**
- * Represents the 'simpleAttrListOpt' parameter constant.
- */
- SIMPLE_ATTR_LIST_OPT("simpleAttrListOpt"),
-
- /**
- * Represents the 'complexAttrListMand' parameter constant.
- */
- COMPLEX_ATTR_LIST_MAND("complexAttrListMand"),
-
- /**
- * Represents the 'complexAttrListOpt' parameter constant.
- */
- COMPLEX_ATTR_LIST_OPT("complexAttrListOpt");
-
- /**
- * Represents the constant's value.
- */
- private String value;
-
- /**
- * Solo Constructor.
- *
- * @param nValue The Constant value.
- */
- PEPSParameters(final String nValue) {
- this.value = nValue;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
- return value;
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSUtil.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSUtil.java.svn-base
deleted file mode 100644
index a16b03edb..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSUtil.java.svn-base
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.io.UnsupportedEncodingException;
-import java.util.Properties;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
-import org.bouncycastle.crypto.Digest;
-import org.bouncycastle.util.encoders.Base64;
-
-import eu.stork.peps.auth.commons.exceptions.InternalErrorPEPSException;
-import eu.stork.peps.auth.commons.exceptions.InvalidParameterPEPSException;
-
-/**
- * This class holds static helper methods.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.75 $, $Date: 2010-11-23 00:05:35 $
- */
-public final class PEPSUtil {
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(PEPSUtil.class.getName());
-
- /**
- * Configurations object.
- */
- private static Properties configs;
-
- /**
- * Max prefix.
- */
- private static final String MAX_PARAM_PREFIX = "max.";
-
- /**
- * Code prefix to get error code.
- */
- private static final String CODE_PARAM_SUFFIX = ".code";
-
- /**
- * param's size prefix to get max param size.
- */
- private static final String MAX_PARAM_SUFFIX = ".size";
-
- /**
- * Message prefix to get error message.
- */
- private static final String MSG_PARAM_SUFFIX = ".message";
-
- /**
- * Private constructor. Prevents the class from being instantiated.
- */
- private PEPSUtil() {
- // empty constructor
- }
-
- /**
- * Creates a single instance of this class and sets the properties.
- *
- * @param nConfigs The set of available configurations.
- *
- * @return The created PEPSUtil's class.
- */
- public static PEPSUtil createInstance(final Properties nConfigs) {
- if (nConfigs != null) {
- PEPSUtil.configs = nConfigs;
- }
- return new PEPSUtil();
- }
-
- /**
- * Getter for the Properties.
- *
- * @return configs The properties value.
- */
- public Properties getConfigs() {
- return configs;
- }
-
- /**
- * Setter for the Properties.
- *
- * @param nConfigs The new properties value.
- */
- public static void setConfigs(final Properties nConfigs) {
- if (nConfigs != null) {
- PEPSUtil.configs = nConfigs;
- }
- }
-
- /**
- * Returns the identifier of some configuration given a set of configurations
- * and the corresponding configuration key.
- *
- * @param configKey The key that IDs some configuration.
- *
- * @return The configuration String value.
- */
- public static String getConfig(final String configKey) {
- return configs.getProperty(configKey);
- }
-
- /**
- * Validates the input paramValue identified by the paramName.
- *
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- *
- * @return true if the parameter is valid.
- */
- public static boolean isValidParameter(final String paramName,
- final String paramValue) {
-
- final String validationParam =
- PEPSUtil.getConfig(PEPSParameters.VALIDATION_ACTIVE.toString());
- boolean retVal = true;
-
- final String paramConf = MAX_PARAM_PREFIX + paramName + MAX_PARAM_SUFFIX;
-
- if (PEPSValues.TRUE.toString().equals(validationParam)) {
- final String paramSizeStr = PEPSUtil.getConfig(paramConf);
- // Checking if the parameter size exists and if it's numeric
- if (StringUtils.isNumeric(paramSizeStr)) {
- final int maxParamSize = Integer.valueOf(paramSizeStr);
- if (StringUtils.isEmpty(paramValue)
- || paramValue.length() > maxParamSize) {
- retVal = false;
- LOG.warn("Invalid parameter [" + paramName + "] value " + paramValue);
- }
- } else {
- retVal = false;
- LOG.error("Missing " + paramConf
- + " configuration in the pepsUtils.properties configuration file");
- }
- }
- return retVal;
- }
-
- /**
- * Validates the Parameter and throws an exception if an error occurs. Throws
- * an InvalidParameterPEPSException runtime exception if the parameter is
- * invalid.
- *
- * @param className The Class Name that invoked the method.
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- */
- public static void validateParameter(final String className,
- final String paramName, final Object paramValue) {
-
- if (paramValue == null) {
- PEPSUtil.validateParameter(className, paramName, "");
- } else {
- PEPSUtil.validateParameter(className, paramName, paramValue.toString());
- }
- }
-
- /**
- * Validates the Parameters and throws an exception if an error occurs.
- *
- * @param className The Class Name that invoked the method.
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- */
- public static void validateParameter(final String className,
- final String paramName, final String paramValue) {
-
- PEPSUtil.validateParameter(className, paramName, paramValue,
- PEPSUtil.getErrorCode(paramName), PEPSUtil.getErrorMessage(paramName));
- }
-
- /**
- * Validates the Parameters and throws an exception if an error occurs.
- *
- * @param className The Class Name that invoked the method.
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- * @param error The PEPSError to get error code and messages from configs.
- */
- public static void validateParameter(final String className,
- final String paramName, final String paramValue, final PEPSErrors error) {
-
- PEPSUtil.validateParameter(className, paramName, paramValue,
- PEPSUtil.getConfig(error.errorCode()),
- PEPSUtil.getConfig(error.errorMessage()));
- }
-
- /**
- * Validates the HTTP Parameter and throws an exception if an error occurs.
- * Throws an InvalidParameterPEPSException runtime exception if the parameter
- * is invalid.
- *
- * @param className The Class Name that invoked the method.
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- * @param errorCode The error code to include on the exception.
- * @param errorMessage The error message to include on the exception.
- */
- public static void validateParameter(final String className,
- final String paramName, final String paramValue, final String errorCode,
- final String errorMessage) {
-
- if (!isValidParameter(paramName, paramValue)) {
- LOG.warn("Invalid parameter [" + paramName + "] value found at "
- + className);
- throw new InvalidParameterPEPSException(errorCode, errorMessage);
- }
- }
-
- /**
- * Getter for the error code of some given error related to the input param.
- *
- * @param paramName The name of the parameter associated with the error.
- *
- * @return The code of the error.
- */
- private static String getErrorCode(final String paramName) {
- return getConfig(paramName + CODE_PARAM_SUFFIX);
- }
-
- /**
- * Getter for the error message of some given error related to the input
- * parameter.
- *
- * @param paramName The name of the parameter associated with the message.
- *
- * @return The message for the error.
- */
- private static String getErrorMessage(final String paramName) {
- return getConfig(paramName + MSG_PARAM_SUFFIX);
- }
-
- /**
- * {@link Base64} encodes the input samlToken parameter.
- *
- * @param samlToken the SAML Token to be encoded.
- *
- * @return The Base64 String representing the samlToken.
- *
- * @see Base64#encode
- */
- public static String encodeSAMLToken(final byte[] samlToken) {
- try {
- return new String(Base64.encode(samlToken), "UTF8");
- } catch (UnsupportedEncodingException e) {
- LOG.error(PEPSErrors.INTERNAL_ERROR.errorMessage(), e);
- return null;
- }
- }
-
- /**
- * Decodes the {@link Base64} String input parameter representing a samlToken.
- *
- * @param samlToken the SAML Token to be decoded.
- *
- * @return The samlToken decoded bytes.
- *
- * @see Base64#decode
- */
- public static byte[] decodeSAMLToken(final String samlToken) {
- return Base64.decode(samlToken);
- }
-
- /**
- * Hashes a SAML token. Throws an InternalErrorPEPSException runtime exception
- * if the Cryptographic Engine fails.
- *
- * @param samlToken the SAML Token to be hashed.
- *
- * @return byte[] with the hashed SAML Token.
- */
- public static byte[] hashPersonalToken(final byte[] samlToken) {
- try {
- final String className =
- PEPSUtil.getConfig(PEPSValues.HASH_DIGEST_CLASS.toString());
-
- final Digest digest =
- (Digest) Class.forName(className).getConstructor()
- .newInstance((Object[]) null);
- digest.update(samlToken, 0, samlToken.length);
-
- final int retLength = digest.getDigestSize();
- final byte[] ret = new byte[retLength];
-
- digest.doFinal(ret, 0);
- return ret;
-
- } catch (final Exception e) {
- // For all those exceptions that could be thrown, we always log it and
- // thrown an InternalErrorPEPSException.
- LOG.error(PEPSErrors.HASH_ERROR.errorMessage(), e);
- throw new InternalErrorPEPSException(
- PEPSUtil.getConfig(PEPSErrors.HASH_ERROR.errorCode()),
- PEPSUtil.getConfig(PEPSErrors.HASH_ERROR.errorMessage()), e);
- }
- }
-
- /**
- * Gets the Stork error code in the error message if exists!
- *
- * @param errorMessage The message to get the error code if exists;
- *
- * @return the error code if exists. Returns null otherwise.
- */
- public static String getStorkErrorCode(final String errorMessage) {
- if (StringUtils.isNotBlank(errorMessage)
- && errorMessage.indexOf(PEPSValues.ERROR_MESSAGE_SEP.toString()) >= 0) {
- final String[] msgSplitted =
- errorMessage.split(PEPSValues.ERROR_MESSAGE_SEP.toString());
- if (msgSplitted.length == 2 && StringUtils.isNumeric(msgSplitted[0])) {
- return msgSplitted[0];
- }
- }
- return null;
- }
-
- /**
- * Gets the Stork error message in the saml message if exists!
- *
- * @param errorMessage The message to get in the saml message if exists;
- *
- * @return the error message if exists. Returns the original message
- * otherwise.
- */
- public static String getStorkErrorMessage(final String errorMessage) {
- if (StringUtils.isNotBlank(errorMessage)
- && errorMessage.indexOf(PEPSValues.ERROR_MESSAGE_SEP.toString()) >= 0) {
- final String[] msgSplitted =
- errorMessage.split(PEPSValues.ERROR_MESSAGE_SEP.toString());
- if (msgSplitted.length == 2 && StringUtils.isNumeric(msgSplitted[0])) {
- return msgSplitted[1];
- }
- }
- return errorMessage;
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSValues.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSValues.java.svn-base
deleted file mode 100644
index e14c21cb5..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSValues.java.svn-base
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * This enum class contains all the value constants.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.17 $, $Date: 2011-07-07 20:48:45 $
- */
-public enum PEPSValues {
-
- /**
- * Represents the 'all' constant value.
- */
- ALL("all"),
- /**
- * Represents the 'none' constant value.
- */
- NONE("none"),
- /**
- * Represents the 'true' constant value.
- */
- TRUE("true"),
- /**
- * Represents the 'false' constant value.
- */
- FALSE("false"),
- /**
- * Represents the empty string constant value.
- */
- EMPTY_STRING(""),
-
- /**
- * Represents the ',' separator constant value.
- */
- ATTRIBUTE_VALUE_SEP(","),
- /**
- * Represents the ';' separator constant value.
- */
- ATTRIBUTE_SEP(";"),
- /**
- * Represents the ':' separator constant value.
- */
- ATTRIBUTE_TUPLE_SEP(":"),
- /**
- * Represents the '/' separator constant value.
- */
- EID_SEPARATOR("/"),
- /**
- * Represents the ' - ' separator constant value.
- */
- ERROR_MESSAGE_SEP(" - "),
- /**
- * Represents the '#' parameter constant value.
- */
- LOGGER_SEP("#"),
- /**
- * Represents the 'NOT_AVAILABLE' parameter constant value.
- */
- NOT_AVAILABLE("NotAvailable"),
- /**
- * Represents the ';' parameter constant value.
- */
- SPEPS_AUTHORIZED_SEP(";"),
-
- /**
- * Represents the 'ap' constant value.
- */
- AP("ap"),
- /**
- * Represents the 'C-PEPS' constant value.
- */
- CPEPS("C-PEPS"),
- /**
- * Represents the 'cpeps' constant value.
- */
- CPEPS_PREFIX("cpeps"),
- /**
- * Represents the 'peps' constant value.
- */
- PEPS("peps"),
- /**
- * Represents the '-PEPS' constant value.
- */
- PEPS_SUFFIX("-PEPS"),
- /**
- * Represents the 'SP' constant value.
- */
- SP("SP"),
- /**
- * Represents the 'S-PEPS' constant value.
- */
- SPEPS("S-PEPS"),
- /**
- * Represents the 'speps' constant value.
- */
- SPEPS_PREFIX("speps"),
- /**
- * Represents the 'sp.default.parameters' constant value.
- */
- DEFAULT("sp.default.parameters"),
- /**
- * Represents the default saml id constant value.
- */
- DEFAULT_SAML_ID("1"),
- /**
- * Represents the 'hashDigest.className' constant value.
- */
- HASH_DIGEST_CLASS("hashDigest.className"),
-
- /**
- * Represents the 'eu.stork.communication.requests' constant value.
- */
- STORK_PACKAGE_REQUEST_LOGGER_VALUE("eu.stork.communication.requests"),
- /**
- * Represents the 'eu.stork.communication.responses' constant value.
- */
- STORK_PACKAGE_RESPONSE_LOGGER_VALUE("eu.stork.communication.responses"),
-
- /**
- * Represents the 'S-PEPS receives request from SP' constant value.
- */
- SP_REQUEST("S-PEPS receives request from SP"),
- /**
- * Represents the 'Get Citizen Consent' constant value.
- */
- CITIZEN_CONSENT_LOG("Get Citizen Consent"),
- /**
- * Represents the 'C-PEPS receives request from S-PEPS' constant value.
- */
- CPEPS_REQUEST("C-PEPS receives request from S-PEPS"),
- /**
- * Represents the 'C-PEPS generates response to S-PEPS' constant value.
- */
- CPEPS_RESPONSE("C-PEPS generates response to S-PEPS"),
- /**
- * Represents the 'S-PEPS generates request to C-PEPS' constant value.
- */
- SPEPS_REQUEST("S-PEPS generates request to C-PEPS"),
- /**
- * Represents the 'S-PEPS receives response from C-PEPS' constant value.
- */
- SPEPS_RESPONSE("S-PEPS receives response from C-PEPS"),
- /**
- * Represents the 'S-PEPS generates response to SP' constant value.
- */
- SP_RESPONSE("S-PEPS generates response to SP"),
- /**
- * Represents the 'Success' constant value.
- */
- SUCCESS("Success"),
- /**
- * Represents the December's month number constant value.
- */
- LAST_MONTH("12"),
- /**
- * Represents the yyyyMM constant value.
- */
- NO_DAY_DATE_FORMAT("yyyyMM"),
-
- /**
- * Represents the 'attrValue' constant value.
- */
- ATTRIBUTE("attrValue"),
- /**
- * Represents the 'derivedAttr' constant value.
- */
- DERIVE_ATTRIBUTE("deriveAttr"),
- /**
- * Represents the 'storkAttribute' constant value.
- */
- STORK_ATTRIBUTE("storkAttribute"),
-
- /**
- * Represents the 'properties' constant value.
- */
- PROPERTIES("properties"),
- /**
- * Represents the 'referer' constant value.
- */
- REFERER("referer"),
- /**
- * Represents the 'host' constant value.
- */
- HOST("host"),
- /**
- * Represents the 'spid' constant value.
- */
- SPID("spid"),
- /**
- * Represents the 'domain' constant value.
- */
- DOMAIN("domain"),
- /**
- * Represents the '.validation' constant value.
- */
- VALIDATION_SUFFIX(".validation"),
- /**
- * Represents the 'jsessionid' constant value.
- */
- EQUAL("="),
- /**
- * Represents the 'HttpOnly' constant value.
- */
- HTTP_ONLY("HttpOnly"),
- /**
- * Represents the 'SET-COOKIE' constant value.
- */
- JSSESSION("JSESSIONID"),
- /**
- * Represents the '=' constant value.
- */
- SETCOOKIE("SET-COOKIE"),
- /**
- * Represents the ';' constant value.
- */
- SEMICOLON(";"),
- /**
- * Represents the ' ' constant value.
- */
- SPACE(" "),
- /**
- * Represents the 'atp' constant value.
- */
- APROVIDER_PREFIX("atp"),
- /**
- * Represents the 'atn' constant value.
- */
- ANAME_PREFIX("atn"),
- /**
- * Represents the 'ap-cpeps' constant value.
- */
- AP_CPEPS_PREFIX("ap-cpeps"),
- /**
- * Represents the 'attr-filter' constant value.
- */
- AP_ATTRFILTER_PREFIX("attr-filter");
-
- /**
- * Represents the constant's value.
- */
- private String value;
-
- /**
- * Solo Constructor.
- *
- * @param val The Constant value.
- */
- PEPSValues(final String val) {
-
- this.value = val;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
-
- return value;
- }
-
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".id".
- *
- * @param index the number.
- *
- * @return The concatenated String value.
- */
- public String index(final int index) {
-
- return value + index + ".id";
- }
-
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".value".
- *
- * @param index the number.
- *
- * @return The concatenated string value.
- */
- public String value(final int index) {
-
- return value + index + ".value";
- }
-
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".name".
- *
- * @param index the number.
- *
- * @return The concatenated String value.
- */
- public String name(final int index) {
-
- return value + index + ".name";
- }
-
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".url".
- *
- * @param index the number.
- *
- * @return The concatenated String value.
- */
- public String url(final int index) {
-
- return value + index + ".url";
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttribute.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttribute.java.svn-base
deleted file mode 100644
index 5d8281445..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttribute.java.svn-base
+++ /dev/null
@@ -1,348 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.log4j.Logger;
-
-import eu.stork.peps.auth.commons.exceptions.InternalErrorPEPSException;
-
-/**
- * This class is a bean used to store the information relative to the
- * PersonalAttribute.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.22 $, $Date: 2010-11-17 05:15:28 $
- */
-public final class PersonalAttribute implements Serializable, Cloneable {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 2612951678412632174L;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(PersonalAttribute.class
- .getName());
-
- /**
- * Name of the personal attribute.
- */
- private String name;
-
- /**
- * Values of the personal attribute.
- */
- private List<String> value = new ArrayList<String>();
-
- /**
- * Type of the personal attribute.
- */
- private String type;
-
- /**
- * Complex values of the personal attribute.
- */
- private Map<String, String> complexValue = new ConcurrentHashMap<String, String>();
-
- /**
- * Is the personal attribute mandatory?
- */
- private transient boolean required;
-
- /**
- * Returned status of the attribute from the IdP.
- */
- private String status;
-
- /**
- * Name of the personal attribute.
- */
- private String friendlyName;
-
- /**
- * Empty Constructor.
- */
- public PersonalAttribute() {
- super();
- }
-
- /**
- * PersonalAttribute Constructor for complex values.
- *
- * @param attrName The attribute name.
- * @param attrIsRequired The attribute type value.
- * @param attrComplexValue The attribute's value.
- * @param attrStatus The attribute's status value.
- */
- public PersonalAttribute(final String attrName, final boolean attrIsRequired,
- final List<String> attrComplexValue, final String attrStatus) {
- this.setName(attrName);
- this.setIsRequired(attrIsRequired);
- this.setValue(attrComplexValue);
- this.setStatus(attrStatus);
- }
-
- /**
- * PersonalAttribute Constructor for complex values.
- *
- * @param attrName The attribute name.
- * @param attrIsRequired The attribute type value.
- * @param attrComplexValue The attribute's complex value.
- * @param attrStatus The attribute's status value.
- */
- public PersonalAttribute(final String attrName, final boolean attrIsRequired,
- final Map<String, String> attrComplexValue, final String attrStatus) {
- this.setName(attrName);
- this.setIsRequired(attrIsRequired);
- this.setComplexValue(attrComplexValue);
- this.setStatus(attrStatus);
- }
-
- /**
- * {@inheritDoc}
- */
- @SuppressWarnings("unchecked")
- public Object clone() {
-
- try {
- final PersonalAttribute personalAttr = (PersonalAttribute) super.clone();
- personalAttr.setIsRequired(this.isRequired());
- personalAttr.setName(this.getName());
- personalAttr.setStatus(this.getStatus());
- if (!isEmptyValue()) {
- final List<String> val =
- (List<String>) ((ArrayList<String>) this.getValue()).clone();
- personalAttr.setValue(val);
- }
- if (!isEmptyComplexValue()) {
- final Map<String, String> complexVal =
- (Map<String, String>) ((HashMap<String, String>) this
- .getComplexValue()).clone();
- personalAttr.setComplexValue(complexVal);
- }
- return personalAttr;
- } catch (final CloneNotSupportedException e) {
- // assert false;
- LOG.trace("Nothing to do.");
- throw new InternalErrorPEPSException(
- PEPSUtil.getConfig(PEPSErrors.INTERNAL_ERROR.errorCode()),
- PEPSUtil.getConfig(PEPSErrors.INTERNAL_ERROR.errorMessage()), e);
- }
- }
-
- /**
- * Getter for the required value.
- *
- * @return The required value.
- */
- public boolean isRequired() {
- return required;
- }
-
- /**
- * Setter for the required value.
- *
- * @param attrIsRequired this attribute?
- */
- public void setIsRequired(final boolean attrIsRequired) {
- this.required = attrIsRequired;
- }
-
- /**
- * Getter for the name value.
- *
- * @return The name value.
- */
- public String getName() {
- return name;
- }
-
- /**
- * Setter for the name value.
- *
- * @param attrName The personal attribute name.
- */
- public void setName(final String attrName) {
- this.name = attrName;
- }
-
- /**
- * Getter for the value.
- *
- * @return The list of values.
- */
- public List<String> getValue() {
- return value;
- }
-
- /**
- * Setter for the list of values.
- *
- * @param attrValue The personal attribute value.
- */
- public void setValue(final List<String> attrValue) {
- if (attrValue != null) {
- this.value = attrValue;
- }
- }
-
-
- /**
- * Getter for the type value.
- *
- * @return The name value.
- */
- public String getType() {
- return type;
- }
-
- /**
- * Setter for the type value.
- *
- * @param attrName The personal attribute type.
- */
- public void setType(final String attrType) {
- this.type = attrType;
- }
-
- /**
- * Getter for the status.
- *
- * @return The status value.
- */
- public String getStatus() {
- return status;
- }
-
- /**
- * Setter for the status value.
- *
- * @param attrStatus The personal attribute status.
- */
- public void setStatus(final String attrStatus) {
- this.status = attrStatus;
- }
-
- /**
- * Getter for the complex value.
- *
- * @return The complex value.
- */
- public Map<String, String> getComplexValue() {
- return complexValue;
- }
-
- /**
- * Setter for the complex value.
- *
- * @param complexVal The personal attribute Complex value.
- */
- public void setComplexValue(final Map<String, String> complexVal) {
- if (complexVal != null) {
- this.complexValue = complexVal;
- }
- }
-
- /**
- * Getter for the personal's friendly name.
- *
- * @return The personal's friendly name value.
- */
- public String getFriendlyName() {
- return friendlyName;
- }
-
- /**
- * Setter for the personal's friendly name.
- *
- * @param fName The personal's friendly name.
- */
- public void setFriendlyName(final String fName) {
- this.friendlyName = fName;
- }
-
- /**
- * Return true the value is empty.
- *
- * @return True if the value is empty "[]";
- */
- public boolean isEmptyValue() {
- return value.isEmpty() || (value.size() == 1 && value.get(0).length() == 0);
- }
-
- /**
- * Returns true if the Complex Value is empty.
- *
- * @return True if the Complex Value is empty;
- */
- public boolean isEmptyComplexValue() {
- return complexValue.isEmpty();
- }
-
- /**
- * Returns true if the Status is empty.
- *
- * @return True if the Status is empty;
- */
- public boolean isEmptyStatus() {
- return (status == null || status.length() == 0);
- }
-
- /**
- * Prints the PersonalAttribute in the following format.
- * name:required:[v,a,l,u,e,s]|[v=a,l=u,e=s]:status;
- *
- * @return The PersonalAttribute as a string.
- */
- public String toString() {
- final StringBuilder strBuild = new StringBuilder();
-
- AttributeUtil.appendIfNotNull(strBuild, getName());
- strBuild.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
- AttributeUtil.appendIfNotNull(strBuild, String.valueOf(isRequired()));
- strBuild.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
- strBuild.append('[');
-
- if (isEmptyValue()) {
- if (!isEmptyComplexValue()) {
- AttributeUtil.appendIfNotNull(strBuild, AttributeUtil.mapToString(
- getComplexValue(), PEPSValues.ATTRIBUTE_VALUE_SEP.toString()));
- }
- } else {
- AttributeUtil.appendIfNotNull(
- strBuild,
- AttributeUtil.listToString(getValue(),
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()));
- }
-
- strBuild.append(']');
- strBuild.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
- AttributeUtil.appendIfNotNull(strBuild, getStatus());
- strBuild.append(PEPSValues.ATTRIBUTE_SEP.toString());
-
- return strBuild.toString();
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttributeList.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttributeList.java.svn-base
deleted file mode 100644
index 642b249d4..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttributeList.java.svn-base
+++ /dev/null
@@ -1,396 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.StringTokenizer;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
-
-/**
- * This class is a bean used to store the information relative to the
- * PersonalAttributeList.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.27 $, $Date: 2010-11-18 22:54:56 $
- *
- * @see PersonalAttribute
- */
-@SuppressWarnings("PMD")
-public final class PersonalAttributeList extends
- ConcurrentHashMap<String, PersonalAttribute> implements IPersonalAttributeList{
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger
- .getLogger(PersonalAttributeList.class.getName());
-
- /**
- * Serial id.
- */
- private static final long serialVersionUID = 7375127363889975062L;
-
- /**
- * Hash with the latest fetched attribute name alias.
- */
- private final transient Map<String, Integer> latestAttrAlias =
- new HashMap<String, Integer>();
-
- /**
- * Hash with mapping number of alias or the attribute name.
- */
- private final transient Map<String, Integer> attrAliasNumber =
- new HashMap<String, Integer>();
-
- /**
- * Default constructor.
- */
- public PersonalAttributeList() {
- // The best practices recommend to call the super constructor.
- super();
- }
-
- /**
- * Constructor with initial capacity for the PersonalAttributeList size.
- *
- * @param capacity The initial capacity for the PersonalAttributeList.
- */
- public PersonalAttributeList(final int capacity) {
- super(capacity);
- }
-
- /**
- * {@inheritDoc}
- */
- public Iterator<PersonalAttribute> iterator() {
- return this.values().iterator();
- }
-
- /**
- * {@inheritDoc}
- */
- public PersonalAttribute get(final Object key) {
- String attrName = (String) key;
-
- if (this.latestAttrAlias.containsKey(key)) {
- attrName = attrName + this.latestAttrAlias.get(key);
- } else {
- if (this.attrAliasNumber.containsKey(key)) {
- this.latestAttrAlias.put(attrName, this.attrAliasNumber.get(key));
- }
- }
- return super.get(attrName);
- }
-
- /**
- * {@inheritDoc}
- */
- public void add(final PersonalAttribute value) {
- if (value != null) {
- this.put(value.getName(), value);
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public PersonalAttribute put(final String key, final PersonalAttribute val) {
- if (StringUtils.isNotEmpty(key) && val != null) {
- // Validate if attribute name already exists!
- String attrAlias = key;
- if (this.containsKey(attrAlias)) {
- //TODO isAgeOver should not be hardcoded, a better way of handling multipe isAgeOver requests should be implemented.
- if (!val.isEmptyValue() && StringUtils.isNumeric(val.getValue().get(0)) && "isAgeOver".equals( val.getName() ) ) {
- final String attrValue = val.getValue().get(0);
- attrAlias = key + attrValue;
- this.attrAliasNumber.put(key, Integer.valueOf(attrValue));
- } else {
- final PersonalAttribute attr = super.get(key);
- if (!attr.isEmptyValue()
- && StringUtils.isNumeric(attr.getValue().get(0))) {
- attrAlias = key + attr.getValue().get(0);
- super.put(key, (PersonalAttribute) attr);
- this.attrAliasNumber.put(key, null);
- }
- }
- }
- return super.put(attrAlias, val);
- } else {
- return null;
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public void populate(final String attrList) {
- final StringTokenizer strToken =
- new StringTokenizer(attrList, PEPSValues.ATTRIBUTE_SEP.toString());
-
- while (strToken.hasMoreTokens()) {
- final PersonalAttribute persAttr = new PersonalAttribute();
- String[] tuples =
- strToken.nextToken().split(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString(),
- AttributeConstants.NUMBER_TUPLES.intValue());
-
- // Convert to the new format if needed!
- tuples = convertFormat(tuples);
-
- if (AttributeUtil.hasValidTuples(tuples)) {
- final int attrValueIndex =
- AttributeConstants.ATTR_VALUE_INDEX.intValue();
- final String tmpAttrValue =
- tuples[attrValueIndex].substring(1,
- tuples[attrValueIndex].length() - 1);
- final String[] vals =
- tmpAttrValue.split(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- persAttr.setName(tuples[AttributeConstants.ATTR_NAME_INDEX.intValue()]);
- persAttr.setIsRequired(Boolean
- .valueOf(tuples[AttributeConstants.ATTR_TYPE_INDEX.intValue()]));
-
- // check if it is a complex value
- if (isComplexValue(vals)) {
- persAttr.setComplexValue(createComplexValue(vals));
- }
- else
- {
- persAttr.setValue(createValues(vals));
- }
-
- if (tuples.length == AttributeConstants.NUMBER_TUPLES.intValue()) {
- persAttr.setStatus(tuples[AttributeConstants.ATTR_STATUS_INDEX
- .intValue()]);
- }
- this.put(tuples[AttributeConstants.ATTR_NAME_INDEX.intValue()],
- persAttr);
-
- } else {
- LOG.warn("Invalid personal attribute list tuples");
- }
-
- }
- }
-
- /**
- * Returns a copy of this <tt>IPersonalAttributeList</tt> instance.
- *
- * @return The copy of this IPersonalAttributeList.
- */
- public Object clone() {
- try {
- return (PersonalAttributeList) super.clone();
- } catch (CloneNotSupportedException e) {
- return null;
- }
- }
-
- /**
- * Creates a string in the following format.
- *
- * attrName:attrType:[attrValue1,attrValue2=attrComplexValue]:attrStatus;
- *
- * @return {@inheritDoc}
- */
- @Override
- public String toString() {
- final Iterator<Entry<String, PersonalAttribute>> itAttrs =
- this.entrySet().iterator();
- final StringBuilder strBuilder = new StringBuilder();
-
- while (itAttrs.hasNext()) {
- final Entry<String, PersonalAttribute> attrEntry = itAttrs.next();
- final PersonalAttribute attr = attrEntry.getValue();
- //strBuilder.append(attr.toString());
- strBuilder.insert(0, attr.toString());
- }
-
- return strBuilder.toString();
- }
-
- /**
- * Validates and creates the attribute's complex values.
- *
- * @param values The complex values.
- *
- * @return The {@link Map} with the complex values.
- *
- * @see Map
- */
- private Map<String, String> createComplexValue(final String[] values) {
- final Map<String, String> complexValue = new HashMap<String, String>();
- for (final String val : values) {
- final String[] tVal = val.split("=");
- if (StringUtils.isNotEmpty(val) && tVal.length == 2) {
- complexValue.put(tVal[0], AttributeUtil.unescape(tVal[1]));
- }
- }
- return complexValue;
- }
-
- /**
- * Checks if value is complex or not
- * @param values The values to check
- * @return True if succesful
- */
- private boolean isComplexValue(final String[] values) {
- boolean isComplex = false;
- if (values.length > 0) {
- final String[] tVal = values[0].split("=");
- if (StringUtils.isNotEmpty(values[0]) && tVal.length == 2) {
- isComplex = true;
- }
- }
- return isComplex;
- }
-
- /**
- * Validates and creates the attribute values.
- *
- * @param vals The attribute values.
- *
- * @return The {@link List} with the attribute values.
- *
- * @see List
- */
- private List<String> createValues(final String[] vals) {
- final List<String> values = new ArrayList<String>();
- for (final String val : vals) {
- if (StringUtils.isNotEmpty(val)) {
- values.add(AttributeUtil.unescape(val));
- }
- }
- return values;
- }
-
- /**
- * Converts the attribute tuple (attrName:attrType...) to the new format.
- *
- * @param tuples The attribute tuples to convert.
- *
- * @return The attribute tuples in the new format.
- */
- private String[] convertFormat(final String[] tuples) {
- final String[] newFormatTuples =
- new String[AttributeConstants.NUMBER_TUPLES.intValue()];
- if (tuples != null) {
- System.arraycopy(tuples, 0, newFormatTuples, 0, tuples.length);
-
- for (int i = tuples.length; i < newFormatTuples.length; i++) {
- if (i == AttributeConstants.ATTR_VALUE_INDEX.intValue()) {
- newFormatTuples[i] = "[]";
- } else {
- newFormatTuples[i] = "";
- }
- }
- }
- return newFormatTuples;
- }
-
- /**
- * Returns a IPersonalAttributeList of the complex attributes in this map.
- *
- * @return an IPersonalAttributeList of the complex attributes contained in this map.
- */
- public IPersonalAttributeList getComplexAttributes() {
- LOG.info("get complex attributes");
- IPersonalAttributeList attrList = new PersonalAttributeList();
- for(PersonalAttribute attr: this) {
- if(!attr.getComplexValue().isEmpty()) {
- attrList.put(attr.getName(), attr);
- LOG.info("adding complex attribute:"+attr.getName());
- }
- }
- return attrList;
- }
-
- /**
- * Returns a IPersonalAttributeList of the mandatory attributes in this map.
- *
- * @return an IPersonalAttributeList of the mandatory attributes contained in this map.
- */
- public IPersonalAttributeList getSimpleValueAttributes() {
- LOG.info("get simple attributes");
- IPersonalAttributeList attrList = new PersonalAttributeList();
- for(PersonalAttribute attr: this) {
- if(attr.getComplexValue().isEmpty()) {
- attrList.put(attr.getName(), attr);
- LOG.info("adding simple attribute:"+attr.getName());
- }
- }
- return attrList;
- }
-
-
-
- /**
- * Returns a IPersonalAttributeList of the mandatory attributes in this map.
- *
- * @return an IPersonalAttributeList of the mandatory attributes contained in this map.
- */
- public IPersonalAttributeList getMandatoryAttributes() {
- return getAttributesByParam(true);
- }
-
-
- /**
- * Returns a IPersonalAttributeList of the attributes in this map by parameter value.
- *
- * @param compareValue The boolean to get mandatory (true) or optional (false) attributes.
- *
- * @return an IPersonalAttributeList of the mandatory attributes contained in this map if compareValue is true or optional otherwise.
- */
- private IPersonalAttributeList getAttributesByParam(final boolean compareValue) {
- LOG.info("get attributes by param :"+compareValue);
- IPersonalAttributeList attrList = new PersonalAttributeList();
- for(PersonalAttribute attr: this) {
- if(attr.isRequired() == compareValue) {
- attrList.put(attr.getName(), attr);
- LOG.info("adding attribute:"+attr.getName());
- }
- }
- return attrList;
- }
-
-
- /**
- * Returns a IPersonalAttributeList of the optional attributes in this map.
- *
- * @return an IPersonalAttributeList of the optional attributes contained in this map.
- */
- public IPersonalAttributeList getOptionalAttributes() {
- return getAttributesByParam(false);
- }
-
- /**
- * {@inheritDoc}
- */
- public boolean hasMissingValues() {
- for(PersonalAttribute attr: this) {
- if(attr.isEmptyValue() && attr.isEmptyComplexValue()) {
- return true;
- }
- }
- return false;
- }
-} \ No newline at end of file
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryRequest.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryRequest.java.svn-base
deleted file mode 100644
index 07f178ecc..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryRequest.java.svn-base
+++ /dev/null
@@ -1,447 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-
-import org.apache.log4j.Logger;
-
-public class STORKAttrQueryRequest implements Serializable, Cloneable {
-
- /** The Constant serialVersionUID. */
- private static final long serialVersionUID = 4778480781609392750L;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(STORKAttrQueryRequest.class
- .getName());
-
- /** The samlId. */
- private String samlId;
-
- /** The destination. */
- private String destination;
-
- /** The assertion consumer service url. */
- private String serviceURL;
-
- /** The distinguished name. */
- private String distinguishedName;
-
- /** The e id sector share. */
- private boolean eIDSectorShare;
-
- /** The e id cross sector share. */
- private boolean eIDCrossSectorShare;
-
- /** The e id cross border share. */
- private boolean eIDCrossBorderShare;
-
- /** The personal attribute list. */
- private IPersonalAttributeList attributeList = new PersonalAttributeList();
-
- /** The qaa. */
- private int qaa;
-
- /** The token saml. */
- private byte[] tokenSaml = new byte[0];
-
- /** The issuer. */
- private String issuer;
-
- /** The service provider sector. */
- private String spSector;
-
- /** The service provider institution. */
- private String spInstitution;
-
- /** The service provider application. */
- private String spApplication;
-
- /** The service provider country. */
- private String spCountry;
-
- /** The country. */
- private String country;
-
- /** The citizen country code. */
- private String citizenCountry;
-
- /** The Service Provider ID. */
- private String sPID;
-
- /** The Alias used at the keystore for saving this certificate. */
- private String alias;
-
- /**
- * Gets the SP's Certificate Alias.
- *
- * @return alias The SP's Certificate Alias.
- */
- public String getAlias() {
- return alias;
- }
-
- /**
- * Sets the SP's Certificate Alias.
- *
- * @param nAlias The SP's Certificate Alias.
- */
- public void setAlias(final String nAlias) {
- this.alias = nAlias;
- }
-
- /**
- * Gets the SP ID.
- *
- * @return sPID The SP ID.
- */
- public String getSPID() {
- return sPID;
- }
-
- /**
- * Sets the SP ID.
- *
- * @param sPId The new sp samlId.
- */
- public void setSPID(final String sPId) {
- this.sPID = sPId;
- }
-
- /**
- * Gets the citizen country code.
- *
- * @return The citizen country code value.
- */
- public String getCitizenCountryCode() {
- return citizenCountry;
- }
-
- /**
- * Sets the citizen country code.
- *
- * @param countryCode the new citizen country code value.
- */
- public void setCitizenCountryCode(final String countryCode) {
- this.citizenCountry = countryCode;
- }
-
- /**
- * Gets the sp country.
- *
- * @return The sp country value.
- */
- public String getSpCountry() {
- return spCountry;
- }
-
- /**
- * Sets the sp country.
- *
- * @param sPCountry the new sp country value.
- */
- public void setSpCountry(final String sPCountry) {
- this.spCountry = sPCountry;
- }
-
- /**
- * Gets the issuer.
- *
- * @return The issuer value.
- */
- public String getIssuer() {
- return issuer;
- }
-
- /**
- * Sets the issuer.
- *
- * @param samlIssuer the new issuer value.
- */
- public void setIssuer(final String samlIssuer) {
- this.issuer = samlIssuer;
- }
-
- /**
- * Gets the SAML Token.
- *
- * @return The SAML Token value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Sets the SAML Token.
- *
- * @param samlToken The new SAML Token value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Gets the country.
- *
- * @return The country value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Sets the country.
- *
- * @param nCountry the new country value.
- */
- public void setCountry(final String nCountry) {
- this.country = nCountry;
- }
-
- /**
- * Getter for the qaa value.
- *
- * @return The qaa value value.
- */
- public int getQaa() {
- return qaa;
- }
-
- /**
- * Setter for the qaa value.
- *
- * @param qaaLevel The new qaa value.
- */
- public void setQaa(final int qaaLevel) {
- this.qaa = qaaLevel;
- }
-
- /**
- * Getter for the serviceURL value.
- *
- * @return The serviceURL value.
- */
- public String getAssertionConsumerServiceURL() {
- return serviceURL;
- }
-
- /**
- * Setter for the serviceURL value.
- *
- * @param newServiceURL the assertion consumer service URL.
- */
- public void setAssertionConsumerServiceURL(final String newServiceURL) {
- this.serviceURL = newServiceURL;
- }
-
- /**
- * Getter for the destination value.
- *
- * @return The destination value.
- */
- public String getDestination() {
- return destination;
- }
-
- /**
- * Setter for the destination value.
- *
- * @param detination the new destination value.
- */
- public void setDestination(final String detination) {
- this.destination = detination;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param newSamlId the new samlId value.
- */
- public void setSamlId(final String newSamlId) {
- this.samlId = newSamlId;
- }
-
-
- /**
- * Getter for the attributeList value.
- *
- * @return The attributeList value.
- *
- * @see IPersonalAttributeList
- */
- public IPersonalAttributeList getPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) attributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the attributeList value.
- *
- * @param attrList the personal attribute list value.
- *
- * @see IPersonalAttributeList
- */
- public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.attributeList = attrList;
- }
- }
-
- /**
- * Getter for the distinguishedName value.
- *
- * @return The distinguishedName value.
- */
- public String getDistinguishedName() {
- return distinguishedName;
- }
-
- /**
- * Setter for the distinguishedName value.
- *
- * @param certDN the distinguished name value.
- */
- public void setDistinguishedName(final String certDN) {
- this.distinguishedName = certDN;
- }
-
- /**
- * Gets the service provider sector.
- *
- * @return The service provider sector value.
- */
- public String getSpSector() {
- return spSector;
- }
-
- /**
- * Sets the service provider sector.
- *
- * @param samlSPSector the new service provider sector value.
- */
- public void setSpSector(final String samlSPSector) {
- this.spSector = samlSPSector;
- }
-
- /**
- * Gets the service provider institution.
- *
- * @return The service provider institution value.
- */
- public String getSpInstitution() {
- return spInstitution;
- }
-
- /**
- * Sets the service provider institution.
- *
- * @param samlSPInst the new service provider institution value.
- */
- public void setSpInstitution(final String samlSPInst) {
- this.spInstitution = samlSPInst;
- }
-
- /**
- * Gets the service provider application.
- *
- * @return The service provider application value.
- */
- public String getSpApplication() {
- return spApplication;
- }
-
- /**
- * Sets the service provider application.
- *
- * @param samlSPApp the new service provider application value.
- */
- public void setSpApplication(final String samlSPApp) {
- this.spApplication = samlSPApp;
- }
-
- /**
- * Checks if is eId sector share.
- *
- * @return true, if is eId sector share.
- */
- public boolean isEIDSectorShare() {
- return eIDSectorShare;
- }
-
- /**
- * Sets the eId sector share.
- *
- * @param eIdSectorShare the new eId sector share value.
- */
- public void setEIDSectorShare(final boolean eIdSectorShare) {
- this.eIDSectorShare = eIdSectorShare;
- }
-
- /**
- * Checks if is eId cross sector share.
- *
- * @return true, if is eId cross sector share.
- */
- public boolean isEIDCrossSectorShare() {
- return eIDCrossSectorShare;
- }
-
- /**
- * Sets the eId cross sector share.
- *
- * @param eIdCrossSectorShare the new eId cross sector share value.
- */
- public void setEIDCrossSectorShare(final boolean eIdCrossSectorShare) {
- this.eIDCrossSectorShare = eIdCrossSectorShare;
- }
-
- /**
- * Checks if is eId cross border share.
- *
- * @return true, if is eId cross border share.
- */
- public boolean isEIDCrossBorderShare() {
- return eIDCrossBorderShare;
- }
-
- /**
- * Sets the eId cross border share.
- *
- * @param eIdCrossBorderShare the new eId cross border share value.
- */
- public void setEIDCrossBorderShare(final boolean eIdCrossBorderShare) {
- this.eIDCrossBorderShare = eIdCrossBorderShare;
- }
-
- /**
- * Returns a copy of this <tt>STORKAttrQueryRequest</tt> instance.
- *
- * @return The copy of this STORKAttrQueryRequest.
- * @throws CloneNotSupportedException on clone exception
- */
- @Override
- public Object clone() throws CloneNotSupportedException{
- STORKAttrQueryRequest storkAttrQueryReq = null;
- storkAttrQueryReq = (STORKAttrQueryRequest) super.clone();
- storkAttrQueryReq.setPersonalAttributeList(getPersonalAttributeList());
- storkAttrQueryReq.setTokenSaml(getTokenSaml());
- return storkAttrQueryReq;
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryResponse.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryResponse.java.svn-base
deleted file mode 100644
index 046dec311..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryResponse.java.svn-base
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.joda.time.DateTime;
-import org.opensaml.saml2.core.Assertion;
-
-public class STORKAttrQueryResponse {
-
- /** Response Id. */
- private String samlId;
-
- /** Request failed? */
- private boolean fail;
-
- /** Status code. */
- private String statusCode;
-
- /** Secondary status code. */
- private String subStatusCode;
-
- /** Audience restriction. */
- private transient String audienceRest;
-
- /** Error message. */
- private String message;
-
- /** Id of the request that originated this response. */
- private String inResponseTo;
-
- /** Expiration date. */
- private DateTime notOnOrAfter;
-
- /** Creation date. */
- private DateTime notBefore;
-
- /** The SAML token. */
- private byte[] tokenSaml = new byte[0];
-
- /** Country. */
- private String country;
-
- /** The complete assertion **/
- private Assertion assertion;
-
- /** List of all assertions in response **/
- private List<Assertion> assertions;
-
- /** The complete list from all assertions **/
- private transient IPersonalAttributeList totalAttributeList = new PersonalAttributeList();
-
- /** All personal attribute lists **/
- private List<IPersonalAttributeList> attributeLists;
-
- /** Citizen's personal attribute list. */
- private transient IPersonalAttributeList attributeList = new PersonalAttributeList();
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(STORKAttrQueryResponse.class.getName());
-
- /**
- * Getter for the subStatusCode.
- *
- * @return The subStatusCode value.
- */
- public String getSubStatusCode() {
- return subStatusCode;
- }
-
- /**
- * Setter for the subStatusCode.
- *
- * @param samlSubStatusCode the new subStatusCode value.
- */
- public void setSubStatusCode(final String samlSubStatusCode) {
- this.subStatusCode = samlSubStatusCode;
- }
-
- /**
- * Getter for audienceRest.
- *
- * @return The audienceRest value.
- */
- public String getAudienceRestriction() {
- return audienceRest;
- }
-
- /**
- * Setter for audienceRest.
- *
- * @param audRest the new audienceRest value.
- */
- public void setAudienceRestriction(final String audRest) {
- this.audienceRest = audRest;
- }
-
- /**
- * Getter for the samlToken.
- *
- * @return The samlToken value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Setter for samlToken.
- *
- * @param samlToken the new tokenSaml value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Getter for the country name.
- *
- * @return The country name value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Setter for the country name.
- *
- * @param cCountry the new country name value.
- */
- public void setCountry(final String cCountry) {
- this.country = cCountry;
- }
-
- /**
- * Getter for pal value.
- *
- * @return The pal value.
- *
- * @see PersonalAttributeList
- */
- public IPersonalAttributeList getPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) attributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.attributeList = attrList;
- }
- }
-
- /**
- * Getter for the inResponseTo value.
- *
- * @return The inResponseTo value.
- */
- public String getInResponseTo() {
- return inResponseTo;
- }
-
- /**
- * Setter for the inResponseTo value.
- *
- * @param samlInResponseTo the new inResponseTo value.
- */
- public void setInResponseTo(final String samlInResponseTo) {
- this.inResponseTo = samlInResponseTo;
- }
-
- /**
- * Getter for the fail value.
- *
- * @return The fail value.
- */
- public boolean isFail() {
- return fail;
- }
-
- /**
- * Setter for the fail value.
- *
- * @param failVal the new fail value.
- */
- public void setFail(final boolean failVal) {
- this.fail = failVal;
- }
-
- /**
- * Getter for the message value.
- *
- * @return The message value.
- */
- public String getMessage() {
- return message;
- }
-
- /**
- * Setter for the message value.
- *
- * @param msg the new message value.
- */
- public void setMessage(final String msg) {
- this.message = msg;
- }
-
- /**
- * Getter for the statusCode value.
- *
- * @return The statusCode value.
- */
- public String getStatusCode() {
- return statusCode;
- }
-
- /**
- * Setter for the statusCode value.
- *
- * @param status the new statusCode value.
- */
- public void setStatusCode(final String status) {
- this.statusCode = status;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param nSamlId the new samlId value.
- */
- public void setSamlId(final String nSamlId) {
- this.samlId = nSamlId;
- }
-
- /**
- * Getter for the notOnOrAfter value.
- *
- * @return The notOnOrAfter value.
- *
- * @see DateTime
- */
- public DateTime getNotOnOrAfter() {
- return this.notOnOrAfter;
- }
-
- /**
- * Setter for the notOnOrAfter value.
- *
- * @param nOnOrAfter the new notOnOrAfter value.
- *
- * @see DateTime
- */
- public void setNotOnOrAfter(final DateTime nOnOrAfter) {
- this.notOnOrAfter = nOnOrAfter;
- }
-
- /**
- * Getter for the notBefore value.
- *
- * @return The notBefore value.
- *
- * @see DateTime
- */
- public DateTime getNotBefore() {
- return notBefore;
- }
-
- /**
- * Setter for the notBefore value.
- *
- * @param nBefore the new notBefore value.
- *
- * @see DateTime
- */
- public void setNotBefore(final DateTime nBefore) {
- this.notBefore = nBefore;
- }
-
- /** Get the assertion from the response **/
- public Assertion getAssertion() {
- return assertion;
- }
-
- /** Set the assertion in the response **/
- public void setAssertion(final Assertion nAssertion) {
- this.assertion = nAssertion;
- }
-
- public void setAssertions(List<Assertion> newAssert) {
- this.assertions = newAssert;
- }
-
- public List<Assertion> getAssertions() {
- return assertions;
- }
-
- /**
- * Getter for the toal pal value.
- *
- * @return The total pal value.
- *
- * @see PersonalAttributeList
- */
- public IPersonalAttributeList getTotalPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) totalAttributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the total Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setTotalPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.totalAttributeList = attrList;
- }
- }
-
- /**
- * Getter for personal attribute lists
- *
- * @return The lists
- *
- * @see PersonalAttributeList
- */
- public List<IPersonalAttributeList> getPersonalAttributeLists() {
- return attributeLists;
- }
-
- /**
- * Setter for the Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setPersonalAttributeLists(final List<IPersonalAttributeList> attrLists) {
- if (attrLists != null) {
- this.attributeLists = attrLists;
- }
- }
-
-}
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnRequest.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnRequest.java.svn-base
deleted file mode 100644
index 2354d0eb1..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnRequest.java.svn-base
+++ /dev/null
@@ -1,495 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-
-import org.apache.log4j.Logger;
-
-/**
- * This class is a bean used to store the information relative to the
- * STORKAuthnRequest (SAML Token Request).
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.21 $, $Date: 2011-02-17 22:44:34 $
- */
-public final class STORKAuthnRequest implements Serializable, Cloneable {
-
- /** The Constant serialVersionUID. */
- private static final long serialVersionUID = 4778480781609392750L;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(STORKAuthnRequest.class
- .getName());
-
- /** The samlId. */
- private String samlId;
-
- /** The assertion consumer service url. */
- private String serviceURL;
-
- /** The destination. */
- private String destination;
-
- /** The provider name. */
- private String providerName;
-
- /** The distinguished name. */
- private String distinguishedName;
-
- /** The e id sector share. */
- private boolean eIDSectorShare;
-
- /** The e id cross sector share. */
- private boolean eIDCrossSectorShare;
-
- /** The e id cross border share. */
- private boolean eIDCrossBorderShare;
-
- /** The personal attribute list. */
- private IPersonalAttributeList attributeList = new PersonalAttributeList();
-
- /** The qaa. */
- private int qaa;
-
- /** The token saml. */
- private byte[] tokenSaml = new byte[0];
-
- /** The issuer. */
- private String issuer;
-
- /** The service provider sector. */
- private String spSector;
-
- /** The service provider institution. */
- private String spInstitution;
-
- /** The service provider application. */
- private String spApplication;
-
- /** The service provider country. */
- private String spCountry;
-
- /** The country. */
- private String country;
-
- /** The citizen country code. */
- private String citizenCountry;
-
- /** The Service Provider ID. */
- private String sPID;
-
- /** The Alias used at the keystore for saving this certificate. */
- private String alias;
-
- /**
- * Gets the SP's Certificate Alias.
- *
- * @return alias The SP's Certificate Alias.
- */
- public String getAlias() {
- return alias;
- }
-
- /**
- * Sets the SP's Certificate Alias.
- *
- * @param nAlias The SP's Certificate Alias.
- */
- public void setAlias(final String nAlias) {
- this.alias = nAlias;
- }
-
- /**
- * Gets the SP ID.
- *
- * @return sPID The SP ID.
- */
- public String getSPID() {
- return sPID;
- }
-
- /**
- * Sets the SP ID.
- *
- * @param sPId The new sp samlId.
- */
- public void setSPID(final String sPId) {
- this.sPID = sPId;
- }
-
- /**
- * Gets the citizen country code.
- *
- * @return The citizen country code value.
- */
- public String getCitizenCountryCode() {
- return citizenCountry;
- }
-
- /**
- * Sets the citizen country code.
- *
- * @param countryCode the new citizen country code value.
- */
- public void setCitizenCountryCode(final String countryCode) {
- this.citizenCountry = countryCode;
- }
-
- /**
- * Gets the sp country.
- *
- * @return The sp country value.
- */
- public String getSpCountry() {
- return spCountry;
- }
-
- /**
- * Sets the sp country.
- *
- * @param sPCountry the new sp country value.
- */
- public void setSpCountry(final String sPCountry) {
- this.spCountry = sPCountry;
- }
-
- /**
- * Gets the issuer.
- *
- * @return The issuer value.
- */
- public String getIssuer() {
- return issuer;
- }
-
- /**
- * Sets the issuer.
- *
- * @param samlIssuer the new issuer value.
- */
- public void setIssuer(final String samlIssuer) {
- this.issuer = samlIssuer;
- }
-
- /**
- * Gets the SAML Token.
- *
- * @return The SAML Token value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Sets the SAML Token.
- *
- * @param samlToken The new SAML Token value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Gets the country.
- *
- * @return The country value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Sets the country.
- *
- * @param nCountry the new country value.
- */
- public void setCountry(final String nCountry) {
- this.country = nCountry;
- }
-
- /**
- * Getter for the qaa value.
- *
- * @return The qaa value value.
- */
- public int getQaa() {
- return qaa;
- }
-
- /**
- * Setter for the qaa value.
- *
- * @param qaaLevel The new qaa value.
- */
- public void setQaa(final int qaaLevel) {
- this.qaa = qaaLevel;
- }
-
- /**
- * Getter for the serviceURL value.
- *
- * @return The serviceURL value.
- */
- public String getAssertionConsumerServiceURL() {
- return serviceURL;
- }
-
- /**
- * Setter for the serviceURL value.
- *
- * @param newServiceURL the assertion consumer service URL.
- */
- public void setAssertionConsumerServiceURL(final String newServiceURL) {
- this.serviceURL = newServiceURL;
- }
-
- /**
- * Getter for the destination value.
- *
- * @return The destination value.
- */
- public String getDestination() {
- return destination;
- }
-
- /**
- * Setter for the destination value.
- *
- * @param detination the new destination value.
- */
- public void setDestination(final String detination) {
- this.destination = detination;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param newSamlId the new samlId value.
- */
- public void setSamlId(final String newSamlId) {
- this.samlId = newSamlId;
- }
-
- /**
- * Getter for the providerName value.
- *
- * @return The provider name value.
- */
- public String getProviderName() {
- return providerName;
- }
-
- /**
- * Setter for the providerName value.
- *
- * @param samlProvider the provider name value.
- */
- public void setProviderName(final String samlProvider) {
- this.providerName = samlProvider;
- }
-
- /**
- * Getter for the attributeList value.
- *
- * @return The attributeList value.
- *
- * @see IPersonalAttributeList
- */
- public IPersonalAttributeList getPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) attributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the attributeList value.
- *
- * @param attrList the personal attribute list value.
- *
- * @see IPersonalAttributeList
- */
- public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.attributeList = attrList;
- }
- }
-
- /**
- * Getter for the distinguishedName value.
- *
- * @return The distinguishedName value.
- */
- public String getDistinguishedName() {
- return distinguishedName;
- }
-
- /**
- * Setter for the distinguishedName value.
- *
- * @param certDN the distinguished name value.
- */
- public void setDistinguishedName(final String certDN) {
- this.distinguishedName = certDN;
- }
-
- /**
- * Gets the service provider sector.
- *
- * @return The service provider sector value.
- */
- public String getSpSector() {
- return spSector;
- }
-
- /**
- * Sets the service provider sector.
- *
- * @param samlSPSector the new service provider sector value.
- */
- public void setSpSector(final String samlSPSector) {
- this.spSector = samlSPSector;
- }
-
- /**
- * Gets the service provider institution.
- *
- * @return The service provider institution value.
- */
- public String getSpInstitution() {
- return spInstitution;
- }
-
- /**
- * Sets the service provider institution.
- *
- * @param samlSPInst the new service provider institution value.
- */
- public void setSpInstitution(final String samlSPInst) {
- this.spInstitution = samlSPInst;
- }
-
- /**
- * Gets the service provider application.
- *
- * @return The service provider application value.
- */
- public String getSpApplication() {
- return spApplication;
- }
-
- /**
- * Sets the service provider application.
- *
- * @param samlSPApp the new service provider application value.
- */
- public void setSpApplication(final String samlSPApp) {
- this.spApplication = samlSPApp;
- }
-
- /**
- * Checks if is eId sector share.
- *
- * @return true, if is eId sector share.
- */
- public boolean isEIDSectorShare() {
- return eIDSectorShare;
- }
-
- /**
- * Sets the eId sector share.
- *
- * @param eIdSectorShare the new eId sector share value.
- */
- public void setEIDSectorShare(final boolean eIdSectorShare) {
- this.eIDSectorShare = eIdSectorShare;
- }
-
- /**
- * Checks if is eId cross sector share.
- *
- * @return true, if is eId cross sector share.
- */
- public boolean isEIDCrossSectorShare() {
- return eIDCrossSectorShare;
- }
-
- /**
- * Sets the eId cross sector share.
- *
- * @param eIdCrossSectorShare the new eId cross sector share value.
- */
- public void setEIDCrossSectorShare(final boolean eIdCrossSectorShare) {
- this.eIDCrossSectorShare = eIdCrossSectorShare;
- }
-
- /**
- * Checks if is eId cross border share.
- *
- * @return true, if is eId cross border share.
- */
- public boolean isEIDCrossBorderShare() {
- return eIDCrossBorderShare;
- }
-
- /**
- * Sets the eId cross border share.
- *
- * @param eIdCrossBorderShare the new eId cross border share value.
- */
- public void setEIDCrossBorderShare(final boolean eIdCrossBorderShare) {
- this.eIDCrossBorderShare = eIdCrossBorderShare;
- }
-
- /**
- * Returns a copy of this <tt>STORKAuthnRequest</tt> instance.
- *
- * @return The copy of this STORKAuthnRequest.
- * @throws CloneNotSupportedException on clone exception
- */
- @Override
- public Object clone() throws CloneNotSupportedException{
- STORKAuthnRequest storkAuthnReq = null;
- try {
- storkAuthnReq = (STORKAuthnRequest) super.clone();
- storkAuthnReq.setPersonalAttributeList(getPersonalAttributeList());
- storkAuthnReq.setTokenSaml(getTokenSaml());
- } catch (final CloneNotSupportedException e) {
- // assert false;
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
-
- return storkAuthnReq;
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnResponse.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnResponse.java.svn-base
deleted file mode 100644
index 84fadd023..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnResponse.java.svn-base
+++ /dev/null
@@ -1,383 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.joda.time.DateTime;
-import org.opensaml.saml2.core.Assertion;
-
-/**
- * This class is a bean used to store the information relative to the
- * STORKAuthnResponse.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.15 $, $Date: 2010-11-17 05:15:28 $
- */
-public final class STORKAuthnResponse {
-
- /** Response Id. */
- private String samlId;
-
- /** Authentication failed? */
- private boolean fail;
-
- /** Status code. */
- private String statusCode;
-
- /** Secondary status code. */
- private String subStatusCode;
-
- /** Audience restriction. */
- private transient String audienceRest;
-
- /** Error message. */
- private String message;
-
- /** Id of the request that originated this response. */
- private String inResponseTo;
-
- /** Expiration date. */
- private DateTime notOnOrAfter;
-
- /** Creation date. */
- private DateTime notBefore;
-
- /** The SAML token. */
- private byte[] tokenSaml = new byte[0];
-
- /** Country. */
- private String country;
-
- /** Citizen's personal attribute list. */
- private transient IPersonalAttributeList attributeList = new PersonalAttributeList();
-
- /** List of all assertions in response **/
- private List<Assertion> assertions;
-
- /** The complete list from all assertions **/
- private transient IPersonalAttributeList totalAttributeList = new PersonalAttributeList();
-
- /** All personal attribute lists **/
- private List<IPersonalAttributeList> attributeLists;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(STORKAuthnResponse.class.getName());
-
- /**
- * Getter for the subStatusCode.
- *
- * @return The subStatusCode value.
- */
- public String getSubStatusCode() {
- return subStatusCode;
- }
-
- /**
- * Setter for the subStatusCode.
- *
- * @param samlSubStatusCode the new subStatusCode value.
- */
- public void setSubStatusCode(final String samlSubStatusCode) {
- this.subStatusCode = samlSubStatusCode;
- }
-
- /**
- * Getter for audienceRest.
- *
- * @return The audienceRest value.
- */
- public String getAudienceRestriction() {
- return audienceRest;
- }
-
- /**
- * Setter for audienceRest.
- *
- * @param audRest the new audienceRest value.
- */
- public void setAudienceRestriction(final String audRest) {
- this.audienceRest = audRest;
- }
-
- /**
- * Getter for the samlToken.
- *
- * @return The samlToken value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Setter for samlToken.
- *
- * @param samlToken the new tokenSaml value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Getter for the country name.
- *
- * @return The country name value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Setter for the country name.
- *
- * @param cCountry the new country name value.
- */
- public void setCountry(final String cCountry) {
- this.country = cCountry;
- }
-
- /**
- * Getter for pal value.
- *
- * @return The pal value.
- *
- * @see PersonalAttributeList
- */
- public IPersonalAttributeList getPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) attributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.attributeList = attrList;
- }
- }
-
- /**
- * Getter for the inResponseTo value.
- *
- * @return The inResponseTo value.
- */
- public String getInResponseTo() {
- return inResponseTo;
- }
-
- /**
- * Setter for the inResponseTo value.
- *
- * @param samlInResponseTo the new inResponseTo value.
- */
- public void setInResponseTo(final String samlInResponseTo) {
- this.inResponseTo = samlInResponseTo;
- }
-
- /**
- * Getter for the fail value.
- *
- * @return The fail value.
- */
- public boolean isFail() {
- return fail;
- }
-
- /**
- * Setter for the fail value.
- *
- * @param failVal the new fail value.
- */
- public void setFail(final boolean failVal) {
- this.fail = failVal;
- }
-
- /**
- * Getter for the message value.
- *
- * @return The message value.
- */
- public String getMessage() {
- return message;
- }
-
- /**
- * Setter for the message value.
- *
- * @param msg the new message value.
- */
- public void setMessage(final String msg) {
- this.message = msg;
- }
-
- /**
- * Getter for the statusCode value.
- *
- * @return The statusCode value.
- */
- public String getStatusCode() {
- return statusCode;
- }
-
- /**
- * Setter for the statusCode value.
- *
- * @param status the new statusCode value.
- */
- public void setStatusCode(final String status) {
- this.statusCode = status;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param nSamlId the new samlId value.
- */
- public void setSamlId(final String nSamlId) {
- this.samlId = nSamlId;
- }
-
- /**
- * Getter for the notOnOrAfter value.
- *
- * @return The notOnOrAfter value.
- *
- * @see DateTime
- */
- public DateTime getNotOnOrAfter() {
- return this.notOnOrAfter;
- }
-
- /**
- * Setter for the notOnOrAfter value.
- *
- * @param nOnOrAfter the new notOnOrAfter value.
- *
- * @see DateTime
- */
- public void setNotOnOrAfter(final DateTime nOnOrAfter) {
- this.notOnOrAfter = nOnOrAfter;
- }
-
- /**
- * Getter for the notBefore value.
- *
- * @return The notBefore value.
- *
- * @see DateTime
- */
- public DateTime getNotBefore() {
- return notBefore;
- }
-
- /**
- * Setter for the notBefore value.
- *
- * @param nBefore the new notBefore value.
- *
- * @see DateTime
- */
- public void setNotBefore(final DateTime nBefore) {
- this.notBefore = nBefore;
- }
-
- public void setAssertions(List<Assertion> newAssert) {
- this.assertions = newAssert;
- }
-
- public List<Assertion> getAssertions() {
- return assertions;
- }
-
- /**
- * Getter for the toal pal value.
- *
- * @return The total pal value.
- *
- * @see PersonalAttributeList
- */
- public IPersonalAttributeList getTotalPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) totalAttributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the total Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setTotalPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.totalAttributeList = attrList;
- }
- }
-
- /**
- * Getter for personal attribute lists
- *
- * @return The lists
- *
- * @see PersonalAttributeList
- */
- public List<IPersonalAttributeList> getPersonalAttributeLists() {
- return attributeLists;
- }
-
- /**
- * Setter for the Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setPersonalAttributeLists(final List<IPersonalAttributeList> attrLists) {
- if (attrLists != null) {
- this.attributeLists = attrLists;
- }
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutRequest.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutRequest.java.svn-base
deleted file mode 100644
index a02002d93..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutRequest.java.svn-base
+++ /dev/null
@@ -1,197 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-
-public class STORKLogoutRequest implements Serializable, Cloneable {
- private static final long serialVersionUID = 4778480781609392750L;
-
- /** The samlId. */
- private String samlId;
-
- /** The destination. */
- private String destination;
-
- /** The distinguished name. */
- private String distinguishedName;
-
- /** The qaa. */
- private int qaa;
-
- /** The token saml. */
- private byte[] tokenSaml = new byte[0];
-
- /** The issuer. */
- private String issuer;
-
- /** The country. */
- private String country;
-
- /** The Alias used at the keystore for saving this certificate. */
- private String alias;
-
- /** The ID of principal as known to SP **/
- private String spProvidedId;
-
- /**
- * Gets the SP's Certificate Alias.
- *
- * @return alias The SP's Certificate Alias.
- */
- public String getAlias() {
- return alias;
- }
-
- /**
- * Sets the SP's Certificate Alias.
- *
- * @param nAlias The SP's Certificate Alias.
- */
- public void setAlias(final String nAlias) {
- this.alias = nAlias;
- }
-
- /**
- * Gets the issuer.
- *
- * @return The issuer value.
- */
- public String getIssuer() {
- return issuer;
- }
-
- /**
- * Sets the issuer.
- *
- * @param samlIssuer the new issuer value.
- */
- public void setIssuer(final String samlIssuer) {
- this.issuer = samlIssuer;
- }
-
- /**
- * Gets the SAML Token.
- *
- * @return The SAML Token value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Sets the SAML Token.
- *
- * @param samlToken The new SAML Token value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Gets the country.
- *
- * @return The country value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Sets the country.
- *
- * @param nCountry the new country value.
- */
- public void setCountry(final String nCountry) {
- this.country = nCountry;
- }
-
- /**
- * Getter for the qaa value.
- *
- * @return The qaa value value.
- */
- public int getQaa() {
- return qaa;
- }
-
- /**
- * Setter for the qaa value.
- *
- * @param qaaLevel The new qaa value.
- */
- public void setQaa(final int qaaLevel) {
- this.qaa = qaaLevel;
- }
-
- /**
- * Getter for the destination value.
- *
- * @return The destination value.
- */
- public String getDestination() {
- return destination;
- }
-
- /**
- * Setter for the destination value.
- *
- * @param detination the new destination value.
- */
- public void setDestination(final String detination) {
- this.destination = detination;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param newSamlId the new samlId value.
- */
- public void setSamlId(final String newSamlId) {
- this.samlId = newSamlId;
- }
-
- /**
- * Getter for the distinguishedName value.
- *
- * @return The distinguishedName value.
- */
- public String getDistinguishedName() {
- return distinguishedName;
- }
-
- /**
- * Setter for the distinguishedName value.
- *
- * @param certDN the distinguished name value.
- */
- public void setDistinguishedName(final String certDN) {
- this.distinguishedName = certDN;
- }
-
- /** Getter for spProvidedId **/
- public String getSpProvidedId() {
- return spProvidedId;
- }
-
- public void setSpProvidedId(final String nSpProvidedId) {
- this.spProvidedId = nSpProvidedId;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException{
- STORKLogoutRequest storkLogoutRequest = null;
- storkLogoutRequest = (STORKLogoutRequest) super.clone();
- storkLogoutRequest.setTokenSaml(getTokenSaml());
- return storkLogoutRequest;
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutResponse.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutResponse.java.svn-base
deleted file mode 100644
index 2686727db..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutResponse.java.svn-base
+++ /dev/null
@@ -1,250 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-
-public class STORKLogoutResponse implements Serializable, Cloneable {
- private static final long serialVersionUID = 4778480781609392750L;
-
- /** The samlId. */
- private String samlId;
-
- /** The destination. */
- private String destination;
-
- /** The distinguished name. */
- private String distinguishedName;
-
- /** The token saml. */
- private byte[] tokenSaml = new byte[0];
-
- /** The issuer. */
- private String issuer;
-
- /** The country. */
- private String country;
-
- /** The Alias used at the keystore for saving this certificate. */
- private String alias;
-
- /** Status code. */
- private String statusCode;
-
- /** Secondary status code. */
- private String subStatusCode;
-
- /** Status message. */
- private String statusMessage;
-
- /** Logout failed? */
- private boolean fail;
-
- /**
- * Gets the SP's Certificate Alias.
- *
- * @return alias The SP's Certificate Alias.
- */
- public String getAlias() {
- return alias;
- }
-
- /**
- * Sets the SP's Certificate Alias.
- *
- * @param nAlias The SP's Certificate Alias.
- */
- public void setAlias(final String nAlias) {
- this.alias = nAlias;
- }
-
- /**
- * Gets the issuer.
- *
- * @return The issuer value.
- */
- public String getIssuer() {
- return issuer;
- }
-
- /**
- * Sets the issuer.
- *
- * @param samlIssuer the new issuer value.
- */
- public void setIssuer(final String samlIssuer) {
- this.issuer = samlIssuer;
- }
-
- /**
- * Gets the SAML Token.
- *
- * @return The SAML Token value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Sets the SAML Token.
- *
- * @param samlToken The new SAML Token value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Gets the country.
- *
- * @return The country value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Sets the country.
- *
- * @param nCountry the new country value.
- */
- public void setCountry(final String nCountry) {
- this.country = nCountry;
- }
-
- /**
- * Getter for the destination value.
- *
- * @return The destination value.
- */
- public String getDestination() {
- return destination;
- }
-
- /**
- * Setter for the destination value.
- *
- * @param detination the new destination value.
- */
- public void setDestination(final String detination) {
- this.destination = detination;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param newSamlId the new samlId value.
- */
- public void setSamlId(final String newSamlId) {
- this.samlId = newSamlId;
- }
-
- /**
- * Getter for the distinguishedName value.
- *
- * @return The distinguishedName value.
- */
- public String getDistinguishedName() {
- return distinguishedName;
- }
-
- /**
- * Setter for the distinguishedName value.
- *
- * @param certDN the distinguished name value.
- */
- public void setDistinguishedName(final String certDN) {
- this.distinguishedName = certDN;
- }
-
-
- /**
- * Getter for the fail value.
- *
- * @return The fail value.
- */
- public boolean isFail() {
- return fail;
- }
-
- /**
- * Setter for the fail value.
- *
- * @param failVal the new fail value.
- */
- public void setFail(final boolean failVal) {
- this.fail = failVal;
- }
-
- /**
- * Getter for the statusCode value.
- *
- * @return The statusCode value.
- */
- public String getStatusCode() {
- return statusCode;
- }
-
- /**
- * Getter for the subStatusCode.
- *
- * @return The subStatusCode value.
- */
- public String getSubStatusCode() {
- return subStatusCode;
- }
-
- /**
- * Setter for the subStatusCode.
- *
- * @param samlSubStatusCode the new subStatusCode value.
- */
- public void setSubStatusCode(final String samlSubStatusCode) {
- this.subStatusCode = samlSubStatusCode;
- }
-
- /**
- * Setter for the statusMessage value.
- *
- * @param status the new statusMessage value.
- */
- public void setStatusMessage(final String status) {
- this.statusMessage = status;
- }
-
- /**
- * Getter for the statusMessage value.
- *
- * @return The statusMessage value.
- */
- public String getStatusMessage() {
- return statusMessage;
- }
-
- /**
- * Setter for the statusCode value.
- *
- * @param status the new statusCode value.
- */
- public void setStatusCode(final String status) {
- this.statusCode = status;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException{
- STORKLogoutResponse storkLogoutResponse = null;
- storkLogoutResponse = (STORKLogoutResponse) super.clone();
- storkLogoutResponse.setTokenSaml(getTokenSaml());
- return storkLogoutResponse;
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKStatusCode.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKStatusCode.java.svn-base
deleted file mode 100644
index a9c4a156b..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKStatusCode.java.svn-base
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * This enum class contains the SAML Token Status Code.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.13 $, $Date: 2010-11-17 05:15:28 $
- */
-public enum STORKStatusCode {
-
- /** URI for Requester status code. */
- REQUESTER_URI("urn:oasis:names:tc:SAML:2.0:status:Requester"),
-
- /** URI for Responder status code. */
- RESPONDER_URI("urn:oasis:names:tc:SAML:2.0:status:Responder"),
-
- /** URI for Success status code. */
- SUCCESS_URI("urn:oasis:names:tc:SAML:2.0:status:Success"),
-
- /** Attribute is Available. */
- STATUS_AVAILABLE("Available"),
-
- /** Attribute is NotAvailable. */
- STATUS_NOT_AVAILABLE("NotAvailable"),
-
- /** Attribute is Withheld. */
- STATUS_WITHHELD("Withheld");
-
- /**
- * Represents the constant's value.
- */
- private String value;
-
- /**
- * Solo Constructor.
- *
- * @param val The Constant value.
- */
- private STORKStatusCode(final String val) {
-
- this.value = val;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
-
- return value;
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKSubStatusCode.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKSubStatusCode.java.svn-base
deleted file mode 100644
index 0a711c9b7..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKSubStatusCode.java.svn-base
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * This enum class contains the SAML Token Sub Status Code.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.7 $, $Date: 2010-11-17 05:15:28 $
- */
-public enum STORKSubStatusCode {
-
- /** URI for AuthnFailed status code. */
- AUTHN_FAILED_URI("urn:oasis:names:tc:SAML:2.0:status:AuthnFailed"),
-
- /** URI for InvalidAttrNameOrValue status code. */
- INVALID_ATTR_NAME_VALUE_URI(
- "urn:oasis:names:tc:SAML:2.0:status:InvalidAttrNameOrValue"),
-
- /** URI for InvalidNameIDPolicy status code. */
- INVALID_NAMEID_POLICY_URI(
- "urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy"),
-
- /** URI for VersionMismatch status code. */
- VERSION_MISMATCH_URI("urn:oasis:names:tc:SAML:2.0:status:VersionMismatch"),
-
- /** URI for RequestDenied status code. */
- REQUEST_DENIED_URI("urn:oasis:names:tc:SAML:2.0:status:RequestDenied"),
-
- /** URI for QaaNotSupported status code. */
- QAA_NOT_SUPPORTED(
- "http://www.stork.gov.eu/saml20/statusCodes/QAANotSupported");
-
- /**
- * Represents the constant's value.
- */
- private String value;
-
- /**
- * Solo Constructor.
- *
- * @param val The Constant value.
- */
- private STORKSubStatusCode(final String val) {
-
- this.value = val;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
-
- return value;
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/package-info.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/package-info.java.svn-base
deleted file mode 100644
index 58ee7bcac..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/package-info.java.svn-base
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * Common Authentication Service functionalities to be deployed in every PEPS
- * is contained in this package.
- * In particular, it contains the SAML Engine that implements the SAML messages
- * management
- *
- * @since 1.0
- */
-package eu.stork.peps.auth.commons;
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/all-wcprops
deleted file mode 100644
index 14f05b17c..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/all-wcprops
+++ /dev/null
@@ -1,53 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 96
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions
-END
-InvalidParameterPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 131
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidParameterPEPSException.java
-END
-SecurityPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 123
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/SecurityPEPSException.java
-END
-InvalidSessionPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 129
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidSessionPEPSException.java
-END
-package-info.java
-K 25
-svn:wc:ra_dav:version-url
-V 114
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/package-info.java
-END
-CPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 116
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/CPEPSException.java
-END
-StorkPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 120
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/StorkPEPSException.java
-END
-AbstractPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 123
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/AbstractPEPSException.java
-END
-InternalErrorPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 128
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InternalErrorPEPSException.java
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/entries b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/entries
deleted file mode 100644
index 06755237e..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/entries
+++ /dev/null
@@ -1,300 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-InternalErrorPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-36d8f6310e84c550f65bef78d5dc4238
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2471
-
-InvalidParameterPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-c6ad53378b03a346ca0fc48a381ed771
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1800
-
-SecurityPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-78d50b78a69cb0c630e4e14420e3b7be
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2199
-
-InvalidSessionPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-5fd7f04ad6f6cc121084e682b2a4e678
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1555
-
-package-info.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-7055c01b74382c525c7fcf110646d8fc
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-129
-
-CPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-5d3cb4a7303baeaf2104aaa7da301b21
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3570
-
-StorkPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-fea01f750728ea5f15b449acb517f4b2
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1690
-
-AbstractPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-c9aedb030e6dbc9f002c7cd3d52cf03f
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-4422
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/AbstractPEPSException.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/AbstractPEPSException.java.svn-base
deleted file mode 100644
index e9a96d7c2..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/AbstractPEPSException.java.svn-base
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-import java.io.Serializable;
-
-/**
- * Abstract class to represent the various PEPS exceptions.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.13 $, $Date: 2010-11-17 05:15:28 $
- */
-public abstract class AbstractPEPSException extends RuntimeException implements
- Serializable {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = -1884417567740138022L;
-
- /**
- * Error code.
- */
- private String errorCode;
-
- /**
- * Error message.
- */
- private String errorMessage;
-
- /**
- * SAML token.
- */
- private String samlTokenFail;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param code The error code value.
- * @param message The error message value.
- */
- public AbstractPEPSException(final String code, final String message) {
-
- super(message);
- this.errorCode = code;
- this.errorMessage = message;
- }
-
- /**
- * Exception Constructor with the errorMessage as parameters and the Throwable
- * cause.
- *
- * @param message The error message value.
- * @param cause The throwable object.
- */
- public AbstractPEPSException(final String message, final Throwable cause) {
-
- super(message, cause);
- this.errorMessage = message;
- }
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters and the Throwable cause.
- *
- * @param code The error code value.
- * @param message The error message value.
- * @param cause The throwable object.
- */
- public AbstractPEPSException(final String code, final String message,
- final Throwable cause) {
-
- super(message, cause);
- this.errorCode = code;
- this.errorMessage = message;
- }
-
- /**
- * Exception Constructor with three Strings representing the errorCode,
- * errorMessage and encoded samlToken as parameters.
- *
- * @param code The error code value.
- * @param message The error message value.
- * @param samlToken The error SAML Token.
- */
- public AbstractPEPSException(final String code, final String message,
- final String samlToken) {
-
- super(message);
- this.errorCode = code;
- this.errorMessage = message;
- this.samlTokenFail = samlToken;
- }
-
- /**
- * Constructor with SAML Token as argument. Error message and error code are
- * embedded in the SAML.
- *
- * @param samlToken The error SAML Token.
- */
- public AbstractPEPSException(final String samlToken) {
- super();
- this.samlTokenFail = samlToken;
- }
-
- /**
- * Getter for errorCode.
- *
- * @return The errorCode value.
- */
- public final String getErrorCode() {
- return errorCode;
- }
-
- /**
- * Setter for errorCode.
- *
- * @param code The error code value.
- */
- public final void setErrorCode(final String code) {
- this.errorCode = code;
- }
-
- /**
- * Getter for errorMessage.
- *
- * @return The error Message value.
- */
- public final String getErrorMessage() {
- return errorMessage;
- }
-
- /**
- * Setter for errorMessage.
- *
- * @param message The error message value.
- */
- public final void setErrorMessage(final String message) {
- this.errorMessage = message;
- }
-
- /**
- * Getter for SAMLTokenFail.
- *
- * @return The error SAML Token.
- */
- public final String getSamlTokenFail() {
- return samlTokenFail;
- }
-
- /**
- * Setter for SAMLTokenFail.
- *
- * @param samlToken The error SAML token.
- */
- public final void setSamlTokenFail(final String samlToken) {
- this.samlTokenFail = samlToken;
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/CPEPSException.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/CPEPSException.java.svn-base
deleted file mode 100644
index 69cb20fdd..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/CPEPSException.java.svn-base
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-/**
- * This exception is thrown by the C-PEPS service and holds the relative
- * information to present to the citizen.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.9 $, $Date: 2010-11-17 05:15:28 $
- */
-public final class CPEPSException extends RuntimeException {
-
- /**
- * Serial id.
- */
- private static final long serialVersionUID = -4012295047127999362L;
-
- /**
- * Error code.
- */
- private String errorCode;
-
- /**
- * Error message.
- */
- private String errorMessage;
-
- /**
- * SAML token.
- */
- private String samlTokenFail;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param samlToken The SAML Token.
- * @param code The error code value.
- * @param message The error message value.
- */
- public CPEPSException(final String samlToken, final String code,
- final String message) {
-
- super(message);
- this.setErrorCode(code);
- this.setErrorMessage(message);
- this.setSamlTokenFail(samlToken);
- }
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param samlToken The SAML Token.
- * @param code The error code value.
- * @param message The error message value.
- * @param cause The original exception;
- */
- public CPEPSException(final String samlToken, final String code,
- final String message, final Throwable cause) {
-
- super(message, cause);
- this.setErrorCode(code);
- this.setErrorMessage(message);
- this.setSamlTokenFail(samlToken);
- }
-
- /**
- * {@inheritDoc}
- */
- public String getMessage() {
- return this.getErrorMessage() + " (" + this.getErrorCode() + ")";
- }
-
- /**
- * Getter for the error code.
- *
- * @return The errorCode value.
- */
- public String getErrorCode() {
- return errorCode;
- }
-
- /**
- * Setter for the error code.
- *
- * @param code The error code.
- */
- public void setErrorCode(final String code) {
- this.errorCode = code;
- }
-
- /**
- * Getter for the error message.
- *
- * @return The errorMessage value.
- */
- public String getErrorMessage() {
- return errorMessage;
- }
-
- /**
- * Setter for the error message.
- *
- * @param message The error message.
- */
- public void setErrorMessage(final String message) {
- this.errorMessage = message;
- }
-
- /**
- * Getter for the samlTokenFail.
- *
- * @return The samlTokenFail value.
- */
- public String getSamlTokenFail() {
- return samlTokenFail;
- }
-
- /**
- * Setter for the samlTokenFail.
- *
- * @param samlToken The error Saml Token.
- */
- public void setSamlTokenFail(final String samlToken) {
- this.samlTokenFail = samlToken;
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InternalErrorPEPSException.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InternalErrorPEPSException.java.svn-base
deleted file mode 100644
index 67514d4fe..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InternalErrorPEPSException.java.svn-base
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-/**
- * Internal Error Exception class.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.13 $, $Date: 2010-11-17 05:15:28 $
- *
- * @see AbstractPEPSException
- */
-public final class InternalErrorPEPSException extends AbstractPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 1193001455410319795L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters and the Throwable cause.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- * @param cause The throwable object.
- */
- public InternalErrorPEPSException(final String errorCode,
- final String errorMessage, final Throwable cause) {
-
- super(errorCode, errorMessage, cause);
- }
-
- /**
- * Exception Constructor with three strings representing the errorCode,
- * errorMessage and encoded samlToken as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- * @param samlTokenFail The error SAML Token.
- */
- public InternalErrorPEPSException(final String errorCode,
- final String errorMessage, final String samlTokenFail) {
-
- super(errorCode, errorMessage, samlTokenFail);
- }
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- */
- public InternalErrorPEPSException(final String errorCode,
- final String errorMessage) {
-
- super(errorCode, errorMessage);
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidParameterPEPSException.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidParameterPEPSException.java.svn-base
deleted file mode 100644
index 12c83b589..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidParameterPEPSException.java.svn-base
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-/**
- * Invalid Parameter Exception class.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.11 $, $Date: 2010-11-17 05:15:28 $
- *
- * @see InvalidParameterPEPSException
- */
-public class InvalidParameterPEPSException extends AbstractPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 2046282148740524875L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error code message value.
- */
- public InvalidParameterPEPSException(final String errorCode,
- final String errorMessage) {
- super(errorCode, errorMessage);
- }
-
- /**
- * Exception Constructor with one String representing the encoded samlToken.
- *
- * @param samlTokenFail The error SAML Token.
- */
- public InvalidParameterPEPSException(final String samlTokenFail) {
- super(samlTokenFail);
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidSessionPEPSException.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidSessionPEPSException.java.svn-base
deleted file mode 100644
index 800525eee..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidSessionPEPSException.java.svn-base
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-/**
- * Invalid session Exception class.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.14 $, $Date: 2010-11-17 05:15:28 $
- *
- * @see InvalidParameterPEPSException
- */
-public class InvalidSessionPEPSException extends InvalidParameterPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 7147090160978319016L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- */
- public InvalidSessionPEPSException(final String errorCode,
- final String errorMessage) {
-
- super(errorCode, errorMessage);
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/SecurityPEPSException.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/SecurityPEPSException.java.svn-base
deleted file mode 100644
index fc27371d2..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/SecurityPEPSException.java.svn-base
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-/**
- * Security PEPS Exception class.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.18 $, $Date: 2010-11-17 05:15:28 $
- *
- * @see AbstractPEPSException
- */
-public final class SecurityPEPSException extends AbstractPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 5605743302478554967L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMsg The error message value.
- */
- public SecurityPEPSException(final String errorCode, final String errorMsg) {
- super(errorCode, errorMsg);
- }
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters and the Throwable cause.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- * @param cause The throwable object.
- */
- public SecurityPEPSException(final String errorCode,
- final String errorMessage, final Throwable cause) {
-
- super(errorCode, errorMessage, cause);
- }
-
- /**
- * Exception Constructor with one String representing the encoded samlToken.
- *
- * @param samlTokenFail The error SAML Token.
- */
- public SecurityPEPSException(final String samlTokenFail) {
- super(samlTokenFail);
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/StorkPEPSException.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/StorkPEPSException.java.svn-base
deleted file mode 100644
index a2da61a02..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/StorkPEPSException.java.svn-base
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-/**
- * Security PEPS Exception class.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.15 $, $Date: 2010-11-17 05:15:28 $
- *
- * @see AbstractPEPSException
- */
-public final class StorkPEPSException extends AbstractPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 8048033129798427574L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMsg The error message value.
- */
- public StorkPEPSException(final String errorCode, final String errorMsg) {
- super(errorCode, errorMsg);
- }
-
- /**
- * {@inheritDoc}
- */
- public String getMessage() {
-
- return "Security Error (" + this.getErrorCode() + ") processing request : "
- + this.getErrorMessage();
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/package-info.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/package-info.java.svn-base
deleted file mode 100644
index 1a3c57329..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/package-info.java.svn-base
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * Package for the PEPS’ Exceptions handling.
- *
- * @since 1.0
- */
-package eu.stork.peps.auth.commons.exceptions;
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/all-wcprops
deleted file mode 100644
index 3cd5d5378..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/all-wcprops
+++ /dev/null
@@ -1,41 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 87
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/specific
-END
-IDeriveAttribute.java
-K 25
-svn:wc:ra_dav:version-url
-V 108
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/specific/IDeriveAttribute.java
-END
-IAUService.java
-K 25
-svn:wc:ra_dav:version-url
-V 103
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/specific/IAUService.java
-END
-INormaliseValue.java
-K 25
-svn:wc:ra_dav:version-url
-V 107
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/specific/INormaliseValue.java
-END
-ITranslatorService.java
-K 25
-svn:wc:ra_dav:version-url
-V 111
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/specific/ITranslatorService.java
-END
-package-info.java
-K 25
-svn:wc:ra_dav:version-url
-V 104
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/specific/package-info.java
-END
-ICheckAttributeValue.java
-K 25
-svn:wc:ra_dav:version-url
-V 112
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/specific/ICheckAttributeValue.java
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/entries b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/entries
deleted file mode 100644
index 1dfa9b9fc..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/entries
+++ /dev/null
@@ -1,232 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork/peps/auth/specific
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-IDeriveAttribute.java
-file
-
-
-
-
-2013-12-20T12:27:56.654475Z
-dce3856a97583f739cdf50ca78491277
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1504
-
-IAUService.java
-file
-
-
-
-
-2014-01-21T08:38:55.228702Z
-b622aaaa29b0cd72261ca7799db691b9
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-7023
-
-INormaliseValue.java
-file
-
-
-
-
-2013-12-20T12:27:56.654475Z
-09f6e376875762fca294be4dfecb71f1
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1237
-
-ITranslatorService.java
-file
-
-
-
-
-2014-01-21T08:38:55.228702Z
-c027ed5506150c744b8e586b325de5fb
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3120
-
-package-info.java
-file
-
-
-
-
-2013-12-20T12:27:56.654475Z
-eef7721d55c2edb02a432fc08ae9e487
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-164
-
-ICheckAttributeValue.java
-file
-
-
-
-
-2013-12-20T12:27:56.654475Z
-b0472ff15d1c86f175da134b0f0eda71
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1321
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IAUService.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IAUService.java.svn-base
deleted file mode 100644
index 5c24cc5a8..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IAUService.java.svn-base
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.specific;
-
-import java.util.Map;
-
-import eu.stork.peps.auth.commons.IPersonalAttributeList;
-import eu.stork.peps.auth.commons.IStorkSession;
-import eu.stork.peps.auth.commons.STORKAttrQueryResponse;
-import eu.stork.peps.auth.commons.STORKAuthnResponse;
-
-/**
- * Interface for Specific Authentication methods.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
- */
-public interface IAUService {
-
- /**
- * Prepares the citizen to be redirected to the IdP.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param session The session object.
- * @param requestAttributes The Requested attributes.
- *
- * @return byte[] containing a SAML Request.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- byte[] prepareCitizenAuthentication(IPersonalAttributeList personalList,
- Map<String, Object> parameters, Map<String, Object> requestAttributes,
- IStorkSession session);
-
- /**
- * Prepares the citizen to be redirected to the PV.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param session The session object.
- * @param requestAttributes The Requested attributes.
- *
- * @return byte[] containing a SAML Request.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- byte[] preparePVRequest(IPersonalAttributeList personalList,
- Map<String, Object> parameters, Map<String, Object> requestAttributes,
- IStorkSession session);
-
- /**
- * Authenticates a citizen.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param requestAttributes The requested attributes.
- *
- * @return The updated Personal Attribute List.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList authenticateCitizen(
- IPersonalAttributeList personalList, Map<String, Object> parameters,
- Map<String, Object> requestAttributes);
-
- /**
- * Validates a power.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param requestAttributes The requested attributes.
- *
- * @return The updated Personal Attribute List (power validated).
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList powerValidation(
- IPersonalAttributeList personalList, Map<String, Object> parameters,
- Map<String, Object> requestAttributes);
-
- /**
- * Prepares the Citizen browser to be redirected to the AP.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param session The session object.
- * @param requestAttributes The requested attributes.
- *
- * @return true in case of no error.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- boolean prepareAPRedirect(IPersonalAttributeList personalList,
- Map<String, Object> parameters, Map<String, Object> requestAttributes,
- IStorkSession session);
-
- /**
- * Returns the attributes values from the AP.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param requestAttributes The request attributes.
- *
- * @return The updated Personal Attribute List.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList getAttributesFromAttributeProviders(
- IPersonalAttributeList personalList, Map<String, Object> parameters,
- Map<String, Object> requestAttributes);
-
- /**
- * Get the attributes from the AP with verification.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The HTTP Parameters.
- * @param requestAttributes The requested Attributes.
- * @param session The session object.
- * @param auProcessId The SAML identifier.
- *
- * @return true if the attributes were correctly verified.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- boolean getAttributesWithVerification(IPersonalAttributeList personalList,
- Map<String, Object> parameters, Map<String, Object> requestAttributes,
- IStorkSession session, String auProcessId);
-
- /**
- * Validates a SAML Response.
- *
- * @param samlToken The SAML Token.
- * @param session The session object.
- *
- * @return the STORKAuthnResponse associated with the validated response.
- *
- * @see IStorkSession
- */
- STORKAuthnResponse processAuthenticationResponse(byte[] samlToken,
- IStorkSession session);
-
- /**
- * Generates a SAML Response in case of error.
- *
- * @param inResponseTo The SAML's identifier to response.
- * @param issuer The issuer value.
- * @param assertionURL The assertion URL.
- * @param code The error code.
- * @param subcode The sub error code.
- * @param message The error message.
- * @param ipUserAddress The user IP address.
- *
- * @return byte[] containing the SAML Response.
- */
- byte[] generateErrorAuthenticationResponse(String inResponseTo,
- String issuer, String assertionURL, String code, String subcode,
- String message, String ipUserAddress);
-
- /**
- * Compares two given personal attribute lists.
- *
- * @param original The original Personal Attribute List.
- * @param modified The modified Personal Attribute List.
- * @return true if the original list contains the modified one. False
- * otherwise.
- *
- * @see IPersonalAttributeList
- */
- boolean comparePersonalAttributeLists(IPersonalAttributeList original,
- IPersonalAttributeList modified);
-
- /**
- * Prepares the citizen to be redirected to the AtP.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param session The session object.
- *
- * @return byte[] containing a SAML Request.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- byte[] prepareAttributeRequest(IPersonalAttributeList personalList,
- Map<String, Object> parameters, IStorkSession session);
-
- /**
- * Validates a SAML Response.
- *
- * @param samlToken The SAML Token.
- * @param session The session object.
- *
- * @return the STORKAttrQueryResponse associated with the validated response.
- *
- * @see IStorkSession
- */
- STORKAttrQueryResponse processAttributeResponse(byte[] samlToken,
- IStorkSession session);
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ICheckAttributeValue.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ICheckAttributeValue.java.svn-base
deleted file mode 100644
index 31a8d78ff..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ICheckAttributeValue.java.svn-base
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.specific;
-
-import java.util.List;
-
-/**
- * Interface that defines the methods to work with the validation of attributes.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
- */
-public interface ICheckAttributeValue {
-
- /**
- * Checks if the list of values contains the expected value.
- *
- * @param values The List of values.
- * @param expectedValue The value to check if it exists on the list.
- *
- * @return boolean true, if the value is present in the list. False,
- * otherwise.
- */
- boolean checkValue(List<String> values, String expectedValue);
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IDeriveAttribute.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IDeriveAttribute.java.svn-base
deleted file mode 100644
index 78eb53004..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IDeriveAttribute.java.svn-base
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.specific;
-
-import eu.stork.peps.auth.commons.IStorkSession;
-import eu.stork.peps.auth.commons.PersonalAttribute;
-
-/**
- * Interface that defines the methods to work with derivation of attributes.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
- */
-public interface IDeriveAttribute {
-
- /**
- * Derives the attribute value. Set the Personal Attribute value to null if
- * the value in session or the value of age are invalid (non-numeric or null).
- *
- * @param personalAttrList The Personal Attribute List.
- * @param session The session object.
- *
- * @see PersonalAttribute The personal Attribute
- * @see IStorkSession The session object.
- */
- void deriveAttributeToData(PersonalAttribute personalAttrList,
- IStorkSession session);
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/INormaliseValue.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/INormaliseValue.java.svn-base
deleted file mode 100644
index ca2114e32..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/INormaliseValue.java.svn-base
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.specific;
-
-import eu.stork.peps.auth.commons.PersonalAttribute;
-
-/**
- * Interface for attribute's value normalisation.
- *
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
- */
-public interface INormaliseValue {
-
- /**
- * Translates the attribute's value from local format to STORK format.
- *
- * @param personalAttribute The Personal Attribute to normalise the value.
- *
- * @see PersonalAttribute
- */
- void normaliseAttributeValueToStork(PersonalAttribute personalAttribute);
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ITranslatorService.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ITranslatorService.java.svn-base
deleted file mode 100644
index 8a33897d8..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ITranslatorService.java.svn-base
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.specific;
-
-import eu.stork.peps.auth.commons.IPersonalAttributeList;
-import eu.stork.peps.auth.commons.IStorkSession;
-import eu.stork.peps.auth.commons.STORKAuthnRequest;
-
-/**
- * Interface for attributes normalization.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
- */
-public interface ITranslatorService {
-
- /**
- * Translates the attributes from local format to STORK format.
- *
- * @param personalList The Personal Attribute List.
- *
- * @return The Personal Attribute List with normalised attributes.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList normaliseAttributeNamesToStork(
- IPersonalAttributeList personalList);
-
- /**
- * Translates the attributes values from local format to STORK format.
- *
- * @param personalList The Personal Attribute List.
- *
- * @return The PersonalAttributeList with normalised values.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList normaliseAttributeValuesToStork(
- IPersonalAttributeList personalList);
-
- /**
- * Translates the attributes from STORK format to local format.
- *
- * @param personalList The Personal Attribute List.
- *
- * @return The PersonalAttributeList with normalised attributes.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList normaliseAttributeNamesFromStork(
- IPersonalAttributeList personalList);
-
- /**
- * Derive Attribute Names To Stork format.
- *
- * @param personalList The Personal Attribute List,
- *
- * @return The PersonalAttributeList with derived attributes.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList deriveAttributeFromStork(
- IPersonalAttributeList personalList);
-
- /**
- * Derive Attribute Names from Stork format.
- *
- * @param session The session object.
- * @param modifiedList The Personal Attribute List.
- *
- * @return The PersonalAttributeList with derived attributes.
- *
- * @see IStorkSession
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList deriveAttributeToStork(IStorkSession session,
- IPersonalAttributeList modifiedList);
-
- /**
- * Validate the values of the attributes.
- *
- * @param pal The attribute list
- *
- * @return True, if all the attributes have values. False, otherwise.
- *
- * @see STORKAuthnRequest
- */
- boolean checkAttributeValues(IPersonalAttributeList pa);
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/package-info.java.svn-base b/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/package-info.java.svn-base
deleted file mode 100644
index 7b2fac5ef..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/package-info.java.svn-base
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Specific PEPS Interfaces that implements functionality of the Authentication
- * Service.
- *
- * @since 1.0
- */
-package eu.stork.peps.auth.specific;
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/resources/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/main/resources/.svn/all-wcprops
deleted file mode 100644
index 48074222b..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/resources/.svn/all-wcprops
+++ /dev/null
@@ -1,11 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 63
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/resources
-END
-log4j.xml
-K 25
-svn:wc:ra_dav:version-url
-V 73
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/resources/log4j.xml
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/main/resources/.svn/entries b/id/server/legacy-backup/stork2-commons/src/main/resources/.svn/entries
deleted file mode 100644
index 4e038b836..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/resources/.svn/entries
+++ /dev/null
@@ -1,62 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/resources
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-log4j.xml
-file
-
-
-
-
-2013-12-20T12:27:56.554475Z
-aa8c46e41a236b8c7049713b3eeecc49
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-660
-
diff --git a/id/server/legacy-backup/stork2-commons/src/main/resources/.svn/text-base/log4j.xml.svn-base b/id/server/legacy-backup/stork2-commons/src/main/resources/.svn/text-base/log4j.xml.svn-base
deleted file mode 100644
index 8bce0bec0..000000000
--- a/id/server/legacy-backup/stork2-commons/src/main/resources/.svn/text-base/log4j.xml.svn-base
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
- <appender name="MainLogger" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="/opt/storklogs/stork-commons.log" />
- <param name="DatePattern" value="'.'yyyy-MM-dd" />
- <param name="Append" value="true" />
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d{HH:mm:ss:SSS} - %p - %C{1} - %m%n" />
- </layout>
- </appender>
-
- <root>
- <priority value="info" />
- <appender-ref ref="MainLogger" />
- </root>
-
-</log4j:configuration>
diff --git a/id/server/legacy-backup/stork2-commons/src/test/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/test/.svn/all-wcprops
deleted file mode 100644
index 48b797f41..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 54
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/test
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/test/.svn/entries b/id/server/legacy-backup/stork2-commons/src/test/.svn/entries
deleted file mode 100644
index 20b446883..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/.svn/entries
+++ /dev/null
@@ -1,34 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-java
-dir
-
-resources
-dir
-
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/test/java/.svn/all-wcprops
deleted file mode 100644
index 6957eb776..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 59
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/test/java
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/.svn/entries b/id/server/legacy-backup/stork2-commons/src/test/java/.svn/entries
deleted file mode 100644
index ae019ed10..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test/java
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-eu
-dir
-
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/test/java/eu/.svn/all-wcprops
deleted file mode 100644
index 51a31d6f6..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 62
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/test/java/eu
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/.svn/entries b/id/server/legacy-backup/stork2-commons/src/test/java/eu/.svn/entries
deleted file mode 100644
index f649532fd..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test/java/eu
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-stork
-dir
-
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/.svn/all-wcprops
deleted file mode 100644
index dece991f4..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 68
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/test/java/eu/stork
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/.svn/entries b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/.svn/entries
deleted file mode 100644
index ed1d5001e..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test/java/eu/stork
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-peps
-dir
-
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/.svn/all-wcprops
deleted file mode 100644
index 57300d6a5..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 73
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/test/java/eu/stork/peps
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/.svn/entries b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/.svn/entries
deleted file mode 100644
index 5908857a7..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test/java/eu/stork/peps
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-tests
-dir
-
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/all-wcprops
deleted file mode 100644
index 0bc94ebcd..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/all-wcprops
+++ /dev/null
@@ -1,53 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 79
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/test/java/eu/stork/peps/tests
-END
-PersonalAttributeTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 109
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/test/java/eu/stork/peps/tests/PersonalAttributeTestCase.java
-END
-package-info.java
-K 25
-svn:wc:ra_dav:version-url
-V 96
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/test/java/eu/stork/peps/tests/package-info.java
-END
-DateUtilTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 100
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/test/java/eu/stork/peps/tests/DateUtilTestCase.java
-END
-AttributeProvidersMapTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 114
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/test/java/eu/stork/peps/tests/AttributeProvidersMapTestCase.java
-END
-AttributeUtilTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 105
-/CITnet/svn/STORK2/!svn/ver/96/trunk/Commons/src/test/java/eu/stork/peps/tests/AttributeUtilTestCase.java
-END
-PersonalAttributeListTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 114
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/test/java/eu/stork/peps/tests/PersonalAttributeListTestCase.java
-END
-AttributeSourceTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 108
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/test/java/eu/stork/peps/tests/AttributeSourceTestCase.java
-END
-PEPSUtilTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 100
-/CITnet/svn/STORK2/!svn/ver/96/trunk/Commons/src/test/java/eu/stork/peps/tests/PEPSUtilTestCase.java
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/entries b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/entries
deleted file mode 100644
index 8a8c64359..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/entries
+++ /dev/null
@@ -1,300 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test/java/eu/stork/peps/tests
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-AttributeSourceTestCase.java
-file
-
-
-
-
-2014-01-21T08:38:55.140702Z
-28eeedf050cdff69d4d2cca83a98bcc8
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2363
-
-PEPSUtilTestCase.java
-file
-
-
-
-
-2013-12-20T12:27:56.518475Z
-f54beadeab9af936f44af326eb1116d2
-2013-11-01T20:35:30.927048Z
-96
-emferreri
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-16714
-
-PersonalAttributeTestCase.java
-file
-
-
-
-
-2013-12-20T12:27:56.518475Z
-77386880d5ffadd21c9b3a3c7d51b990
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-5449
-
-package-info.java
-file
-
-
-
-
-2013-12-20T12:27:56.518475Z
-04f136539bda0caa3d5ccdfee912cfce
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-92
-
-DateUtilTestCase.java
-file
-
-
-
-
-2013-12-20T12:27:56.518475Z
-244cc6104660a7835dbf72dadb305d71
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-8907
-
-AttributeProvidersMapTestCase.java
-file
-
-
-
-
-2014-01-21T08:38:55.140702Z
-943e143bcc0ee8e573997e358859d6f2
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3809
-
-AttributeUtilTestCase.java
-file
-
-
-
-
-2013-12-20T12:27:56.518475Z
-6037f125adf7f4c2f6873a0d99ab0705
-2013-11-01T20:35:30.927048Z
-96
-emferreri
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-16318
-
-PersonalAttributeListTestCase.java
-file
-
-
-
-
-2014-01-21T08:38:55.140702Z
-ae552dce95a6b83d15e381306e2f5e59
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-24508
-
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeProvidersMapTestCase.java.svn-base b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeProvidersMapTestCase.java.svn-base
deleted file mode 100644
index 782b3d02d..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeProvidersMapTestCase.java.svn-base
+++ /dev/null
@@ -1,134 +0,0 @@
-package eu.stork.peps.tests;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.AttributeProvider;
-import eu.stork.peps.auth.commons.AttributeProvidersMap;
-import eu.stork.peps.auth.commons.AttributeSource;
-import eu.stork.peps.auth.commons.Country;
-import eu.stork.peps.auth.commons.IAttributeProvidersMap;
-import eu.stork.peps.auth.commons.IPersonalAttributeList;
-import eu.stork.peps.auth.commons.PersonalAttributeList;
-
-/**
- * The AttributeSource's Test Case.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: $, $Date: $
- */
-public class AttributeProvidersMapTestCase {
-
- @Test
- public void testObjectOK1() {
- IAttributeProvidersMap map = new AttributeProvidersMap();
- AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1"), "URL");
- IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(source) ) {
- outcome = true;
- }
-
- assertTrue(outcome);
- }
-
- @Test
- public void testObjectOK2() {
- IAttributeProvidersMap map = new AttributeProvidersMap();
- AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1"), "URL");
- IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(source) ) {
- if ( map.get(source)!=null ) {
- outcome = true;
- }
- }
-
- assertTrue(outcome);
- }
-
- @Test
- public void testObjectOK3() {
- IAttributeProvidersMap map = new AttributeProvidersMap();
- AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1"), "URL");
- AttributeSource target = new AttributeSource(new AttributeProvider("ID1", "Name 1"), "URL");
- IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(target) ) {
- outcome = true;
- }
-
- assertTrue(outcome);
- }
-
- @Test
- public void testObjectOK4() {
- IAttributeProvidersMap map = new AttributeProvidersMap();
- AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1"), "URL");
- AttributeSource target = new AttributeSource(new AttributeProvider("ID1", "Name 1"), "URL");
- IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(target) ) {
- if ( map.get(target)!=null ) {
- outcome = true;
- }
- }
-
- assertTrue(outcome);
- }
-
- @Test
- public void testObjectNOK1() {
- IAttributeProvidersMap map = new AttributeProvidersMap();
- AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1"), "URL");
- AttributeSource target = new AttributeSource(new Country("ID1", "Name 1"), "URL");
- IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(target) ) {
- outcome = true;
- }
-
- assertFalse(outcome);
- }
-
- @Test
- public void testObjectNOK2() {
- IAttributeProvidersMap map = new AttributeProvidersMap();
- AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1"), "URL");
- AttributeSource target = new AttributeSource(new AttributeProvider("ID2", "Name 1"), "URL");
- IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(target) ) {
- outcome = true;
- }
-
- assertFalse(outcome);
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeSourceTestCase.java.svn-base b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeSourceTestCase.java.svn-base
deleted file mode 100644
index 96b2c8317..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeSourceTestCase.java.svn-base
+++ /dev/null
@@ -1,88 +0,0 @@
-package eu.stork.peps.tests;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.AttributeProvider;
-import eu.stork.peps.auth.commons.AttributeSource;
-import eu.stork.peps.auth.commons.Country;
-
-/**
- * The AttributeSource's Test Case.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: $, $Date: $
- */
-public final class AttributeSourceTestCase {
- private AttributeSource ap1 = new AttributeSource(new AttributeProvider("ID1", "Name 1"), "URL1");
- private AttributeSource ap2 = new AttributeSource(new AttributeProvider("ID2", "Name 2"), "URL2");
- private AttributeSource ap3 = new AttributeSource(new AttributeProvider("ID1", "Name 2"), "URL2");
- private AttributeSource ap4 = new AttributeSource(new AttributeProvider("ID1", "Name 2"), "URL1");
- private AttributeSource ap5 = new AttributeSource(new AttributeProvider("ID1", "Name 1"), "URL1");
-
- private AttributeSource c1 = new AttributeSource(new Country("ID1", "Name 1"), "URL1");
- private AttributeSource c2 = new AttributeSource(new Country("ID2", "Name 2"), "URL2");
- private AttributeSource c3 = new AttributeSource(new Country("ID1", "Name 2"), "URL2");
- private AttributeSource c4 = new AttributeSource(new Country("ID1", "Name 2"), "URL1");
- private AttributeSource c5 = new AttributeSource(new Country("ID1", "Name 1"), "URL1");
-
- @Test
- public void testNotEquals1() {
- assertFalse(ap1.equals(ap2));
- }
-
- @Test
- public void testNotEquals2() {
- assertFalse(ap1.equals(c1));
- }
-
- @Test
- public void testNotEquals3() {
- assertFalse(c1.equals(c2));
- }
-
- @Test
- public void testEquals1() {
- assertTrue(ap1.equals(ap3));
- }
-
- @Test
- public void testEquals2() {
- assertTrue(ap1.equals(ap4));
- }
-
- @Test
- public void testEquals3() {
- assertTrue(ap1.equals(ap5));
- }
-
- @Test
- public void testEquals4() {
- assertTrue(c1.equals(c3));
- }
-
- @Test
- public void testEquals5() {
- assertTrue(c1.equals(c4));
- }
-
- @Test
- public void testEquals6() {
- assertTrue(c1.equals(c5));
- }
-
- @Test
- public void testEquals7() {
- Object obj = ap5;
- assertTrue(ap1.equals(obj));
- }
-
- @Test
- public void testEquals8() {
- Object obj = c5;
- assertTrue(c1.equals(obj));
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeUtilTestCase.java.svn-base b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeUtilTestCase.java.svn-base
deleted file mode 100644
index 77fc4b9c2..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeUtilTestCase.java.svn-base
+++ /dev/null
@@ -1,537 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.tests;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertEquals;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.AttributeUtil;
-import eu.stork.peps.auth.commons.IPersonalAttributeList;
-import eu.stork.peps.auth.commons.PEPSValues;
-import eu.stork.peps.auth.commons.PersonalAttributeList;
-
-/**
- * The AttributeUtil's Test Case.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com
- *
- * @version $Revision: $, $Date: $
- */
-public final class AttributeUtilTestCase {
-
- /**
- * Empty String to be used on the tests.
- */
- private static final String EMPTY_STRING = "";
-
- /**
- * Tuple value sample to be used on the tests.
- */
- private static final String[] TUPLE_STRING = new String[] { "age", "true",
- "[18]", "Available" };
-
- /**
- * Complex value to be used on escape/unescape tests.
- */
- private static final String COMPLEX_VAL = "postalCode=4100,"
- + "apartmentNumber=A,state=Porto,countryCodeAddress=PT,streetNumber=379,"
- + "streetName=Avenida Sidonio Pais,town=Porto,";
-
- /**
- * Escaped Complex value to be used on escape/unescape tests.
- */
- private static final String ESC_COMPLEX_VAL = "postalCode=4100%44"
- + "apartmentNumber=A%44state=Porto%44countryCodeAddress=PT%44"
- + "streetNumber=379%44streetName=Avenida Sidonio Pais%44town=Porto%44";
-
- /**
- * Simple value to be used on escape/unescape tests.
- */
- private static final String SIMPLE_VAL = "Avenida da Boavista, Porto";
-
- /**
- * Escaped simple value to be used on escape/unescape tests.
- */
- private static final String ESC_SIMPLE_VAL = "Avenida da Boavista%44 Porto";
-
- /**
- * Simple text to be used on escape/unescape tests. Must match the escaped
- * text.
- */
- private static final String SIMPLE_TEXT = "John Doe";
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given complex
- * attribute value (canonical address' example attribute value).
- */
- @Test
- public void testEscapeSpecialCharsComplexVal() {
- assertEquals(AttributeUtil.escape(COMPLEX_VAL), ESC_COMPLEX_VAL);
- }
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given
- * attribute value.
- */
- @Test
- public void testEscapeSpecialCharsVal() {
- assertEquals(AttributeUtil.escape(SIMPLE_VAL), ESC_SIMPLE_VAL);
- }
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given simple
- * text: no special characters to escape.
- */
- @Test
- public void testEscapeNormalChars() {
- assertEquals(AttributeUtil.escape(SIMPLE_TEXT), SIMPLE_TEXT);
- }
-
- /**
- * Tests the {@link AttributeUtil#unescape(String)} method for the given
- * escape complex attribute value (canonical address' example attribute
- * value).
- */
- @Test
- public void testUnescapeSpecialCharsComplexVal() {
- assertEquals(AttributeUtil.unescape(ESC_COMPLEX_VAL), COMPLEX_VAL);
- }
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given escape
- * attribute value.
- */
- @Test
- public void testUnescapeSpecialCharsVal() {
- assertEquals(AttributeUtil.unescape(ESC_SIMPLE_VAL), SIMPLE_VAL);
- }
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given simple
- * text: no special characters to unescape.
- */
- @Test
- public void testUnescapeNormalChars() {
- assertEquals(AttributeUtil.unescape(SIMPLE_TEXT), SIMPLE_TEXT);
- }
-
- /**
- * Tests the {@link AttributeUtil#appendIfNotNull(StringBuilder, Object)}
- * method for the given empty string.
- */
- @Test
- public void testAppendIfNotNullEmptyStr() {
- final StringBuilder strBuilder = new StringBuilder(SIMPLE_TEXT);
- AttributeUtil.appendIfNotNull(strBuilder, EMPTY_STRING);
- assertEquals(strBuilder.toString(), SIMPLE_TEXT);
- }
-
- /**
- * Tests the {@link AttributeUtil#appendIfNotNull(StringBuilder, Object)}
- * method for the given string.
- */
- @Test
- public void testAppendIfNotNullStr() {
- final StringBuilder strBuilder = new StringBuilder();
- AttributeUtil.appendIfNotNull(strBuilder, SIMPLE_TEXT);
- assertEquals(strBuilder.toString(), SIMPLE_TEXT);
- }
-
- /**
- * Tests the {@link AttributeUtil#appendIfNotNull(StringBuilder, Object)}
- * method for the given null value.
- */
- @Test
- public void testAppendIfNotNull() {
- final StringBuilder strBuilder = new StringBuilder();
- AttributeUtil.appendIfNotNull(strBuilder, null);
- assertEquals(strBuilder.toString(), EMPTY_STRING);
- }
-
- /**
- * Tests the {@link AttributeUtil#listToString(List, String)} method for the
- * given List with two values.
- */
- @Test
- public void testListToStringTwoVals() {
- final List<String> vals = new ArrayList<String>();
- vals.add(SIMPLE_VAL);
- vals.add(SIMPLE_TEXT);
-
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append(SIMPLE_TEXT);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- assertEquals(
- AttributeUtil.listToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#listToString(List, String)} method for the
- * given List with one values.
- */
- @Test
- public void testListToStringOneVal() {
- final List<String> vals = new ArrayList<String>();
- vals.add(SIMPLE_VAL);
-
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- assertEquals(
- AttributeUtil.listToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#listToString(List, String)} method for the
- * given List with one value.
- */
- @Test
- public void testListToStringEmptyVal() {
- final List<String> vals = new ArrayList<String>();
-
- final StringBuilder strBuilder = new StringBuilder();
-
- assertEquals(
- AttributeUtil.listToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#mapToString(java.util.Map, String)} method
- * for the given Map with one value.
- */
- @Test
- public void testMapToStringOneVal() {
- final Map<String, String> vals = new HashMap<String, String>();
- vals.put("CanonicalAddress", COMPLEX_VAL);
-
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("CanonicalAddress=");
- strBuilder.append(ESC_COMPLEX_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- assertEquals(AttributeUtil.mapToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#mapToString(java.util.Map, String)} method
- * for the given empty Map.
- */
- @Test
- public void testMapToStringEmptyVal() {
- final Map<String, String> vals = new HashMap<String, String>();
-
- final StringBuilder strBuilder = new StringBuilder();
-
- assertEquals(AttributeUtil.mapToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * invalid List.
- */
- @Test
- public void testIsValidValueInvalidList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append("]");
- assertFalse(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * null value.
- */
- @Test
- public void testIsValidValueNullList() {
- assertFalse(AttributeUtil.isValidValue(null));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * empty List.
- */
- @Test
- public void testIsValidValueEmptyList() {
- assertTrue(AttributeUtil.isValidValue("[]"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * empty List.
- */
- @Test
- public void testIsValidValueEmptyCommaList() {
- assertTrue(AttributeUtil.isValidValue("[,]"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * one simple value List.
- */
- @Test
- public void testIsValidValueOneValueList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * one simple value List.
- */
- @Test
- public void testIsValidValueOneValueCommaList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * one complex value List.
- */
- @Test
- public void testIsValidValueOneComplexValueList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_COMPLEX_VAL);
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * one complex value List.
- */
- @Test
- public void testIsValidValueOneComplexValueCommaList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_COMPLEX_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * multi value List.
- */
- @Test
- public void testIsValidValueMultiValueList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append(SIMPLE_TEXT);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * invalid multi value List.
- */
- @Test
- public void testIsValidValueInvalidMultiValueList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append(SIMPLE_TEXT);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append("]");
- assertFalse(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * true type.
- */
- @Test
- public void testIsValidTypetrue() {
- assertTrue(AttributeUtil.isValidType("true"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * True type.
- */
- @Test
- public void testIsValidTypeTrue() {
- assertTrue(AttributeUtil.isValidType("True"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * TRUE type.
- */
- @Test
- public void testIsValidTypeTRUE() {
- assertTrue(AttributeUtil.isValidType("TRUE"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * invalid type.
- */
- @Test
- public void testIsValidTypeInvalidType() {
- assertFalse(AttributeUtil.isValidType("str"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * false type.
- */
- @Test
- public void testIsValidTypefalse() {
- assertTrue(AttributeUtil.isValidType("false"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * False type.
- */
- @Test
- public void testIsValidTypeFalse() {
- assertTrue(AttributeUtil.isValidType("False"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * FALSE type.
- */
- @Test
- public void testIsValidTypeFALSEVal() {
- assertTrue(AttributeUtil.isValidType("False"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * null.
- */
- @Test
- public void testIsValidTypeNullVal() {
- assertFalse(AttributeUtil.isValidType(null));
- }
-
- /**
- * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
- * given valid tuple.
- */
- @Test
- public void testHasValidTuples() {
- assertTrue(AttributeUtil.hasValidTuples(TUPLE_STRING));
- }
-
- /**
- * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
- * given invalid tuple.
- */
- @Test
- public void testHasValidTuplesInvalid() {
- final String[] tuple = new String[]{"name", "type"};
- assertFalse(AttributeUtil.hasValidTuples(tuple));
- }
-
- /**
- * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
- * given invalid tuple with valid size.
- */
- @Test
- public void testHasValidTuplesSameSizeInvalidValues() {
- final String[] tuple = new String[] { "age", "type", "[18]", "Available"};
- assertFalse(AttributeUtil.hasValidTuples(tuple));
- }
-
- /**
- * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
- * given null value.
- */
- @Test
- public void testHasValidTuplesNull() {
- assertFalse(AttributeUtil.hasValidTuples(null));
- }
-
- /**
- * Tests the
- * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
- * method for the given attribute list..
- */
- @Test
- public void testCheckMandatoryAttributes() {
- final IPersonalAttributeList attrList = new PersonalAttributeList();
- attrList.populate("isAgeOver:true:[18,]:Available;");
- assertTrue(AttributeUtil.checkMandatoryAttributes(attrList));
-
- }
-
- /**
- * Tests the
- * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
- * method for the given null value.
- */
- @Test(expected = NullPointerException.class)
- public void testCheckMandatoryAttributesNullAttrList() {
- assertTrue(AttributeUtil.checkMandatoryAttributes(null));
- }
-
- /**
- * Tests the
- * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
- * method for the given empty attribute list.
- */
- @Test
- public void testCheckMandatoryAttributesEmptyAttrList() {
- final IPersonalAttributeList attrList = new PersonalAttributeList();
- assertTrue(AttributeUtil.checkMandatoryAttributes(attrList));
- }
-
- /**
- * Tests the
- * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
- * method for the given attribute list (missing mandatory attribute).
- */
- @Test
- public void testCheckMandatoryAttributesMissingAttr() {
- final IPersonalAttributeList attrList = new PersonalAttributeList();
- attrList.populate("isAgeOver:true:[]:NotAvailable;");
- assertFalse(AttributeUtil.checkMandatoryAttributes(attrList));
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/DateUtilTestCase.java.svn-base b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/DateUtilTestCase.java.svn-base
deleted file mode 100644
index 5d2296997..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/DateUtilTestCase.java.svn-base
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.tests;
-
-import java.sql.Timestamp;
-import java.util.Properties;
-
-import org.joda.time.DateTime;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.DateUtil;
-import eu.stork.peps.auth.commons.PEPSUtil;
-import eu.stork.peps.auth.commons.exceptions.SecurityPEPSException;
-
-/**
- * The PersonalAttribute's Test Case.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.2 $, $Date: 2010-11-17 05:17:03 $
- */
-public final class DateUtilTestCase {
-
- /**
- * Stork Format date.
- */
- private static final String FORMAT = "yyyyMMdd";
-
- /**
- * Expected 10 value.
- */
- private static final int TEN = 10;
-
- /**
- * Expected 11 value.
- */
- private static final int ELEVEN = 11;
-
- /**
- * The testing Date ("current" date).
- */
- private static final DateTime TESTDATE = new DateTime(2011, 10, 10, 15, 20,
- 0, 0);
-
- /**
- * Init DateUtilTestCase class.
- */
- @BeforeClass
- public static void runsBeforeTheTestSuite() {
- final Properties configs = new Properties();
- configs.setProperty("invalidAgeDateValue.code", "35");
- configs.setProperty("invalidAttributeValue.code", "34");
- configs
- .setProperty(
- "invalidAttributeValue.message",
- "Unexpected or invalid content was encountered within a "
- + "<saml:Attribute> or <saml:AttributeValue> element.");
- PEPSUtil.createInstance(configs);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given year against
- * the testDate: 2011-10-10 15:20:00.0. Must return 10.
- */
- @Test
- public void calculateAgeFromYear() {
- Assert.assertTrue(TEN == DateUtil.calculateAge("2000", TESTDATE, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given year and month
- * against the testDate: 2011-10-10 15:20:00.0. Must return 11.
- */
- @Test
- public void calculateAgeFromEarlyMonth() {
- Assert.assertTrue(ELEVEN == DateUtil.calculateAge("200001", TESTDATE,
- FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given year and month
- * against the testDate: 2011-10-10 15:20:00.0. Must return 10.
- */
- @Test
- public void calculateAgeFromSameMonth() {
- Assert.assertTrue(TEN == DateUtil.calculateAge("200010", TESTDATE, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given year and month
- * against the testDate: 2011-10-10 15:20:00.0. Must return 10.
- */
- @Test
- public void calculateAgeFromLaterMonth() {
- Assert.assertTrue(TEN == DateUtil.calculateAge("200011", TESTDATE, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return 11.
- */
- @Test
- public void calculateAgeFromEarlyFullDate() {
- Assert.assertTrue(ELEVEN == DateUtil.calculateAge("20000101", TESTDATE,
- FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return 11.
- */
- @Test
- public void calculateAgeFromSameDay() {
- Assert.assertTrue(ELEVEN == DateUtil.calculateAge("20001010", TESTDATE,
- FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return 10.
- */
- @Test
- public void calculateAgeFromLaterFullDate() {
- Assert.assertTrue(TEN == DateUtil
- .calculateAge("20001011", TESTDATE, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromInvalidDate() {
- DateUtil.calculateAge("200", TESTDATE, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromInvalidMonth() {
- DateUtil.calculateAge("200013", TESTDATE, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromInvalidDay() {
- DateUtil.calculateAge("20000230", TESTDATE, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromNullDate() {
- DateUtil.calculateAge(null, TESTDATE, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromNullCurDate() {
- DateUtil.calculateAge("2000", null, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromNullFormat() {
- DateUtil.calculateAge("2000", TESTDATE, null);
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return true
- */
- @Test
- public void isValidFormatDateFromYear() {
- Assert.assertTrue(DateUtil.isValidFormatDate("2000", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year and
- * month. Must return true.
- */
- @Test
- public void isValidFormatDateFromMonth() {
- Assert.assertTrue(DateUtil.isValidFormatDate("200001", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDate() {
- Assert.assertTrue(DateUtil.isValidFormatDate("20000101", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateInvalidYear() {
- Assert.assertFalse(DateUtil.isValidFormatDate("200", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateInvalidMonth() {
- Assert.assertFalse(DateUtil.isValidFormatDate("200013", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateInvalidDate() {
- Assert.assertFalse(DateUtil.isValidFormatDate("20010229", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateNullDate() {
- Assert.assertFalse(DateUtil.isValidFormatDate(null, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateNullFormat() {
- Assert.assertFalse(DateUtil.isValidFormatDate("2000", null));
- }
-
- /**
- * Tests the {@link DateUtil#currentTimeStamp()} method for the current
- * TimeStamp (TS). Must return true.
- */
- @Test
- public void testCurrentTimeStampBefore() {
- Timestamp ts = DateUtil.currentTimeStamp();
- Assert.assertNotSame(ts, DateUtil.currentTimeStamp());
- }
-
- /**
- * Tests the {@link DateUtil#currentTimeStamp()} method for the current
- * TimeStamp (TS). Must return true.
- */
- @Test
- public void testCurrentTimeStampAfter() {
- Timestamp ts = DateUtil.currentTimeStamp();
- Assert.assertEquals(DateUtil.currentTimeStamp(), ts);
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PEPSUtilTestCase.java.svn-base b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PEPSUtilTestCase.java.svn-base
deleted file mode 100644
index d4841ed43..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PEPSUtilTestCase.java.svn-base
+++ /dev/null
@@ -1,553 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.tests;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
-
-import java.util.Properties;
-
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.IPersonalAttributeList;
-import eu.stork.peps.auth.commons.PEPSErrors;
-import eu.stork.peps.auth.commons.PEPSParameters;
-import eu.stork.peps.auth.commons.PEPSUtil;
-import eu.stork.peps.auth.commons.PersonalAttributeList;
-import eu.stork.peps.auth.commons.exceptions.InternalErrorPEPSException;
-import eu.stork.peps.auth.commons.exceptions.InvalidParameterPEPSException;
-
-/**
- * The PEPSUtil's Test Case.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com
- *
- * @version $Revision: $, $Date: $
- */
-public final class PEPSUtilTestCase {
-
- /**
- * Message example.
- */
- private static final String MESSAGE_SAMPLE = "003002 - Authentication Failed";
-
- /**
- * Error message example.
- */
- private static final String ERROR_MESSAGE_SAMPLE = "Authentication Failed";
-
- /**
- * Error code example.
- */
- private static final String ERROR_CODE_SAMPLE = "003002";
-
- /**
- * Properties values for testing proposes.
- */
- private static final Properties CONFIGS1 = new Properties();
-
- /**
- * Properties values for testing proposes.
- */
- private static final Properties CONFIGS2 = new Properties();
-
- /**
- * The empty string value: "".
- */
- private static final String EMPTY_STRING = "";
-
- /**
- * The empty byte value: [].
- */
- private static final byte[] EMPTY_BYTE = new byte[] {};
-
- /**
- * The empty byte hash value.
- */
- private static final byte[] EMPTY_HASH_BYTE = new byte[] { -49, -125, -31,
- 53, 126, -17, -72, -67, -15, 84, 40, 80, -42, 109, -128, 7, -42, 32, -28,
- 5, 11, 87, 21, -36, -125, -12, -87, 33, -45, 108, -23, -50, 71, -48, -47,
- 60, 93, -123, -14, -80, -1, -125, 24, -46, -121, 126, -20, 47, 99, -71, 49,
- -67, 71, 65, 122, -127, -91, 56, 50, 122, -7, 39, -38, 62 };
-
- /**
- * The SAML example byte[] value.
- */
- private static final byte[] SAML_BYTE_SAMPLE = new byte[] { 60, 115, 97, 109,
- 108, 62, 46, 46, 46, 60, 47, 115, 97, 109, 108 };
-
- /**
- * The SAML's Base64 example value.
- */
- private static final String SAML_BASE64_SAMPLE = "PHNhbWw+Li4uPC9zYW1s";
-
- /**
- * The SAML's Base64 byte[] example value.
- */
- private static byte[] SAML_BASE64_BYTE_SAMPLE = new byte[] { 80, 72, 78, 104,
- 98, 87, 119, 43, 76, 105, 52, 117, 80, 67, 57, 122, 89, 87, 49, 115 };
-
- /**
- * The SAML's Base64 Hash byte[] example value.
- */
- private static byte[] HASH_BYTE_SAMPLE = new byte[] { 67, 38, 11, 115, 49,
- -5, 54, -85, 38, 43, -99, 96, 71, -41, 50, -96, 71, -86, 90, -97, 66, -67,
- 90, 101, 30, 82, -13, 60, -106, -72, -103, -75, 19, 2, -107, 107, -6, -56,
- 34, -111, -44, -57, -26, -5, 33, 78, -1, 30, 21, 74, -26, 118, -46, -12,
- -102, 12, -56, 30, -59, -104, -21, -42, -103, 82 };
-
- /**
- * Init PEPSUtilTestCase class.
- */
- @BeforeClass
- public static void runsBeforeTheTestSuite() {
-
- CONFIGS1.setProperty("max.attrList.size", "20000");
- CONFIGS1.setProperty("attrList.code", "202005");
- CONFIGS1.setProperty("attrList.message", "invalid.attrList.parameter");
-
- CONFIGS1.setProperty("max.qaaLevel.size", "1");
- CONFIGS1.setProperty("max.spUrl.size", "inv");
- CONFIGS1.setProperty("validation.active", "true");
- CONFIGS1.setProperty("hashDigest.className",
- "org.bouncycastle.crypto.digests.SHA512Digest");
- CONFIGS1.setProperty("invalidAgeDateValue.code", "35");
- CONFIGS1.setProperty("invalidAttributeValue.code", "34");
- CONFIGS1.setProperty("invalidAttributeValue.message",
- "Unexpected or invalid content was encountered within a "
- + "<saml:Attribute> or <saml:AttributeValue> element.");
- }
-
- /**
- * Tests the {@link PEPSUtil#createInstance(Properties)} method for the given
- * properties object.
- */
- @Test
- public void testCreateInstance() {
- Assert.assertNotNull(PEPSUtil.createInstance(CONFIGS2));
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfigs()}.
- */
- @Test
- public void testGetConfigs() {
- final PEPSUtil pepsUtils = PEPSUtil.createInstance(CONFIGS1);
- assertEquals(pepsUtils.getConfigs(), CONFIGS1);
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfigs()}.
- */
- @Test
- public void testGetConfigsDifferent() {
- final PEPSUtil pepsUtils = PEPSUtil.createInstance(CONFIGS1);
- assertNotSame(pepsUtils.getConfigs(), CONFIGS2);
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfig(String)} method for the given existing
- * config.
- */
- @Test
- public void testGetConfigExists() {
- assertEquals(PEPSUtil.getConfig("hashDigest.className"),
- "org.bouncycastle.crypto.digests.SHA512Digest");
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfig(String)} method for the given not
- * existing config.
- */
- @Test
- public void testGetConfigNoExists() {
- assertNull(PEPSUtil.getConfig("doesnt.exists"));
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfig(String)} method for the given null
- * value.
- */
- @Test(expected = NullPointerException.class)
- public void testGetConfigNull() {
- assertNull(PEPSUtil.getConfig(null));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterExists() {
- assertTrue(PEPSUtil.isValidParameter("qaaLevel", "1"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterExistsGreat() {
- assertFalse(PEPSUtil.isValidParameter("qaaLevel", "12"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterExistsIvalidConf() {
- assertFalse(PEPSUtil
- .isValidParameter("spUrl", "http://localhost:8080/SP/"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterNotExists() {
- assertFalse(PEPSUtil.isValidParameter("doesntexists",
- "http://localhost:8080/SP/"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterNullParamName() {
- assertFalse(PEPSUtil.isValidParameter(null, "http://localhost:8080/SP/"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterNullParamValue() {
- assertFalse(PEPSUtil.isValidParameter("spUrl", null));
- }
-
- /**
- * Tests the {@link PEPSUtil#validateParameter(String, String, Object)} method
- * for the given object values.
- */
- @Test
- public void testValidateParameterValid() {
- final IPersonalAttributeList persAttrList = new PersonalAttributeList();
- persAttrList.populate("isAgeOver:true:[15,]:Available;");
- PEPSUtil.validateParameter("ServiceProviderAction",
- PEPSParameters.ATTRIBUTE_LIST.toString(), persAttrList);
- }
-
- /**
- * Tests the {@link PEPSUtil#validateParameter(String, String, Object)} method
- * for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterNull() {
- PEPSUtil.validateParameter("ServiceProviderAction",
- PEPSParameters.ATTRIBUTE_LIST.toString(), null);
- }
-
- /**
- * Tests the {@link PEPSUtil#validateParameter(String, String, String)} method
- * for the given string values.
- *
- * The tested class just invokes
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * so further tests will be later.
- */
- @Test
- public void testValidateParameter() {
- PEPSUtil.validateParameter("ServiceProviderAction",
- PEPSParameters.ATTRIBUTE_LIST.toString(),
- "isAgeOver:true:[15,]:Available;");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, PEPSErrors)}
- * method for the given string value and {@link PEPSErrors} enum.
- *
- * The tested class just invokes
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * so further tests will be later.
- */
- @Test
- public void testValidateParameterPEPSErrors() {
- PEPSUtil.validateParameter("CountrySelectorAction",
- PEPSParameters.ATTRIBUTE_LIST.toString(),
- "isAgeOver:true:[15,]:Available;",
- PEPSErrors.SP_COUNTRY_SELECTOR_INVALID_ATTR);
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test
- public void testValidateParameterValidParams() {
- PEPSUtil.validateParameter("ServiceProviderAction", "qaaLevel", "1",
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterInvalidParamValue() {
- PEPSUtil.validateParameter("ServiceProviderAction", "qaaLevel", "10",
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterInvalidParamName() {
- PEPSUtil.validateParameter("ServiceProviderAction", "doesnt.exists", "1",
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterNullParamName() {
- PEPSUtil.validateParameter("ServiceProviderAction", null, "1",
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterNullParamValue() {
- PEPSUtil.validateParameter("ServiceProviderAction", "qaaLevel", null,
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the {@link PEPSUtil#encodeSAMLToken(byte[])} method for the given
- * string value.
- */
- @Test
- public void testEncodeSAMLToken() {
- assertEquals(PEPSUtil.encodeSAMLToken(SAML_BYTE_SAMPLE), SAML_BASE64_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#encodeSAMLToken(byte[])} method for the given
- * null.
- */
- @Test(expected = NullPointerException.class)
- public void testEncodeSAMLTokenNull() {
- assertNotSame(PEPSUtil.encodeSAMLToken(null), SAML_BASE64_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#encodeSAMLToken(byte[])} method for the given
- * empty byte[] value.
- */
- @Test
- public void testEncodeSAMLTokenEmpty() {
- assertEquals(PEPSUtil.encodeSAMLToken(EMPTY_BYTE), EMPTY_STRING);
- }
-
- /**
- * Tests the {@link PEPSUtil#decodeSAMLToken(byte[])} method for the given
- * byte[] value.
- */
- @Test
- public void testDecodeSAMLToken() {
- assertArrayEquals(PEPSUtil.decodeSAMLToken(SAML_BASE64_SAMPLE),
- SAML_BYTE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#decodeSAMLToken(byte[])} method for the given
- * null value.
- */
- @Test(expected = NullPointerException.class)
- public void testDecodeSAMLTokenNull() {
- assertNotSame(PEPSUtil.decodeSAMLToken(null), SAML_BYTE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#decodeSAMLToken(byte[])} method for the given
- * empty string value.
- */
- @Test(expected = StringIndexOutOfBoundsException.class)
- public void testDecodeSAMLTokenEmpty() {
- assertTrue(PEPSUtil.decodeSAMLToken(EMPTY_STRING) == EMPTY_BYTE);
- }
-
- /**
- * Tests the {@link PEPSUtil#hashPersonalToken(byte[])} method for the given
- * byte[] value.
- */
- @Test
- public void testHashPersonalToken() {
- assertArrayEquals(PEPSUtil.hashPersonalToken(SAML_BASE64_BYTE_SAMPLE),
- HASH_BYTE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#hashPersonalToken(byte[])} method for the given
- * null value.
- */
- @Test(expected = InternalErrorPEPSException.class)
- public void testHashPersonalTokenNull() {
- assertNull(PEPSUtil.hashPersonalToken(null));
- }
-
- /**
- * Tests the {@link PEPSUtil#hashPersonalToken(byte[])} method for the given
- * empty value.
- */
- @Test
- public void testHashPersonalTokenEmpty() {
- assertArrayEquals(PEPSUtil.hashPersonalToken(EMPTY_BYTE), EMPTY_HASH_BYTE);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * correct message.
- */
- @Test
- public void testGetStorkErrorCodeExists() {
- assertEquals(PEPSUtil.getStorkErrorCode(MESSAGE_SAMPLE), ERROR_CODE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * invalid message.
- */
- @Test
- public void testGetStorkErrorCodeNoExists() {
- assertNull(PEPSUtil.getStorkErrorCode(ERROR_MESSAGE_SAMPLE));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * empty message.
- */
- @Test
- public void testGetStorkErrorCodeEmpty() {
- assertNull(PEPSUtil.getStorkErrorCode(EMPTY_STRING));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * null message.
- */
- @Test
- public void testGetStorkErrorCodeNull() {
- assertNull(PEPSUtil.getStorkErrorCode(null));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * invalid message.
- */
- @Test
- public void testGetStorkErrorCodeWithSepFake() {
- assertNull(PEPSUtil.getStorkErrorCode("-"));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * invalid message.
- */
- @Test
- public void testGetStorkErrorCodeWithSepAndCodeFake() {
- assertNull(PEPSUtil.getStorkErrorCode("000001 -"));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given correct message.
- */
- @Test
- public void testGetStorkErrorMessageExists() {
- assertEquals(PEPSUtil.getStorkErrorMessage(MESSAGE_SAMPLE),
- ERROR_MESSAGE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given invalid message.
- */
- @Test
- public void testGetStorkErrorMessageNoExists() {
- assertEquals(PEPSUtil.getStorkErrorMessage(ERROR_MESSAGE_SAMPLE),
- ERROR_MESSAGE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given empty message.
- */
- @Test
- public void testGetStorkErrorMessageEmpty() {
- assertEquals(PEPSUtil.getStorkErrorMessage(EMPTY_STRING),
- EMPTY_STRING);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given null message.
- */
- @Test
- public void testGetStorkErrorMessageNull() {
- assertNull(PEPSUtil.getStorkErrorMessage(null));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given invalid message.
- */
- @Test
- public void testGetStorkErrorMessageWithSepFake() {
- assertEquals(PEPSUtil.getStorkErrorMessage("-"),"-");
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given invalid message.
- */
- @Test
- public void testGetStorkErrorMessageWithSepAndCodeFake() {
- assertEquals(PEPSUtil.getStorkErrorMessage("000001 -"),"000001 -");
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeListTestCase.java.svn-base b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeListTestCase.java.svn-base
deleted file mode 100644
index 7052b320a..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeListTestCase.java.svn-base
+++ /dev/null
@@ -1,747 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.tests;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.PersonalAttribute;
-import eu.stork.peps.auth.commons.PersonalAttributeList;
-import eu.stork.peps.auth.commons.STORKStatusCode;
-
-/**
- * The PersonalAttributeList's Test Case.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.5 $, $Date: 2010-11-17 05:17:02 $
- */
-public final class PersonalAttributeListTestCase {
-
- /**
- * isAgeOver constant value.
- */
- private static final String ISAGEOVER_CONS = "isAgeOver";
-
- /**
- * 1 constant value.
- */
- private static final int ONE_CONS = 1;
-
- /**
- * 2 constant value.
- */
- private static final int TWO_CONS = 2;
-
- /**
- * An empty attribute.
- */
- @SuppressWarnings("unused")
- private static final PersonalAttributeList EMPTY_ATTR_LIST =
- new PersonalAttributeList(0);
-
- /**
- * An attribute with a complex value (canonicalResidenceAddress).
- */
- private static PersonalAttribute complexAttrValue = null;
-
- /**
- * Simple attribute value list string.
- */
- private static final String SIMPLE_ATTRLIST =
- "isAgeOver:true:[15,]:Available;";
-
- /**
- * Simple attribute value list string.
- */
- private static final String SIMPLE_ATTRLIST2 =
- "isAgeOver:true:[18,]:Available;";
-
- /**
- * Simple attribute value list string.
- */
- private static final String SIMPLE_ATTRLIST3 =
- "isAgeOver:true:[15,]:Available;isAgeOver:true:[18,]:Available;";
-
- /**
- * Simple attribute value list string.
- */
- private static final String SIMPLE_ATTRLIST3_REVERSE =
- "isAgeOver:true:[18,]:Available;isAgeOver:true:[15,]:Available;";
- /**
- * Simple attribute value list string.
- */
- private static final String COMPLEX_ATTRLIST =
- "canonicalResidenceAddress:true:[postalCode=4100,apartmentNumber=Ed. B,"
- + "state=Porto,countryCodeAddress=PT,streetNumber=379,"
- + "streetName=Avenida Sidonio Pais,town=Porto,]:Available;";
- /**
- * Mix attribute list string.
- */
- private static final String STR_MIX_ATTR_LIST =
- "isAgeOver:true:[15,]:Available;canonicalResidenceAddress:true:["
- + "postalCode=4100,apartmentNumber=Ed.B,state=Porto,countryCodeAddress=PT,"
- + "streetNumber=379,streetName=Avenida Sidonio Pais,town=Porto,]:"
- + "Available;";
-
- /**
- * Mix attribute list 2 string.
- */
- private static final String STR_MIX_ATTR_LIST2 =
- "isAgeOver:true:[15,]:Available;canonicalResidenceAddress:true:["
- + "postalCode=4100,apartmentNumber=Ed.B,state=Porto,countryCodeAddress=PT,"
- + "streetNumber=379,streetName=Avenida Sidonio Pais,town=Porto,]:Available;"
- + "mandateContent:true:["
- + "isJoint=\"isjoint\",typeOfPower=\"power\",ValidTo=\"validto\",validfrom=\"validfrom\",AQAA=\"3\",isChained=\"ischained\",]:"
- + "Available;";
-
- /**
- * Attribute List example.
- */
- @SuppressWarnings({ "serial" })
- private static final PersonalAttribute ATTR_VALUE = new PersonalAttribute(
- "age", true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- /**
- * Init PersonalAttributeListTestCase class.
- */
- @SuppressWarnings("serial")
- @BeforeClass
- public static void runsBeforeTheTestSuite() {
- final Map<String, String> values = new HashMap<String, String>() {
- {
- put("countryCodeAddress", "PT");
- put("state", "Porto");
- put("town", "Porto");
- put("postalCode", "4100");
- put("streetName", "Avenida Sidonio Pais");
- put("streetNumber", "379");
- put("apartmentNumber", "Ed. B");
- }
- };
-
- complexAttrValue =
- new PersonalAttribute("canonicalResidenceAddress", true, values,
- STORKStatusCode.STATUS_AVAILABLE.toString());
-
- }
-
- /**
- * Testing Personal Attribute List add method. Personal Attribute list must be
- * size 1 - Simple attribute.
- */
- @Test
- public void testAddSimpleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(ATTR_VALUE);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List add method. Personal Attribute list must be
- * size 1 - Complex attribute.
- */
- @Test
- public void testAddCompleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(complexAttrValue);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List add method. Personal Attribute list must be
- * size 0 - no attribute.
- */
- @Test
- public void testAddNull() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(null);
- Assert.assertTrue(attrList.size() == 0);
- }
-
- /**
- * Testing Personal Attribute List add method. Same attribute name added
- * twice. Personal Attribute list must be size 2 - IsAgeOver attribute added
- * twice.
- */
- @SuppressWarnings("serial")
- @Test
- public void testAddSameAttrName() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List add method. Same attribute name added
- * twice. Personal Attribute list must be size 2 - IsAgeOver attribute added
- * twice.
- */
- @SuppressWarnings("serial")
- @Test
- public void testAddSameAttrNameEmpty() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 1 - Simple Value.
- */
- @Test
- public void testPutSimpleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(ATTR_VALUE.getName(), ATTR_VALUE);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 1 - Complex Value.
- */
- @Test
- public void testPutComplexAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(ATTR_VALUE.getName(), complexAttrValue);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 0 - no attribute.
- */
- @Test
- public void testPutNull() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put("", null);
- Assert.assertTrue(attrList.size() == 0);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 2 - IsAgeOver attribute added twice.
- */
- @SuppressWarnings("serial")
- @Test
- public void testPutSameAttrName() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(attrValueUnder.getName(), attrValueUnder);
- attrList.put(attrValueOver.getName(), attrValueOver);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 2 - IsAgeOver attribute added twice.
- */
- @SuppressWarnings("serial")
- @Test
- public void testPutSameAttrNameEmpty() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(attrValueUnder.getName(), attrValueUnder);
- attrList.put(attrValueOver.getName(), attrValueOver);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List get method. Personal Attribute list must be
- * size 1 - Simple attribute.
- */
- @Test
- public void testGetSimpleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(ATTR_VALUE);
- Assert.assertEquals(ATTR_VALUE, attrList.get(ATTR_VALUE.getName()));
- }
-
- /**
- * Testing Personal Attribute List add method. Personal Attribute list must be
- * size 1 - Complex attribute.
- */
- @Test
- public void testGetCompleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(complexAttrValue);
- Assert.assertEquals(complexAttrValue.toString(),
- attrList.get(complexAttrValue.getName()).toString());
- }
-
- /**
- * Testing Personal Attribute List get method. Personal Attribute list must be
- * size 2 - IsAgeOver attribute.
- */
- @SuppressWarnings("serial")
- @Test
- public void testGetIsAgeOverAttr() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertEquals(SIMPLE_ATTRLIST,
- attrList.get(attrValueUnder.getName()).toString());
- Assert.assertEquals(SIMPLE_ATTRLIST2,
- attrList.get(attrValueOver.getName()).toString());
- }
-
- /**
- * Testing Personal Attribute List populate method. Personal Attribute list
- * must be size 1 - Simple attribute.
- */
- @Test
- public void testPopulateSimpleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(SIMPLE_ATTRLIST);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List populate method. Personal Attribute list
- * must be size 1 - Complex attribute.
- */
- @Test
- public void testPopulateComplexAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(COMPLEX_ATTRLIST);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List populate method. Personal Attribute list
- * must be size 1 - Simple and Complex attribute.
- */
- @Test
- public void testPopulateMixAttrs() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(STR_MIX_ATTR_LIST);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List toString method using add.
- */
- @SuppressWarnings("serial")
- @Test
- public void testToStringFromAdd() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertEquals(SIMPLE_ATTRLIST3_REVERSE, attrList.toString());
- }
-
- /**
- * Testing Personal Attribute List toString method using put.
- *
- */
- @SuppressWarnings("serial")
- @Test
- public void testToStringFromPut() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(attrValueUnder.getName(), attrValueUnder);
- attrList.put(attrValueOver.getName(), attrValueOver);
- Assert.assertEquals(SIMPLE_ATTRLIST3_REVERSE, attrList.toString());
- }
-
- /**
- * Testing Personal Attribute List toString method using populate.
- */
- @Test
- public void testToStringFromSimplePopulate() {
- final String strAttrList = "isAgeOver:true";
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(strAttrList);
- Assert.assertEquals("isAgeOver:true:[]:;", attrList.toString());
- }
-
- /**
- * Testing Personal Attribute List toString method using populate.
- */
- @Test
- public void testToStringFromPopulate() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(SIMPLE_ATTRLIST3);
- Assert.assertEquals(SIMPLE_ATTRLIST3_REVERSE, attrList.toString());
- }
-
- /**
- * Testing Personal Attribute List populate method, with invalid values.
- */
- @Test
- public void testPopulateWithInvalidValuesFormat() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate("name:type:values:status;");
- Assert.assertEquals(pal, new PersonalAttributeList());
- }
-
- /**
- * Testing Personal Attribute List populate method, with invalid format.
- */
- @Test
- public void testPopulateWithInvalidFormat() {
-
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate("name:type::status;");
- Assert.assertEquals(pal, new PersonalAttributeList());
- }
-
- /**
- * Testing Personal Attribute List clone method using add.
- */
- @SuppressWarnings("serial")
- @Test
- public void testCloneFromAdd() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertNotSame(attrList, attrList.clone());
- }
-
- /**
- * Testing Personal Attribute List clone method using put.
- */
- @SuppressWarnings("serial")
- @Test
- public void testCloneFromPut() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(attrValueUnder.getName(), attrValueUnder);
- attrList.put(attrValueOver.getName(), attrValueOver);
- Assert.assertNotSame(attrList, attrList.clone());
- }
-
- /**
- * Testing Personal Attribute List clone method using populate.
- */
- @Test
- public void testCloneFromPopulate() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(SIMPLE_ATTRLIST3);
- Assert.assertNotSame(pal, pal.clone());
- }
-
- /**
- * Testing Personal Attribute List iterator.
- */
- @Test
- public void testIterator() {
- final String strAttrList =
- "isAgeOver:true:[15,]:Available;isAgeOver:true:[18,]:Available;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- final Iterator<PersonalAttribute> itAttr = pal.iterator();
- while (itAttr.hasNext()) {
- final PersonalAttribute attr = itAttr.next();
- Assert.assertEquals(ISAGEOVER_CONS, attr.getName());
- }
- }
-
- /**
- * Testing Personal Attribute List's GetOptionalAttributes method with empty attribute list.
- */
- @Test
- public void testGetOptionalAttributesWithEmptyList() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- Assert.assertTrue(pal.getOptionalAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's GetOptionalAttributes method without optional attributes.
- */
- @Test
- public void testGetOptionalAttributesWithoutOptional() {
- final String strAttrList =
- "isAgeOver:true:[15,]:Available;isAgeOver:true:[18,]:Available;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getOptionalAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's GetOptionalAttributes method with one optional attribute.
- */
- @Test
- public void testGetOptionalAttributesWithOneOptional() {
- final String strAttrList =
- "age:false:[]:;isAgeOver:true:[15,]:;isAgeOver:true:[18,]:;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getOptionalAttributes().size() == ONE_CONS);
- }
-
- /**
- * Testing Personal Attribute List's GetOptionalAttributes method with two optional attribute.
- */
- @Test
- public void testGetOptionalAttributesWithOnlyOptional() {
- final String strAttrList =
- "age:false:[]:;isAgeOver:false:[18,]:;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getOptionalAttributes().size() == TWO_CONS);
- }
-
- /**
- * Testing Personal Attribute List's getMandatoryAttributes method with empty attribute list.
- */
- @Test
- public void testGetMandatoryAttributesWithEmptyList() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- Assert.assertTrue(pal.getMandatoryAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getMandatoryAttributes method without mandatory attributes.
- */
- @Test
- public void testGetMandatoryAttributesWithoutMandatory() {
- final String strAttrList =
- "isAgeOver:false:[15,]:Available;isAgeOver:false:[18,]:Available;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getMandatoryAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's GetMandatoryAttributes method with one mandatory attribute.
- */
- @Test
- public void testGetMandatoryAttributesWithOneMandatory() {
- final String strAttrList =
- "age:true:[]:;isAgeOver:false:[15,]:;isAgeOver:false:[18,]:;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getMandatoryAttributes().size() == ONE_CONS);
- }
-
- /**
- * Testing Personal Attribute List's GetMandatoryAttributes method with two mandatory attribute.
- */
- @Test
- public void testGetMandatoryAttributesWithOnlyMandatory() {
- final String strAttrList =
- "age:true:[]:;isAgeOver:true:[18,]:;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getMandatoryAttributes().size() == TWO_CONS);
- }
-
- /**
- * Testing Personal Attribute List's getSimpleValueAttributes method with empty attribute list.
- */
- @Test
- public void testGetSimpleValueAttributesWithEmptyList() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- Assert.assertTrue(pal.getSimpleValueAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getSimpleValueAttributes() method without simple attributes.
- */
- @Test
- public void testGetSimpleValueAttributesWithoutSimple() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(COMPLEX_ATTRLIST);
- Assert.assertTrue(pal.getSimpleValueAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getSimpleValueAttributes() method with one simple attribute.
- */
- @Test
- public void testGetSimpleValueAttributesWithOneSimple() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(STR_MIX_ATTR_LIST);
- Assert.assertTrue(pal.getSimpleValueAttributes().size() == ONE_CONS);
- }
-
- /**
- * Testing Personal Attribute List's GetMandatoryAttributes method with two simple attribute.
- */
- @Test
- public void testGetSimpleValueAttributesWithOnlySimple() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(SIMPLE_ATTRLIST3);
- Assert.assertTrue(pal.getSimpleValueAttributes().size() == TWO_CONS);
- }
-
- /**
- * Testing Personal Attribute List's getComplexValueAttributes method with empty attribute list.
- */
- @Test
- public void testGetComplexAttributesWithEmptyList() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- Assert.assertTrue(pal.getComplexAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getComplexAttributes() method without complex attributes.
- */
- @Test
- public void testGetComplexAttributesWithoutSimple() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(SIMPLE_ATTRLIST2);
- Assert.assertTrue(pal.getComplexAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getComplexAttributes() method with one complex attribute.
- */
- @Test
- public void testGetComplexAttributesWithOneComplex() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(STR_MIX_ATTR_LIST);
- Assert.assertTrue(pal.getComplexAttributes().size() == ONE_CONS);
- }
-
- /**
- * Testing Personal Attribute List's GetMandatoryAttributes method with only two Complex attribute.
- */
- @Test
- public void testGetComplexAttributesWithOnlyComplex() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(STR_MIX_ATTR_LIST2);
- Assert.assertTrue(pal.getComplexAttributes().size() == TWO_CONS);
- }
-
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeTestCase.java.svn-base b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeTestCase.java.svn-base
deleted file mode 100644
index 458d510e0..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeTestCase.java.svn-base
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.tests;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.Assert;
-
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.PersonalAttribute;
-import eu.stork.peps.auth.commons.STORKStatusCode;
-
-/**
- * The PersonalAttribute's Test Case.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.4 $, $Date: 2010-11-17 05:17:03 $
- */
-public final class PersonalAttributeTestCase {
-
- /**
- * An empty attribute.
- */
- private static final PersonalAttribute EMPTYATTR = new PersonalAttribute();
-
- /**
- * An attribute with a complex value (canonicalResidenceAddress).
- */
- private static PersonalAttribute complexAttrValue = null;
-
- /**
- * An attribute with a simple value (age).
- */
- @SuppressWarnings("serial")
- private static final PersonalAttribute ATTR_VALUE = new PersonalAttribute(
- "age", true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- /**
- * Init PersonalAttributeTestCase class.
- */
- @SuppressWarnings("serial")
- @BeforeClass
- public static void runsBeforeTheTestSuite() {
- final Map<String, String> values = new HashMap<String, String>() {
- {
- put("countryCodeAddress", "PT");
- put("state", "Porto");
- put("town", "Porto");
- put("postalCode", "4100");
- put("streetName", "Avenida Sidonio Pais");
- put("streetNumber", "379");
- put("apartmentNumber", "B");
- }
- };
-
- complexAttrValue =
- new PersonalAttribute("canonicalResidenceAddress", true, values,
- STORKStatusCode.STATUS_AVAILABLE.toString());
-
- }
-
- /**
- * Tests the {@link PersonalAttribute#toString()} method for the given simple
- * attribute value. Values must match.
- */
- @Test
- public void testToStringValues() {
- Assert.assertEquals("age:true:[15,]:Available;", ATTR_VALUE.toString());
- }
-
- /**
- * Tests the {@link PersonalAttribute#toString()} method for the given complex
- * attribute value. Values must match.
- */
- @Test
- public void testToStringComplexValues() {
- Assert.assertEquals(
- "canonicalResidenceAddress:true:[postalCode=4100,apartmentNumber=B,"
- + "state=Porto,countryCodeAddress=PT,streetNumber=379,"
- + "streetName=Avenida Sidonio Pais,town=Porto,]:Available;",
- complexAttrValue.toString());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyStatus()} method for the given
- * empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyStatusWithNull() {
- Assert.assertTrue(EMPTYATTR.isEmptyStatus());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyStatus()} method for the given
- * new attribute. Must return true.
- */
- @Test
- public void testToIsEmptyStatusWithEmptyString() {
- final PersonalAttribute attr = (PersonalAttribute) EMPTYATTR.clone();
- attr.setStatus("");
- Assert.assertTrue(attr.isEmptyStatus());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyValue()} method for the given
- * empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyValueWithNull() {
- final PersonalAttribute attr = (PersonalAttribute) EMPTYATTR.clone();
- attr.setValue(null);
- Assert.assertTrue(attr.isEmptyValue());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyValue()} method for the given
- * empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyValue() {
- Assert.assertTrue(EMPTYATTR.isEmptyValue());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyComplexValue()} method for the
- * given empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyComplexValueWithNull() {
- final PersonalAttribute attr = (PersonalAttribute) EMPTYATTR.clone();
- attr.setComplexValue(null);
- Assert.assertTrue(attr.isEmptyComplexValue());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyComplexValue()} method for the
- * given empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyComplexValueWithEmptyComplexValue() {
- Assert.assertTrue(EMPTYATTR.isEmptyComplexValue());
- }
-
- /**
- * Tests the {@link PersonalAttribute#clone()} method for the given attribute.
- * Must return true.
- */
- @Test
- public void testCloneToComplexValue() {
- Assert.assertNotSame(complexAttrValue, complexAttrValue.clone());
- }
-
- /**
- * Tests the {@link PersonalAttribute#clone()} method for the given attribute.
- * Must return true.
- */
- @Test
- public void testCloneToValue() {
- Assert.assertNotSame(ATTR_VALUE, ATTR_VALUE.clone());
- }
-}
diff --git a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/package-info.java.svn-base b/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/package-info.java.svn-base
deleted file mode 100644
index 270311128..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/package-info.java.svn-base
+++ /dev/null
@@ -1,5 +0,0 @@
-/**
- * This package provides all JUnit test classes.
- */
-package eu.stork.peps.tests;
-
diff --git a/id/server/legacy-backup/stork2-commons/src/test/resources/.svn/all-wcprops b/id/server/legacy-backup/stork2-commons/src/test/resources/.svn/all-wcprops
deleted file mode 100644
index a3a21b424..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/resources/.svn/all-wcprops
+++ /dev/null
@@ -1,11 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 63
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/test/resources
-END
-log4j.xml
-K 25
-svn:wc:ra_dav:version-url
-V 73
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/test/resources/log4j.xml
-END
diff --git a/id/server/legacy-backup/stork2-commons/src/test/resources/.svn/entries b/id/server/legacy-backup/stork2-commons/src/test/resources/.svn/entries
deleted file mode 100644
index e6b7f5399..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/resources/.svn/entries
+++ /dev/null
@@ -1,62 +0,0 @@
-10
-
-dir
-665
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test/resources
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-log4j.xml
-file
-
-
-
-
-2013-12-20T12:27:56.542475Z
-4e990a84da0033594135b05cd01a9cdd
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-645
-
diff --git a/id/server/legacy-backup/stork2-commons/src/test/resources/.svn/text-base/log4j.xml.svn-base b/id/server/legacy-backup/stork2-commons/src/test/resources/.svn/text-base/log4j.xml.svn-base
deleted file mode 100644
index 0ad2ea9a4..000000000
--- a/id/server/legacy-backup/stork2-commons/src/test/resources/.svn/text-base/log4j.xml.svn-base
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
- <appender name="MainLogger" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="stork-commons.log" />
- <param name="DatePattern" value="'.'yyyy-MM-dd" />
- <param name="Append" value="true" />
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d{HH:mm:ss:SSS} - %p - %C{1} - %m%n" />
- </layout>
- </appender>
-
- <root>
- <priority value="info" />
- <appender-ref ref="MainLogger" />
- </root>
-
-</log4j:configuration>
diff --git a/id/server/legacy-backup/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareImpl.java b/id/server/legacy-backup/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareImpl.java
index 9ed726a32..49ef68cb9 100644
--- a/id/server/legacy-backup/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareImpl.java
+++ b/id/server/legacy-backup/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareImpl.java
@@ -76,10 +76,4 @@ public class EIDSectorShareImpl extends AbstractSAMLObject implements
public final List<XMLObject> getOrderedChildren() {
return null;
}
-
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
} \ No newline at end of file
diff --git a/id/server/moa-id-commons/pom.xml b/id/server/moa-id-commons/pom.xml
index 2ca351e81..05fd67568 100644
--- a/id/server/moa-id-commons/pom.xml
+++ b/id/server/moa-id-commons/pom.xml
@@ -46,35 +46,46 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
- <version>4.3.6.Final</version>
+ <version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
- <version>4.3.6.Final</version>
+ <version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
- <version>4.3.6.Final</version>
+ <version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
- <version>3.3.2</version>
</dependency>
- <dependency>
+ <dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
</dependency>
+<!-- <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ </dependency> -->
<dependency>
<groupId>MOA</groupId>
<artifactId>moa-common</artifactId>
<type>jar</type>
</dependency>
+<!--
+ <dependency>
+ <groupId>MOA</groupId>
+ <artifactId>moa-common</artifactId>
+ <type>compile</type>
+ </dependency>
+-->
- <dependency>
+
+ <dependency>
<groupId>iaik.prod</groupId>
<artifactId>iaik_X509TrustManager</artifactId>
</dependency>
@@ -118,7 +129,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>5.1.33</version>
+ <version>${mysql-connector.java}</version>
</dependency>
</dependencies>
@@ -139,6 +150,37 @@
</excludes>
</resource>
</resources>
+
+ <pluginManagement>
+ <plugins>
+ <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.jvnet.hyperjaxb3</groupId>
+ <artifactId>maven-hyperjaxb3-plugin</artifactId>
+ <versionRange>0.5.6</versionRange>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+
+ </pluginManagement>
<plugins>
@@ -146,8 +188,8 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
- <source>1.5</source>
- <target>1.5</target>
+ <source>1.7</source>
+ <target>1.7</target>
</configuration>
</plugin>
<plugin>
@@ -195,8 +237,8 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
- <source>1.5</source>
- <target>1.5</target>
+ <source>1.7</source>
+ <target>1.7</target>
</configuration>
</plugin>
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBRead.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBRead.java
index a3f445fcf..6efdd6223 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBRead.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBRead.java
@@ -152,7 +152,7 @@ public class ConfigurationDBRead {
if (result.size() == 0) {
Logger.trace("No entries found. Create fresh instance.");
- return new MOAIDConfiguration();
+ return null;
}
return (MOAIDConfiguration) result.get(0);
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/ConfigProperty.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/ConfigProperty.java
new file mode 100644
index 000000000..6e2743b81
--- /dev/null
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/ConfigProperty.java
@@ -0,0 +1,95 @@
+package at.gv.egovernment.moa.id.commons.db.dao.config;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.Table;
+
+/**
+ * Reflects a MOAID configuration entry.
+ *
+ */
+@Table(name = "configproperty")
+@Entity
+public class ConfigProperty implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @Column(name = "propertyKey", unique = true)
+ private String key;
+
+ @Lob
+ @Column(name = "propertyValue")
+ private String value;
+
+ /**
+ * Returns the property's key.
+ * @return The key.
+ */
+ public String getKey() {
+ return key;
+ }
+
+ /**
+ * Sets the property's key.
+ * @param key The key
+ */
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ /**
+ * Returns the property's value (which might be {@code null}).
+ * @return The property's value (might be {@code null}).
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the property's value.
+ * @param value The value
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((key == null) ? 0 : key.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ ConfigProperty other = (ConfigProperty) obj;
+ if (key == null) {
+ if (other.key != null)
+ return false;
+ } else if (!key.equals(other.key))
+ return false;
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("ConfigProperty [key=");
+ builder.append(key);
+ builder.append(", value=");
+ builder.append(value);
+ builder.append("]");
+ return builder.toString();
+ }
+}
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/HttpClientWithProxySupport.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/HttpClientWithProxySupport.java
new file mode 100644
index 000000000..733c03bf0
--- /dev/null
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/HttpClientWithProxySupport.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2014 Federal Chancellery Austria
+ * MOA-ID has been developed in a cooperation between BRZ, the Federal
+ * Chancellery Austria - ICT staff unit, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://www.osor.eu/eupl/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text
+ * file for details on the various modules and licenses.
+ * The "NOTICE" text file is part of the distribution. Any derivative works
+ * that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+package at.gv.egovernment.moa.id.commons.utils;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.UsernamePasswordCredentials;
+import org.apache.commons.httpclient.auth.AuthScope;
+
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.MiscUtil;
+
+/**
+ * @author tlenz
+ *
+ */
+public class HttpClientWithProxySupport {
+
+ public static HttpClient getHttpClient() {
+ HttpClient client = new HttpClient();
+
+ String host = System.getProperty("http.proxyHost"); //$NON-NLS-1$
+ String port = System.getProperty("http.proxyPort"); //$NON-NLS-1$
+ if (MiscUtil.isNotEmpty(host) &&
+ MiscUtil.isNotEmpty(port)) {
+ int p = Integer.parseInt(port);
+ client.getHostConfiguration().setProxy(host, p);
+ Logger.info("Initial HTTPClient with proxy usage. " +
+ "ProxyHost=" + host +
+ " ProxyPort=" + port);
+
+ String user = System.getProperty("http.proxyUser"); //$NON-NLS-1$
+ String pass = System.getProperty("http.proxyPassword"); //$NON-NLS-1$
+ if (MiscUtil.isNotEmpty(user) && pass != null) {
+ client.getState().setProxyCredentials(new AuthScope(host, p),
+ new UsernamePasswordCredentials(user, pass));
+
+ }
+ }
+ return client;
+ }
+}
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/ValidationHelper.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/ValidationHelper.java
index be6d7d01e..13d680b78 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/ValidationHelper.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/ValidationHelper.java
@@ -44,14 +44,13 @@ import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
-import org.apache.log4j.Logger;
+import at.gv.egovernment.moa.logging.Logger;
public class ValidationHelper {
public static final String PUBLICSERVICE_URL_POSTFIX = ".gv.at";
- private static final Logger log = Logger.getLogger(ValidationHelper.class);
private static final String TEMPLATE_DATEFORMAT = "dd.MM.yyyy";
@@ -68,7 +67,7 @@ public class ValidationHelper {
host = host.substring(0, host.length()-1);
if (url.getHost().endsWith(PUBLICSERVICE_URL_POSTFIX)) {
- log.debug("PublicURLPrefix with .gv.at Domain found.");
+ Logger.debug("PublicURLPrefix with .gv.at Domain found.");
return true;
} else {
@@ -95,7 +94,7 @@ public class ValidationHelper {
return false;
} else {
- log.info("Found correct X509 Extension in server certificate. PublicService is allowed");
+ Logger.info("Found correct X509 Extension in server certificate. PublicService is allowed");
return true;
}
}
@@ -104,27 +103,27 @@ public class ValidationHelper {
}
} catch (MalformedURLException e) {
- log.warn("PublicURLPrefix can not parsed to URL", e);
+ Logger.warn("PublicURLPrefix can not parsed to URL", e);
return false;
} catch (UnknownHostException e) {
- log.warn("Can not connect to PublicURLPrefix Server", e);
+ Logger.warn("Can not connect to PublicURLPrefix Server", e);
return false;
} catch (IOException e) {
- log.warn("Can not connect to PublicURLPrefix Server", e);
+ Logger.warn("Can not connect to PublicURLPrefix Server", e);
return false;
} catch (CertificateEncodingException e) {
- log.warn("Can not parse X509 server certificate", e);
+ Logger.warn("Can not parse X509 server certificate", e);
return false;
} catch (CertificateException e) {
- log.warn("Can not read X509 server certificate", e);
+ Logger.warn("Can not read X509 server certificate", e);
return false;
} catch (X509ExtensionInitException e) {
- log.warn("Can not read X509 server certificate extension", e);
+ Logger.warn("Can not read X509 server certificate extension", e);
return false;
}
@@ -133,7 +132,7 @@ public class ValidationHelper {
try {
socket.close();
} catch (IOException e) {
- log.warn("SSL Socket can not be closed.", e);
+ Logger.warn("SSL Socket can not be closed.", e);
}
}
}
@@ -148,7 +147,7 @@ public class ValidationHelper {
return true;
} catch (Throwable t) {
- log.warn("No valid DataBase OAID received! " + oaIDObj);
+ Logger.warn("No valid DataBase OAID received! " + oaIDObj);
}
}
return false;
@@ -156,7 +155,7 @@ public class ValidationHelper {
public static boolean validateNumber(String value) {
- log.debug("Validate Number " + value);
+ Logger.debug("Validate Number " + value);
try {
Float.valueOf(value);
@@ -171,7 +170,7 @@ public class ValidationHelper {
}
public static boolean validatePhoneNumber(String value) {
- log.debug ("Validate PhoneNumber " + value);
+ Logger.debug ("Validate PhoneNumber " + value);
/* ************************************************************************************************
* Legende:
@@ -187,11 +186,11 @@ public class ValidationHelper {
Matcher matcher = pattern.matcher(value);
boolean b = matcher.matches();
if (b) {
- log.debug("Parameter PhoneNumber erfolgreich ueberprueft");
+ Logger.debug("Parameter PhoneNumber erfolgreich ueberprueft");
return true;
}
else {
- log.error("Fehler Ueberpruefung Parameter PhoneNumber. PhoneNumber entspricht nicht den Kriterien ^ [a-zA-Z .,;:/\\-]* [ ]* [(]{0,1}[ ]*[+]{0,1}[ ]*[0-9]{0,2}[ ]*[)]{0,1} [ ]* [0-9]*[ ]*[/\\-]{0,1} [ ]*[ ]* [0-9]* [ ]* [a-zA-Z .,;:\\/-]* $");
+ Logger.error("Fehler Ueberpruefung Parameter PhoneNumber. PhoneNumber entspricht nicht den Kriterien ^ [a-zA-Z .,;:/\\-]* [ ]* [(]{0,1}[ ]*[+]{0,1}[ ]*[0-9]{0,2}[ ]*[)]{0,1} [ ]* [0-9]*[ ]*[/\\-]{0,1} [ ]*[ ]* [0-9]* [ ]* [a-zA-Z .,;:\\/-]* $");
return false;
}
@@ -200,7 +199,7 @@ public class ValidationHelper {
public static boolean validateURL(String urlString) {
- log.debug("Validate URL " + urlString);
+ Logger.debug("Validate URL " + urlString);
if (urlString.startsWith("http") || urlString.startsWith("https")) {
try {
@@ -216,7 +215,7 @@ public class ValidationHelper {
// public static boolean validateGeneralURL(String urlString) {
//
-// log.debug("Validate URL " + urlString);
+// Logger.debug("Validate URL " + urlString);
//
// try {
// new URL(urlString);
@@ -231,17 +230,17 @@ public class ValidationHelper {
public static boolean isValidAdminTarget(String target) {
- log.debug("Ueberpruefe Parameter Target");
+ Logger.debug("Ueberpruefe Parameter Target");
Pattern pattern = Pattern.compile("[a-zA-Z-]{1,5}");
Matcher matcher = pattern.matcher(target);
boolean b = matcher.matches();
if (b) {
- log.debug("Parameter SSO-Target erfolgreich ueberprueft. SSO Target is PublicService.");
+ Logger.debug("Parameter SSO-Target erfolgreich ueberprueft. SSO Target is PublicService.");
return true;
}
else {
- log.info("Parameter SSO-Target entspricht nicht den Kriterien " +
+ Logger.info("Parameter SSO-Target entspricht nicht den Kriterien " +
"(nur Zeichen a-z, A-Z und -, sowie 1-5 Zeichen lang) fuer den oeffentlichen Bereich. " +
"Valiere SSO-Target fuer privatwirtschaftliche Bereiche.");
return false;
@@ -250,14 +249,14 @@ public class ValidationHelper {
public static boolean isValidTarget(String target) {
- log.debug("Ueberpruefe Parameter Target");
+ Logger.debug("Ueberpruefe Parameter Target");
if (TargetValidator.isValidTarget(target)) {
- log.debug("Parameter Target erfolgreich ueberprueft");
+ Logger.debug("Parameter Target erfolgreich ueberprueft");
return true;
}
else {
- log.error("Fehler Ueberpruefung Parameter Target. Target entspricht nicht den Kriterien (nur Zeichen a-z, A-Z und -, sowie 1-5 Zeichen lang)");
+ Logger.error("Fehler Ueberpruefung Parameter Target. Target entspricht nicht den Kriterien (nur Zeichen a-z, A-Z und -, sowie 1-5 Zeichen lang)");
return false;
}
@@ -265,17 +264,17 @@ public class ValidationHelper {
public static boolean isValidSourceID(String sourceID) {
- log.debug("Ueberpruefe Parameter sourceID");
+ Logger.debug("Ueberpruefe Parameter sourceID");
Pattern pattern = Pattern.compile("[\\w-_]{1,20}");
Matcher matcher = pattern.matcher(sourceID);
boolean b = matcher.matches();
if (b) {
- log.debug("Parameter sourceID erfolgreich ueberprueft");
+ Logger.debug("Parameter sourceID erfolgreich ueberprueft");
return true;
}
else {
- log.error("Fehler Ueberpruefung Parameter sourceID. SourceID entspricht nicht den Kriterien (nur Zeichen a-z, A-Z, - und _, sowie 1-20 Zeichen lang)");
+ Logger.error("Fehler Ueberpruefung Parameter sourceID. SourceID entspricht nicht den Kriterien (nur Zeichen a-z, A-Z, - und _, sowie 1-20 Zeichen lang)");
return false;
}
}
diff --git a/id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java b/id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java
index e4aa6a284..758209193 100644
--- a/id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java
+++ b/id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java
@@ -26,15 +26,8 @@ import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
-import org.apache.commons.httpclient.HostConfiguration;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpException;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.HttpMethodDirector;
-import org.apache.commons.httpclient.HttpState;
-import org.apache.commons.httpclient.URI;
import org.apache.commons.httpclient.protocol.Protocol;
-import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory;
+import org.apache.commons.httpclient.protocol.ProtocolSocketFactory;
import at.gv.egovernment.moa.id.commons.ex.MOAHttpProtocolSocketFactoryException;
@@ -47,7 +40,7 @@ import at.gv.egovernment.moa.id.commons.ex.MOAHttpProtocolSocketFactoryException
public class MOAHttpClient extends HttpClient {
- public void setCustomSSLTrustStore(String metadataURL, SecureProtocolSocketFactory protoSocketFactory) throws MOAHttpProtocolSocketFactoryException, MalformedURLException {
+ public void setCustomSSLTrustStore(String metadataURL, ProtocolSocketFactory protoSocketFactory) throws MOAHttpProtocolSocketFactoryException, MalformedURLException {
;
URL url = new URL(metadataURL);
diff --git a/id/server/modules/module-monitoring/pom.xml b/id/server/modules/module-monitoring/pom.xml
new file mode 100644
index 000000000..60ab6b6c0
--- /dev/null
+++ b/id/server/modules/module-monitoring/pom.xml
@@ -0,0 +1,22 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>MOA.id.server.modules</groupId>
+ <artifactId>moa-id-modules</artifactId>
+ <version>${moa-id-version}</version>
+ </parent>
+
+ <groupId>MOA.id.server.modules</groupId>
+ <artifactId>moa-id-module-monitoring</artifactId>
+ <version>${moa-id-version}</version>
+ <packaging>jar</packaging>
+
+ <name>MOA ID-Module Monitoring</name>
+
+ <properties>
+ <repositoryPath>${basedir}/../../../../repository</repositoryPath>
+ </properties>
+
+</project>
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/MonitoringServlet.java b/id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/auth/servlet/MonitoringServlet.java
index e04f97e6e..1c1cbb723 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/MonitoringServlet.java
+++ b/id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/auth/servlet/MonitoringServlet.java
@@ -28,6 +28,7 @@ import java.util.Arrays;
import java.util.List;
import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -37,13 +38,18 @@ import at.gv.egovernment.moa.id.monitoring.TestManager;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.MiscUtil;
+@WebServlet(name = "MonitoringServlet", value = "/MonitoringServlet")
public class MonitoringServlet extends AuthServlet {
private static final long serialVersionUID = 1L;
private static final String REQUEST_ATTR_MODULE = "module";
-
- protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+ public MonitoringServlet() {
+ super();
+ Logger.debug("Registering servlet " + getClass().getName() + " with mapping '/MonitoringServlet'.");
+ }
+
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/DatabaseTestModule.java b/id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/monitoring/DatabaseTestModule.java
index a08ef5f0c..a08ef5f0c 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/DatabaseTestModule.java
+++ b/id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/monitoring/DatabaseTestModule.java
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/IdentityLinkTestModule.java b/id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/monitoring/IdentityLinkTestModule.java
index b5220914c..b5220914c 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/IdentityLinkTestModule.java
+++ b/id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/monitoring/IdentityLinkTestModule.java
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/TestManager.java b/id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/monitoring/TestManager.java
index 84581abe8..84581abe8 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/TestManager.java
+++ b/id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/monitoring/TestManager.java
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/TestModuleInterface.java b/id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/monitoring/TestModuleInterface.java
index 4e26b1ce8..4e26b1ce8 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/TestModuleInterface.java
+++ b/id/server/modules/module-monitoring/src/main/java/at/gv/egovernment/moa/id/monitoring/TestModuleInterface.java
diff --git a/id/server/modules/module-stork/pom.xml b/id/server/modules/module-stork/pom.xml
new file mode 100644
index 000000000..234c8d28a
--- /dev/null
+++ b/id/server/modules/module-stork/pom.xml
@@ -0,0 +1,39 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>MOA.id.server.modules</groupId>
+ <artifactId>moa-id-modules</artifactId>
+ <version>${moa-id-version}</version>
+ </parent>
+
+ <groupId>MOA.id.server.modules</groupId>
+ <artifactId>moa-id-module-stork</artifactId>
+ <version>${moa-id-version}</version>
+ <packaging>jar</packaging>
+
+ <name>MOA ID-Module STORK</name>
+
+ <properties>
+ <repositoryPath>${basedir}/../../../../repository</repositoryPath>
+ </properties>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+</project>
diff --git a/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKAuthModuleImpl.java b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKAuthModuleImpl.java
new file mode 100644
index 000000000..41384690e
--- /dev/null
+++ b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKAuthModuleImpl.java
@@ -0,0 +1,39 @@
+package at.gv.egovernment.moa.id.auth.modules.stork;
+
+import org.apache.commons.lang3.StringUtils;
+
+import at.gv.egovernment.moa.id.auth.modules.AuthModule;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+
+/**
+ * Module descriptor for an auth module providing stork authentication related processes.
+ * @author tknall
+ */
+public class STORKAuthModuleImpl implements AuthModule {
+
+ private int priority = 0;
+
+ @Override
+ public int getPriority() {
+ return priority;
+ }
+
+ /**
+ * Sets the priority of this module. Default value is {@code 0}.
+ * @param priority The priority.
+ */
+ public void setPriority(int priority) {
+ this.priority = priority;
+ }
+
+ @Override
+ public String selectProcess(ExecutionContext context) {
+ return StringUtils.isNotBlank((String) context.get("ccc")) ? "STORKAuthentication" : null;
+ }
+
+ @Override
+ public String[] getProcessDefinitions() {
+ return new String[] { "classpath:at/gv/egovernment/moa/id/auth/modules/stork/STORKAuthentication.process.xml" };
+ }
+
+}
diff --git a/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKProcessEngineSignalServlet.java b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKProcessEngineSignalServlet.java
new file mode 100644
index 000000000..989f2b6bd
--- /dev/null
+++ b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKProcessEngineSignalServlet.java
@@ -0,0 +1,113 @@
+package at.gv.egovernment.moa.id.auth.modules.stork;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpression;
+import javax.xml.xpath.XPathFactory;
+
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.bouncycastle.util.encoders.Base64;
+import org.springframework.util.xml.SimpleNamespaceContext;
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
+
+import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants;
+import at.gv.egovernment.moa.id.auth.servlet.ProcessEngineSignalServlet;
+import at.gv.egovernment.moa.logging.Logger;
+
+/**
+ * STORK module specific servlet, overloading {@link ProcessEngineSignalServlet}'s method
+ * {@linkplain ProcessEngineSignalServlet#getMoaSessionId(HttpServletRequest) getMoaSessionId(HttpServletRequest)}
+ * extending its capabilities for retrieving the current moa session id.
+ * <p/>
+ * This {@code STORKProcessEngineSignalServlet} tries to resolve the moa session id using the following strategy:
+ * <ul>
+ * <li>Use the super class' approach, looking at the HttpServletRequest parameter
+ * {@link MOAIDAuthConstants#PARAM_SESSIONID}.</li>
+ * <li>Evaluate the request parameter "{@code RelayState}".
+ * <li>Finally evaluate the SAML response, which should come base64 encoded as request parameter "{@code SAMLResponse}".</li>
+ * </ul>
+ *
+ * @author tknall
+ *
+ */
+@WebServlet(urlPatterns = { "/PEPSConnectorWithLocalSigning", "/PEPSConnector" }, loadOnStartup = 1)
+public class STORKProcessEngineSignalServlet extends ProcessEngineSignalServlet {
+
+ private static final long serialVersionUID = 1L;
+
+ public STORKProcessEngineSignalServlet() {
+ super();
+ Logger.debug("Registering servlet " + getClass().getName() + " with mappings '/PEPSConnectorWithLocalSigning', '/PEPSConnector'.");
+ }
+
+ @Override
+ public String getMoaSessionId(HttpServletRequest request) {
+ String sessionId = super.getMoaSessionId(request);
+
+ try {
+
+ // use SAML2 relayState
+ if (sessionId == null) {
+ sessionId = StringEscapeUtils.escapeHtml(request.getParameter("RelayState"));
+ }
+
+ // take from InResponseTo attribute of SAMLResponse
+ if (sessionId == null) {
+ String base64SamlToken = request.getParameter("SAMLResponse");
+ if (base64SamlToken != null) {
+ byte[] samlToken = Base64.decode(base64SamlToken);
+ Document samlResponse = parseDocument(new ByteArrayInputStream(samlToken));
+
+ XPath xPath = XPathFactory.newInstance().newXPath();
+ SimpleNamespaceContext nsContext = new SimpleNamespaceContext();
+ nsContext.bindNamespaceUri("saml2p", "urn:oasis:names:tc:SAML:2.0:protocol");
+ xPath.setNamespaceContext(nsContext);
+ XPathExpression expression = xPath.compile("string(/saml2p:Response/@InResponseTo)");
+ sessionId = (String) expression.evaluate(samlResponse, XPathConstants.STRING);
+ sessionId = StringEscapeUtils.escapeHtml(StringUtils.trimToNull(sessionId));
+ } else {
+ Logger.warn("No parameter 'SAMLResponse'. Unable to retrieve MOA session id.");
+ }
+ }
+
+ } catch (Exception e) {
+ Logger.warn("Unable to retrieve moa session id.", e);
+ }
+
+ return sessionId;
+ }
+
+ /**
+ * Parses a xml document (namespace aware).
+ *
+ * @param in
+ * The input stream.
+ * @return The DOM document.
+ * @throws ParserConfigurationException
+ * Thrown in case of configuration error.
+ * @throws IOException
+ * Thrown in case of error reading from the input stream.
+ * @throws SAXException
+ * Thrown in case of error parsing the document.
+ */
+ public static Document parseDocument(InputStream in) throws ParserConfigurationException, SAXException, IOException {
+ DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
+ documentBuilderFactory.setNamespaceAware(true);
+ documentBuilderFactory.setIgnoringElementContentWhitespace(false);
+ documentBuilderFactory.setValidating(false);
+ DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
+ return documentBuilder.parse(in);
+ }
+
+}
diff --git a/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/AbstractPepsConnectorWithLocalSigningTask.java b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/AbstractPepsConnectorWithLocalSigningTask.java
new file mode 100644
index 000000000..702e62fa0
--- /dev/null
+++ b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/AbstractPepsConnectorWithLocalSigningTask.java
@@ -0,0 +1,223 @@
+package at.gv.egovernment.moa.id.auth.modules.stork.tasks;
+
+import iaik.x509.X509Certificate;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.security.cert.CertificateException;
+import java.util.HashMap;
+
+import javax.activation.DataSource;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactoryConfigurationError;
+
+import org.apache.commons.io.IOUtils;
+import org.xml.sax.SAXException;
+
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.data.IdentityLink;
+import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
+import at.gv.egovernment.moa.id.auth.exception.BKUException;
+import at.gv.egovernment.moa.id.auth.exception.BuildException;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.exception.ParseException;
+import at.gv.egovernment.moa.id.auth.exception.ServiceException;
+import at.gv.egovernment.moa.id.auth.modules.AbstractAuthServletTask;
+import at.gv.egovernment.moa.id.auth.stork.STORKException;
+import at.gv.egovernment.moa.id.auth.stork.STORKResponseProcessor;
+import at.gv.egovernment.moa.id.config.ConfigurationException;
+import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
+import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
+import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.spss.MOAException;
+import at.gv.egovernment.moa.spss.api.SPSSFactory;
+import at.gv.egovernment.moa.spss.api.SignatureVerificationService;
+import at.gv.egovernment.moa.spss.api.common.Content;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse;
+import at.gv.util.xsd.xmldsig.SignatureType;
+import at.gv.util.xsd.xmldsig.X509DataType;
+import eu.stork.oasisdss.api.LightweightSourceResolver;
+import eu.stork.oasisdss.api.exceptions.ApiUtilsException;
+import eu.stork.oasisdss.api.exceptions.UtilsException;
+import eu.stork.oasisdss.profile.SignResponse;
+import eu.stork.peps.auth.commons.IPersonalAttributeList;
+
+public abstract class AbstractPepsConnectorWithLocalSigningTask extends AbstractAuthServletTask {
+
+ String getCitizienSignatureFromSignResponse(SignResponse dssSignResponse) throws IllegalArgumentException,
+ TransformerConfigurationException, UtilsException, TransformerException,
+ TransformerFactoryConfigurationError, IOException, ApiUtilsException {
+ // fetch signed doc
+ DataSource ds = LightweightSourceResolver.getDataSource(dssSignResponse);
+ if (ds == null) {
+ throw new ApiUtilsException("No datasource found in response");
+ }
+
+ InputStream incoming = ds.getInputStream();
+ String citizenSignature = IOUtils.toString(incoming);
+ incoming.close();
+
+ return citizenSignature;
+ }
+
+ void SZRGInsertion(AuthenticationSession moaSession, IPersonalAttributeList personalAttributeList,
+ String authnContextClassRef, String citizenSignature) throws STORKException, MOAIDException {
+ Logger.debug("Foregin Citizen signature successfully extracted from STORK Assertion (signedDoc)");
+ Logger.debug("Citizen signature will be verified by SZR Gateway!");
+
+ Logger.debug("fetching OAParameters from database");
+
+ OAAuthParameter oaParam = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(
+ moaSession.getPublicOAURLPrefix());
+ if (oaParam == null)
+ throw new AuthenticationException("auth.00", new Object[] { moaSession.getPublicOAURLPrefix() });
+
+ // retrieve target
+ // TODO: check in case of SSO!!!
+ String targetType = null;
+ if (oaParam.getBusinessService()) {
+ String id = oaParam.getIdentityLinkDomainIdentifier();
+ if (id.startsWith(AuthenticationSession.REGISTERANDORDNR_PREFIX_))
+ targetType = id;
+ else
+ targetType = AuthenticationSession.REGISTERANDORDNR_PREFIX_ + moaSession.getDomainIdentifier();
+ } else {
+ targetType = AuthenticationSession.TARGET_PREFIX_ + oaParam.getTarget();
+ }
+
+ Logger.debug("Starting connecting SZR Gateway");
+ // contact SZR Gateway
+ IdentityLink identityLink = null;
+
+ identityLink = STORKResponseProcessor.connectToSZRGateway(personalAttributeList, oaParam.getFriendlyName(),
+ targetType, null, oaParam.getMandateProfiles(), citizenSignature);
+ Logger.debug("SZR communication was successfull");
+
+ if (identityLink == null) {
+ Logger.error("SZR Gateway did not return an identity link.");
+ throw new MOAIDException("stork.10", null);
+ }
+ Logger.info("Received Identity Link from SZR Gateway");
+ moaSession.setIdentityLink(identityLink);
+
+ Logger.debug("Adding addtional STORK attributes to MOA session");
+ moaSession.setStorkAttributes(personalAttributeList);
+
+ // We don't have BKUURL, setting from null to "Not applicable"
+ moaSession.setBkuURL("Not applicable (STORK Authentication)");
+
+ // free for single use
+ moaSession.setAuthenticatedUsed(false);
+
+ // stork did the authentication step
+ moaSession.setAuthenticated(true);
+
+ // TODO: found better solution, but QAA Level in response could be not supported yet
+ try {
+ if (authnContextClassRef == null)
+ authnContextClassRef = PVPConstants.STORK_QAA_PREFIX + oaParam.getQaaLevel();
+ moaSession.setQAALevel(authnContextClassRef);
+
+ } catch (Throwable e) {
+ Logger.warn("STORK QAA-Level is not found in AuthnResponse. Set QAA Level to requested level");
+ moaSession.setQAALevel(PVPConstants.STORK_QAA_PREFIX + oaParam.getQaaLevel());
+
+ }
+
+ }
+
+ X509Certificate getSignerCertificate(String citizenSignature) throws CertificateException, JAXBException,
+ UnsupportedEncodingException {
+ JAXBContext ctx = JAXBContext.newInstance(SignatureType.class.getPackage().getName());
+ SignatureType root = ((JAXBElement<SignatureType>) ctx.createUnmarshaller().unmarshal(
+ IOUtils.toInputStream(citizenSignature))).getValue();
+
+ // extract certificate
+ for (Object current : root.getKeyInfo().getContent())
+ if (((JAXBElement<?>) current).getValue() instanceof X509DataType) {
+ for (Object currentX509Data : ((JAXBElement<X509DataType>) current).getValue()
+ .getX509IssuerSerialOrX509SKIOrX509SubjectName()) {
+ JAXBElement<?> casted = ((JAXBElement<?>) currentX509Data);
+ if (casted.getName().getLocalPart().equals("X509Certificate")) {
+ return new X509Certificate(((String) casted.getValue()).getBytes("UTF-8"));
+ }
+ }
+ }
+ return null;
+ }
+
+ VerifyXMLSignatureResponse verifyXMLSignature(String signature) throws AuthenticationException, ParseException,
+ BKUException, BuildException, ConfigurationException, ServiceException, UnsupportedEncodingException,
+ SAXException, IOException, ParserConfigurationException, MOAException {
+ // Based on MOA demo client
+ // Factory und Service instanzieren
+ SPSSFactory spssFac = SPSSFactory.getInstance();
+ SignatureVerificationService sigVerifyService = SignatureVerificationService.getInstance();
+
+ Content sigDocContent1 = spssFac.createContent(IOUtils.toInputStream(signature, "UTF-8"), null);
+
+ // Position der zu prüfenden Signatur im Dokument angeben
+ // (Nachdem im XPath-Ausdruck ein NS-Präfix verwendet wird, muss in einer Lookup-Tabelle
+ // der damit bezeichnete Namenraum mitgegeben werden)
+ HashMap nSMap = new HashMap();
+ nSMap.put("dsig", "http://www.w3.org/2000/09/xmldsig#");
+ VerifySignatureLocation sigLocation = spssFac.createVerifySignatureLocation("//dsig:Signature", nSMap);
+
+ // Zu prüfendes Dokument und Signaturposition zusammenfassen
+
+ VerifySignatureInfo sigInfo = spssFac.createVerifySignatureInfo(sigDocContent1, sigLocation);
+
+ // Prüfrequest zusammenstellen
+ VerifyXMLSignatureRequest verifyRequest = spssFac.createVerifyXMLSignatureRequest(null, // Wird Prüfzeit nicht
+ // angegeben, wird
+ // aktuelle Zeit
+ // verwendet
+ sigInfo, null, // Keine Ergänzungsobjekte notwendig
+ null, // Signaturmanifest-Prüfung soll nicht durchgeführt werden
+ false, // Hash-Inputdaten, d.h. tatsächlich signierte Daten werden nicht zurückgeliefert
+ "MOAIDBuergerkartePersonenbindungMitTestkarten");// TODO load from config
+ // "Test-Signaturdienste"); // ID des verwendeten Vertrauensprofils
+
+ VerifyXMLSignatureResponse verifyResponse = null;
+ try {
+ // Aufruf der Signaturprüfung
+ verifyResponse = sigVerifyService.verifyXMLSignature(verifyRequest);
+ } catch (MOAException e) {
+ // Service liefert Fehler
+ System.err.println("Die Signaturprüfung hat folgenden Fehler geliefert:");
+ System.err.println("Fehlercode: " + e.getMessageId());
+ System.err.println("Fehlernachricht: " + e.getMessage());
+ throw e;
+ }
+
+ return verifyResponse;
+ }
+
+ at.gv.egovernment.moa.id.auth.data.VerifyXMLSignatureResponse convert(
+ VerifyXMLSignatureResponse xMLVerifySignatureResponse) {
+ at.gv.egovernment.moa.id.auth.data.VerifyXMLSignatureResponse response = new at.gv.egovernment.moa.id.auth.data.VerifyXMLSignatureResponse();
+ response.setCertificateCheckCode(xMLVerifySignatureResponse.getCertificateCheck().getCode());
+ response.setPublicAuthority(xMLVerifySignatureResponse.getSignerInfo().isPublicAuthority());
+ // response.setPublicAuthorityCode(publicAuthorityCode)
+ response.setQualifiedCertificate(xMLVerifySignatureResponse.getSignerInfo().isQualifiedCertificate());
+ response.setSignatureCheckCode(xMLVerifySignatureResponse.getSignatureCheck().getCode());
+ response.setSignatureManifestCheckCode(xMLVerifySignatureResponse.getSignatureManifestCheck().getCode());
+ // response.setSigningDateTime()
+ // response.setX509certificate(x509certificate)
+ response.setXmlDSIGManifestCheckCode(xMLVerifySignatureResponse.getSignatureManifestCheck().getCode());
+ // response.setXmlDSIGManigest(xMLVerifySignatureResponse.getSignatureManifestCheck())
+ // response.setXmlDsigSubjectName(xmlDsigSubjectName)
+ return response;
+ }
+
+}
diff --git a/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/CreateStorkAuthRequestFormTask.java b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/CreateStorkAuthRequestFormTask.java
new file mode 100644
index 000000000..021ee62cf
--- /dev/null
+++ b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/CreateStorkAuthRequestFormTask.java
@@ -0,0 +1,114 @@
+package at.gv.egovernment.moa.id.auth.modules.stork.tasks;
+
+import static at.gv.egovernment.moa.id.auth.MOAIDAuthConstants.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringUtils;
+
+import at.gv.egovernment.moa.id.auth.AuthenticationServer;
+import at.gv.egovernment.moa.id.auth.builder.StartAuthenticationBuilder;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
+import at.gv.egovernment.moa.id.auth.modules.AbstractAuthServletTask;
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
+import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
+import at.gv.egovernment.moa.id.config.stork.CPEPS;
+import at.gv.egovernment.moa.id.config.stork.STORKConfig;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
+import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
+import at.gv.egovernment.moa.logging.Logger;
+
+/**
+ * Creates a SAML2 STORK authentication request, embeds it in a form (in order to satisfy saml post binging) and returns the form withing the HttpServletResponse.<p/>
+ * In detail:
+ * <ul>
+ * <li>Validates the stork configuration in order to make sure the selected country is supported.</li>
+ * <li>Puts a flag ({@link #PROCESS_CTX_KEY_CPEPS_ISXMLSIGSUPPORTED}) into the ExecutionContext reflecting the capability of the C-PEPS to create xml signatures.</li>
+ * <li>Invokes {@link AuthenticationServer#startSTORKAuthentication(HttpServletRequest, HttpServletResponse, AuthenticationSession)} which</li>
+ * <ul>
+ * <li>Creates and signs a SAML2 stork authentication request.</li>
+ * <li>Creates a signature request for auth block signature (either to be performed by the C-PEPS or locally).</li>
+ * <li>Using the velocity template engine in order to create a form with the embedded stork request.</li>
+ * <li>Writes the form to the response output stream.</li>
+ * </ul>
+ * </ul>
+ * Expects:
+ * <ul>
+ * <li>HttpServletRequest parameter {@linkplain at.gv.egovernment.moa.id.auth.MOAIDAuthConstants#PARAM_SESSIONID PARAM_SESSIONID}</li>
+ * <li>Property {@code ccc} set within the moa session.</li>
+ * </ul>
+ * Result:
+ * <ul>
+ * <li>Form containing a SAML2 Stork authentication request and an action url pointing to the selected C-PEPS.</li>
+ * <li>Assertion consumer URL for C-PEPS set either to {@code /PEPSConnector} in case of a C-PEPS supporting xml signatures or {@code /PEPSConnectorWithLocalSigning} if the selected C-PEPS does not support xml signatures.</li>
+ * <li>In case of a C-PEPS not supporting xml signature: moasession with set signedDoc property (containing the signature request for local signing).</li>
+ * <li>ExecutionContext contains the boolean flag {@link #PROCESS_CTX_KEY_CPEPS_ISXMLSIGSUPPORTED}.
+ * </ul>
+ * Code taken from {@link StartAuthenticationBuilder#build(AuthenticationSession, HttpServletRequest, HttpServletResponse)}.<br/>
+ * Using {@link AuthenticationServer#startSTORKAuthentication(HttpServletRequest, HttpServletResponse, AuthenticationSession)}
+ * @see #execute(ExecutionContext, HttpServletRequest, HttpServletResponse)
+ */
+public class CreateStorkAuthRequestFormTask extends AbstractAuthServletTask {
+
+ /**
+ * Boolean value reflecting the capability of the selected c-peps of creating xml signatures.
+ */
+ public static final String PROCESS_CTX_KEY_CPEPS_ISXMLSIGSUPPORTED = "C-PEPS:XMLSignatureSupported";
+
+ @Override
+ public void execute(ExecutionContext executionContext, HttpServletRequest req, HttpServletResponse resp)
+ throws TaskExecutionException {
+
+ String pendingRequestID = null;
+ String sessionID = null;
+ try {
+ setNoCachingHeaders(resp);
+
+ sessionID = StringEscapeUtils.escapeHtml(req.getParameter(PARAM_SESSIONID));
+ // check parameter
+ if (!ParamValidatorUtils.isValidSessionID(sessionID)) {
+ throw new WrongParametersException("CreateStorkAuthRequestFormTask", PARAM_SESSIONID, "auth.12");
+ }
+ AuthenticationSession moasession = AuthenticationServer.getSession(sessionID);
+ pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(sessionID);
+
+ if (StringUtils.isEmpty(moasession.getCcc())) {
+ // illegal state; task should not have been executed without a selected country
+ throw new AuthenticationException("stork.22", new Object[] { sessionID });
+ }
+ STORKConfig storkConfig = AuthConfigurationProvider.getInstance().getStorkConfig();
+ if (!storkConfig.isSTORKAuthentication(moasession.getCcc())) {
+ throw new AuthenticationException("stork.23", new Object[] { moasession.getCcc(), sessionID });
+ }
+
+ // STORK authentication
+ // cpeps cannot be null
+ CPEPS cpeps = storkConfig.getCPEPS(moasession.getCcc());
+ Logger.debug("Found C-PEPS configuration for citizen of country: " + moasession.getCcc());
+ executionContext.put(PROCESS_CTX_KEY_CPEPS_ISXMLSIGSUPPORTED, cpeps.isXMLSignatureSupported());
+
+ Logger.info("Starting STORK authentication for a citizen of country: " + moasession.getCcc());
+ AuthenticationServer.startSTORKAuthentication(req, resp, moasession);
+
+ } catch (MOAIDException ex) {
+ throw new TaskExecutionException(ex.getMessage(), ex);
+
+ } catch (Exception e) {
+ Logger.error("CreateStorkAuthRequestFormTask has an interal Error.", e);
+ throw new TaskExecutionException("CreateStorkAuthRequestFormTask has an interal Error.", e);
+
+ }
+
+ finally {
+ ConfigurationDBUtils.closeSession();
+ }
+ }
+
+}
diff --git a/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorHandleLocalSignResponseTask.java b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorHandleLocalSignResponseTask.java
new file mode 100644
index 000000000..1ae66f24e
--- /dev/null
+++ b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorHandleLocalSignResponseTask.java
@@ -0,0 +1,218 @@
+package at.gv.egovernment.moa.id.auth.modules.stork.tasks;
+
+import iaik.x509.X509Certificate;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+
+import org.apache.commons.codec.binary.Base64;
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.VelocityEngine;
+
+import at.gv.egovernment.moa.id.auth.AuthenticationServer;
+import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.auth.stork.STORKException;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
+import at.gv.egovernment.moa.id.moduls.ModulUtils;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
+import at.gv.egovernment.moa.id.util.VelocityProvider;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse;
+import eu.stork.oasisdss.api.ApiUtils;
+import eu.stork.oasisdss.profile.SignResponse;
+import eu.stork.peps.auth.commons.IPersonalAttributeList;
+import eu.stork.peps.auth.commons.PersonalAttribute;
+
+/**
+ * Processes the citizen's signature, creates identity link using szr gateway and finalizes authentication.
+ * <p/>
+ * In detail:
+ * <ul>
+ * <li>Changes moa session id.</li>
+ * <li>Decodes and validates the sign response, extracting the citizen's signature.</li>
+ * <li>Verifies the citizen's signature.</li>
+ * <li>Create {@code signedDoc} attribute.</li>
+ * <li>Retrieve identity link from SZR gateway using the citizen's signature.</li>
+ * <li>If the S-PEPS did not provide any gender information, the szr gateway will not be able to issue an identity link.
+ * Therefore a form is presented asking for the subject's gender. The form finally submits the user back to the
+ * {@code /PepsConnectorWithLocalSigning} servlet (this task).</li>
+ * <li>The moa session is updated with authentication information.</li>
+ * <li>Change moa session id.</li>
+ * <li>Redirects back to {@code /dispatcher} in order to finalize the authentication.</li>
+ * </ul>
+ * Expects:
+ * <ul>
+ * <li>HttpServletRequest parameter {@code moaSessionID}</li>
+ * <li>HttpServletRequest parameter {@code signresponse}</li>
+ * </ul>
+ * Result:
+ * <ul>
+ * <li>Updated moa id session (signed auth block, signer certificate etc.)</li>
+ * <li>Redirect to {@code /dispatcher}.</li>
+ * <li>{@link ExecutionContext} contains boolean flag {@code identityLinkAvailable} indicating if an identitylink has been successfully creates or not.</li>
+ * </ul>
+ * Possible branches:
+ * <ul>
+ * <li>In case the szr gateway throws exception due to missing gender information:
+ * <ul>
+ * <li>Returns a form for gender selection with action url back to this servlet/task.</li>
+ * </ul>
+ * </li>
+ * </ul>
+ * Code taken from {@link at.gv.egovernment.moa.id.auth.servlet.PEPSConnectorWithLocalSigningServlet}.<br/>
+ *
+ * @see #execute(ExecutionContext, HttpServletRequest, HttpServletResponse)
+ */
+public class PepsConnectorHandleLocalSignResponseTask extends AbstractPepsConnectorWithLocalSigningTask {
+
+ @Override
+ public void execute(ExecutionContext executionContext, HttpServletRequest request, HttpServletResponse response)
+ throws TaskExecutionException {
+ String moaSessionID = request.getParameter("moaSessionID");
+ String signResponse = request.getParameter("signresponse");
+ Logger.info("moaSessionID:" + moaSessionID);
+ Logger.info("signResponse:" + signResponse);
+
+ if (moaSessionID != null && signResponse != null) {
+ // redirect from oasis with signresponse
+ handleSignResponse(executionContext, request, response);
+ } else {
+ // should not occur
+ throw new TaskExecutionException("Parsing mulitpart/form-data request parameters failed", null);
+ }
+ return;
+ }
+
+ private void handleSignResponse(ExecutionContext executionContext, HttpServletRequest request,
+ HttpServletResponse response) throws TaskExecutionException {
+ Logger.info("handleSignResponse started");
+ String moaSessionID = request.getParameter("moaSessionID");
+ String signResponse = request.getParameter("signresponse");
+ Logger.info("moaSessionID:" + moaSessionID);
+ Logger.info("signResponse:" + signResponse);
+ String pendingRequestID = null;
+ try {
+
+ // load MOASession from database
+ AuthenticationSession moaSession = AuthenticationServer.getSession(moaSessionID);
+ // change MOASessionID
+ moaSessionID = AuthenticationSessionStoreage.changeSessionID(moaSession);
+
+ pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(moaSessionID);
+ Logger.info("pendingRequestID:" + pendingRequestID);
+ String signResponseString = new String(Base64.decodeBase64(signResponse), "UTF8");
+ Logger.info("RECEIVED signresponse:" + signResponseString);
+ // create SignResponse object
+ Source response1 = new StreamSource(new java.io.StringReader(signResponseString));
+ SignResponse dssSignResponse = ApiUtils.unmarshal(response1, SignResponse.class);
+
+ // SignResponse dssSignResponse = (SignResponse) ApiUtils.unmarshal(new StreamSource(new
+ // java.io.StringReader(Base64.signResponse)));
+
+ String citizenSignature = getCitizienSignatureFromSignResponse(dssSignResponse);
+
+ // memorize signature into authblock
+ moaSession.setAuthBlock(citizenSignature);
+
+ X509Certificate cert = getSignerCertificate(citizenSignature);
+ moaSession.setSignerCertificate(cert);
+ VerifyXMLSignatureResponse xMLVerifySignatureResponse = verifyXMLSignature(citizenSignature);
+ at.gv.egovernment.moa.id.auth.data.VerifyXMLSignatureResponse tmp = convert(xMLVerifySignatureResponse);
+
+ moaSession.setXMLVerifySignatureResponse(tmp);
+ executionContext.put("identityLinkAvailable", false);
+ try {
+ IPersonalAttributeList personalAttributeList = moaSession.getAuthnResponseGetPersonalAttributeList();
+ // Add SignResponse TODO Add signature (extracted from signResponse)?
+ List<String> values = new ArrayList<String>();
+ values.add(signResponseString);
+ // values.add(citizenSignature);
+ Logger.debug("Assembling signedDoc attribute");
+ PersonalAttribute signedDocAttribute = new PersonalAttribute("signedDoc", false, values, "Available");
+ personalAttributeList.add(signedDocAttribute);
+
+ String authnContextClassRef = moaSession.getAuthnContextClassRef();
+ SZRGInsertion(moaSession, personalAttributeList, authnContextClassRef, citizenSignature);
+ executionContext.put("identityLinkAvailable", true);
+ } catch (STORKException e) {
+ // this is really nasty but we work against the system here. We are supposed to get the gender attribute
+ // from
+ // stork. If we do not, we cannot register the person in the ERnP - we have to have the
+ // gender for the represented person. So here comes the dirty hack.
+ if (e.getCause() instanceof STORKException
+ && e.getCause().getMessage().equals("gender not found in response")) {
+ try {
+ Logger.trace("Initialize VelocityEngine...");
+
+ VelocityEngine velocityEngine = VelocityProvider.getClassPathVelocityEngine();
+ Template template = velocityEngine.getTemplate("/resources/templates/fetchGender.html");
+ VelocityContext context = new VelocityContext();
+ context.put("SAMLResponse", request.getParameter("SAMLResponse"));
+ context.put("action", request.getRequestURL());
+
+ StringWriter writer = new StringWriter();
+ template.merge(context, writer);
+ response.getOutputStream().write(writer.toString().getBytes("UTF-8"));
+ } catch (Exception e1) {
+ Logger.error("Error sending gender retrival form.", e1);
+ // httpSession.invalidate();
+ throw new MOAIDException("stork.10", null);
+ }
+
+ return;
+ }
+
+ Logger.error("Error connecting SZR Gateway", e);
+ throw new MOAIDException("stork.10", null);
+ }
+
+ Logger.debug("Add full STORK AuthnResponse to MOA session");
+ moaSession.setStorkAuthnResponse(request.getParameter("SAMLResponse"));// TODO ask Florian/Thomas
+ // authnResponse?
+ moaSession.setForeigner(true);
+
+ // session is implicit stored in changeSessionID!!!!
+ String newMOASessionID = AuthenticationSessionStoreage.changeSessionID(moaSession);
+
+ Logger.info("Changed MOASession " + moaSessionID + " to Session " + newMOASessionID);
+
+ // redirect
+ String redirectURL = null;
+ redirectURL = new DataURLBuilder().buildDataURL(moaSession.getAuthURL(),
+ ModulUtils.buildAuthURL(moaSession.getModul(), moaSession.getAction(), pendingRequestID),
+ newMOASessionID);
+ redirectURL = response.encodeRedirectURL(redirectURL);
+
+ response.sendRedirect(redirectURL);
+ Logger.info("REDIRECT TO: " + redirectURL);
+
+ } catch (AuthenticationException e) {
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ } catch (MOAIDException e) {
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ } catch (Exception e) {
+ Logger.error("PEPSConnector has an interal Error.", e);
+ throw new TaskExecutionException(e.getMessage(), e);
+ }
+
+ finally {
+ ConfigurationDBUtils.closeSession();
+ }
+ }
+
+}
diff --git a/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorHandleResponseWithoutSignatureTask.java b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorHandleResponseWithoutSignatureTask.java
new file mode 100644
index 000000000..aff69aa9c
--- /dev/null
+++ b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorHandleResponseWithoutSignatureTask.java
@@ -0,0 +1,447 @@
+package at.gv.egovernment.moa.id.auth.modules.stork.tasks;
+
+import iaik.x509.X509Certificate;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.VelocityEngine;
+import org.opensaml.saml2.core.StatusCode;
+
+import at.gv.egovernment.moa.id.auth.AuthenticationServer;
+import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.auth.servlet.PEPSConnectorWithLocalSigningServlet;
+import at.gv.egovernment.moa.id.auth.stork.STORKException;
+import at.gv.egovernment.moa.id.auth.stork.STORKResponseProcessor;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
+import at.gv.egovernment.moa.id.commons.db.dao.config.AttributeProviderPlugin;
+import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
+import at.gv.egovernment.moa.id.moduls.ModulUtils;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
+import at.gv.egovernment.moa.id.util.HTTPUtils;
+import at.gv.egovernment.moa.id.util.VelocityProvider;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.StringUtils;
+import eu.stork.oasisdss.api.ApiUtils;
+import eu.stork.oasisdss.profile.SignRequest;
+import eu.stork.oasisdss.profile.SignResponse;
+import eu.stork.peps.auth.commons.IPersonalAttributeList;
+import eu.stork.peps.auth.commons.PEPSUtil;
+import eu.stork.peps.auth.commons.PersonalAttribute;
+import eu.stork.peps.auth.commons.STORKAuthnRequest;
+import eu.stork.peps.auth.commons.STORKAuthnResponse;
+import eu.stork.peps.auth.engine.STORKSAMLEngine;
+import eu.stork.peps.exceptions.STORKSAMLEngineException;
+
+/**
+ * Validates the SAML response from C-PEPS.
+ * <p/>
+ * In detail:
+ * <ul>
+ * <li>Decodes and validates SAML response from C-PEPS.</li>
+ * <li>Retrieves the moa session using the session id provided by HttpServletRequest parameter {@code RelayState} or by {@code inResponseTo} attribute of the saml response.</li>
+ * <li>Store saml response in moa session.</li>
+ * <li>Change moa session id.</li>
+ * <li>Redirect to {@code /PEPSConnectorWithLocalSigning}, with providing the moa session id as request parameter.</li>
+ * </ul>
+ * Expects:
+ * <ul>
+ * <li>HttpServletRequest parameter {@code moaSessionID} <strong>to be {@code null}</strong></li>
+ * <li>HttpServletRequest parameter {@code signresponse} <strong>to be {@code null}</strong></li>
+ * <li>HttpServletRequest parameter {@code SAMLResponse}</li>
+ * <li>Either HttpServletRequest parameter {@code RelayState} or {@code inResponseTo} attribute within the saml response, both reflecting the moa session id.</li>
+ * </ul>
+ * Result:
+ * <ul>
+ * <li>Updated moa session (with saml response).</li>
+ * <li>Redirect to {@code /PEPSConnectorWithLocalSigning}, with providing the moa session id as request parameter.</li>
+ * </ul>
+ * Code taken from {@link at.gv.egovernment.moa.id.auth.servlet.PEPSConnectorWithLocalSigningServlet}.<br/>
+ *
+ * @see #execute(ExecutionContext, HttpServletRequest, HttpServletResponse)
+ */
+public class PepsConnectorHandleResponseWithoutSignatureTask extends AbstractPepsConnectorWithLocalSigningTask {
+
+ private String oasisDssWebFormURL = "https://testvidp.buergerkarte.at/oasis-dss/DSSWebFormServlet";
+ // load from config below
+
+ @Override
+ public void execute(ExecutionContext executionContext, HttpServletRequest request, HttpServletResponse response)
+ throws TaskExecutionException {
+ String moaSessionID = request.getParameter("moaSessionID");
+ String signResponse = request.getParameter("signresponse");
+ Logger.info("moaSessionID:" + moaSessionID);
+ Logger.info("signResponse:" + signResponse);
+
+ if (moaSessionID == null && signResponse == null) {
+ // normal saml response
+ handleSAMLResponse(executionContext, request, response);
+
+ } else {
+ // should not occur
+ throw new TaskExecutionException("Parsing mulitpart/form-data request parameters failed", null);
+ }
+ return;
+ }
+
+ private void handleSAMLResponse(ExecutionContext executionContext, HttpServletRequest request,
+ HttpServletResponse response) throws TaskExecutionException {
+ Logger.info("handleSAMLResponse started");
+ String pendingRequestID = null;
+
+ setNoCachingHeaders(response);
+ try {
+ Logger.info("PEPSConnector Servlet invoked, expecting C-PEPS message.");
+ Logger.debug("This ACS endpoint is: " + HTTPUtils.getBaseURL(request));
+
+ Logger.trace("No Caching headers set for HTTP response");
+
+ // check if https or only http
+ super.checkIfHTTPisAllowed(request.getRequestURL().toString());
+
+ Logger.debug("Beginning to extract SAMLResponse out of HTTP Request");
+
+ // extract STORK Response from HTTP Request
+ // Decodes SAML Response
+ byte[] decSamlToken;
+ try {
+ decSamlToken = PEPSUtil.decodeSAMLToken(request.getParameter("SAMLResponse"));
+ Logger.debug("SAMLResponse: " + new String(decSamlToken));
+
+ } catch (NullPointerException e) {
+ Logger.error("Unable to retrieve STORK Response", e);
+ throw new MOAIDException("stork.04", null);
+ }
+
+ // Get SAMLEngine instance
+ STORKSAMLEngine engine = STORKSAMLEngine.getInstance("outgoing");
+
+ STORKAuthnResponse authnResponse = null;
+ try {
+ // validate SAML Token
+ Logger.debug("Starting validation of SAML response");
+ authnResponse = engine.validateSTORKAuthnResponseWithQuery(decSamlToken, (String) request.getRemoteHost());
+ Logger.info("SAML response succesfully verified!");
+ } catch (STORKSAMLEngineException e) {
+ Logger.error("Failed to verify STORK SAML Response", e);
+ throw new MOAIDException("stork.05", null);
+ }
+
+ Logger.info("STORK SAML Response message succesfully extracted");
+ Logger.debug("STORK response: ");
+ Logger.debug(authnResponse.toString());
+
+ Logger.debug("Trying to find MOA Session-ID ...");
+ // String moaSessionID = request.getParameter(PARAM_SESSIONID);
+ // first use SAML2 relayState
+ String moaSessionID = request.getParameter("RelayState");
+
+ // escape parameter strings
+ moaSessionID = StringEscapeUtils.escapeHtml(moaSessionID);
+
+ // check if SAML2 relaystate includes a MOA sessionID
+ if (StringUtils.isEmpty(moaSessionID)) {
+ // if relaystate is emtpty, use SAML response -> inResponseTo element as session identifier
+
+ moaSessionID = authnResponse.getInResponseTo();
+ moaSessionID = StringEscapeUtils.escapeHtml(moaSessionID);
+
+ if (StringUtils.isEmpty(moaSessionID)) {
+ // No authentication session has been started before
+ Logger.error("MOA-SessionID was not found, no previous AuthnRequest had been started");
+ Logger.debug("PEPSConnectorURL was: " + request.getRequestURL());
+ throw new AuthenticationException("auth.02", new Object[] { moaSessionID });
+
+ } else
+ Logger.trace("Use MOA SessionID " + moaSessionID + " from AuthnResponse->inResponseTo attribute.");
+
+ } else
+ // Logger.trace("MOA SessionID " + moaSessionID + " is found in http GET parameter.");
+ Logger.trace("MOA SessionID " + moaSessionID + " is found in SAML2 relayState.");
+
+ /*
+ * INFO!!!! SAML message IDs has an different format then MOASessionIDs This is only a workaround because
+ * many PEPS does not support SAML2 relayState or MOASessionID as AttributConsumerServiceURL GET parameter
+ */
+ // if (!ParamValidatorUtils.isValidSessionID(moaSessionID))
+ // throw new WrongParametersException("VerifyAuthenticationBlock", PARAM_SESSIONID, "auth.12");
+
+ pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(moaSessionID);
+
+ // load MOASession from database
+ AuthenticationSession moaSession = AuthenticationServer.getSession(moaSessionID);
+ // change MOASessionID
+ moaSessionID = AuthenticationSessionStoreage.changeSessionID(moaSession);
+
+ Logger.info("Found MOA sessionID: " + moaSessionID);
+
+ String statusCodeValue = authnResponse.getStatusCode();
+
+ if (!statusCodeValue.equals(StatusCode.SUCCESS_URI)) {
+ Logger.error("Received ErrorResponse from PEPS: " + statusCodeValue);
+ throw new MOAIDException("stork.06", new Object[] { statusCodeValue });
+ }
+
+ Logger.info("Got SAML response with authentication success message.");
+
+ Logger.debug("MOA session is still valid");
+
+ STORKAuthnRequest storkAuthnRequest = moaSession.getStorkAuthnRequest();
+
+ if (storkAuthnRequest == null) {
+ Logger.error("Could not find any preceeding STORK AuthnRequest to this MOA session: " + moaSessionID);
+ throw new MOAIDException("stork.07", null);
+ }
+
+ Logger.debug("Found a preceeding STORK AuthnRequest to this MOA session: " + moaSessionID);
+
+
+ // first, try to fetch the attributes from the list of total attributes. Note that this very list is only filled
+ // with ALL attributes when there is more than one assertion in the SAML2 STORK message.
+ IPersonalAttributeList attributeList = authnResponse.getTotalPersonalAttributeList();
+
+ // if the list is empty, there was just one assertion... probably
+ if(attributeList.isEmpty())
+ attributeList = authnResponse.getPersonalAttributeList();
+
+ // //////////// incorporate gender from parameters if not in stork response
+ // but first, check if we have a representation case
+ if (STORKResponseProcessor.hasAttribute("mandateContent", attributeList)
+ || STORKResponseProcessor.hasAttribute("representative", attributeList)
+ || STORKResponseProcessor.hasAttribute("represented", attributeList)) {
+ // in a representation case...
+ moaSession.setUseMandate("true");
+
+ // and check if we have the gender value
+ PersonalAttribute gender = attributeList.get("gender");
+ if (null == gender) {
+ String gendervalue = (String) request.getParameter("gender");
+ if (null != gendervalue) {
+ gender = new PersonalAttribute();
+ gender.setName("gender");
+ ArrayList<String> tmp = new ArrayList<String>();
+ tmp.add(gendervalue);
+ gender.setValue(tmp);
+
+ attributeList.add(gender);
+ }
+ }
+ }
+
+
+
+ // ////////////////////////////////////////////////////////////////////////
+
+ Logger.debug("Starting extraction of signedDoc attribute");
+ // extract signed doc element and citizen signature
+ String citizenSignature = null;
+ try {
+ PersonalAttribute signedDoc = attributeList.get("signedDoc");
+ String signatureInfo = null;
+ // FIXME: Remove nonsense code (signedDoc attribute... (throw Exception for "should not occur" situations)), adjust error messages in order to reflect the true problem...
+ if (signedDoc != null) {
+ signatureInfo = signedDoc.getValue().get(0);
+ // should not occur
+ } else {
+
+ // store SAMLResponse
+ moaSession.setSAMLResponse(request.getParameter("SAMLResponse"));
+ // store authnResponse
+
+ // moaSession.setAuthnResponse(authnResponse);//not serializable
+ moaSession.setAuthnResponseGetPersonalAttributeList(attributeList);
+
+ String authnContextClassRef = null;
+ try {
+ authnContextClassRef = authnResponse.getAssertions().get(0).getAuthnStatements().get(0)
+ .getAuthnContext().getAuthnContextClassRef().getAuthnContextClassRef();
+ } catch (Throwable e) {
+ Logger.warn("STORK QAA-Level is not found in AuthnResponse. Set QAA Level to requested level");
+ }
+
+ moaSession.setAuthnContextClassRef(authnContextClassRef);
+ moaSession.setReturnURL(request.getRequestURL());
+
+ // load signedDoc
+ String signRequest = moaSession.getSignedDoc();
+
+ // session is implicit stored in changeSessionID!!!!
+ String newMOASessionID = AuthenticationSessionStoreage.changeSessionID(moaSession);
+
+ // set return url to PEPSConnectorWithLocalSigningServlet and add newMOASessionID
+ // signRequest
+
+ String issuerValue = AuthConfigurationProvider.getInstance().getPublicURLPrefix();
+ String acsURL = issuerValue
+ + PEPSConnectorWithLocalSigningServlet.PEPSCONNECTOR_SERVLET_URL_PATTERN;
+
+ String url = acsURL + "?moaSessionID=" + newMOASessionID;
+ // redirect to OASIS module and sign there
+
+ boolean found = false;
+ try {
+ List<AttributeProviderPlugin> aps = AuthConfigurationProvider.getInstance()
+ .getOnlineApplicationParameter(moaSession.getPublicOAURLPrefix()).getStorkAPs();
+ Logger.info("Found AttributeProviderPlugins:" + aps.size());
+ for (AttributeProviderPlugin ap : aps) {
+ Logger.info("Found AttributeProviderPlugin attribute:" + ap.getAttributes());
+ if (ap.getAttributes().equalsIgnoreCase("signedDoc")) {
+ // FIXME: A servlet's class field is not thread safe!!!
+ oasisDssWebFormURL = ap.getUrl();
+ found = true;
+ Logger.info("Loaded signedDoc attribute provider url from config:" + oasisDssWebFormURL);
+ break;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ Logger.error("Loading the signedDoc attribute provider url from config failed");
+ }
+ if (!found) {
+ Logger.error("Failed to load the signedDoc attribute provider url from config");
+ }
+ performRedirect(url, request, response, signRequest);
+
+ return;
+ }
+
+ // FIXME: This servlet/task is intended to handle peps responses without signature, so why do we try to process that signature here?
+ SignResponse dssSignResponse = (SignResponse) ApiUtils.unmarshal(new StreamSource(
+ new java.io.StringReader(signatureInfo)));
+
+ citizenSignature = getCitizienSignatureFromSignResponse(dssSignResponse);
+
+ // memorize signature into authblock
+ moaSession.setAuthBlock(citizenSignature);
+
+ X509Certificate cert = getSignerCertificate(citizenSignature);
+ moaSession.setSignerCertificate(cert);
+ moaSession.setForeigner(true);
+
+ } catch (Throwable e) {
+ Logger.error("Could not extract citizen signature from C-PEPS", e);
+ throw new MOAIDException("stork.09", null);
+ }
+
+ // FIXME: Same here; we do not have the citizen's signature, so this code might be regarded as dead code.
+ try {
+ SZRGInsertion(moaSession, attributeList, authnResponse.getAssertions()
+ .get(0).getAuthnStatements().get(0).getAuthnContext().getAuthnContextClassRef()
+ .getAuthnContextClassRef(), citizenSignature);
+ } catch (STORKException e) {
+ // this is really nasty but we work against the system here. We are supposed to get the gender attribute
+ // from
+ // stork. If we do not, we cannot register the person in the ERnP - we have to have the
+ // gender for the represented person. So here comes the dirty hack.
+ if (e.getCause() instanceof STORKException
+ && e.getCause().getMessage().equals("gender not found in response")) {
+ try {
+ Logger.trace("Initialize VelocityEngine...");
+
+ VelocityEngine velocityEngine = VelocityProvider.getClassPathVelocityEngine();
+ Template template = velocityEngine.getTemplate("/resources/templates/fetchGender.html");
+ VelocityContext context = new VelocityContext();
+ context.put("SAMLResponse", request.getParameter("SAMLResponse"));
+ context.put("action", request.getRequestURL());
+
+ StringWriter writer = new StringWriter();
+ template.merge(context, writer);
+
+ response.getOutputStream().write(writer.toString().getBytes("UTF-8"));
+ } catch (Exception e1) {
+ Logger.error("Error sending gender retrival form.", e1);
+ // httpSession.invalidate();
+ throw new MOAIDException("stork.10", null);
+ }
+
+ return;
+ }
+
+ Logger.error("Error connecting SZR Gateway", e);
+ throw new MOAIDException("stork.10", null);
+ }
+
+ Logger.debug("Add full STORK AuthnResponse to MOA session");
+ moaSession.setStorkAuthnResponse(request.getParameter("SAMLResponse"));// TODO ask Florian/Thomas
+ // authnResponse?
+
+ // session is implicit stored in changeSessionID!!!!
+ String newMOASessionID = AuthenticationSessionStoreage.changeSessionID(moaSession);
+
+ Logger.info("Changed MOASession " + moaSessionID + " to Session " + newMOASessionID);
+
+ // redirect
+ String redirectURL = null;
+ redirectURL = new DataURLBuilder().buildDataURL(moaSession.getAuthURL(),
+ ModulUtils.buildAuthURL(moaSession.getModul(), moaSession.getAction(), pendingRequestID),
+ newMOASessionID);
+ redirectURL = response.encodeRedirectURL(redirectURL);
+
+ response.setContentType("text/html");
+ response.setStatus(302);
+ response.addHeader("Location", redirectURL);
+ Logger.info("REDIRECT TO: " + redirectURL);
+
+ } catch (AuthenticationException e) {
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ } catch (MOAIDException e) {
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ } catch (Exception e) {
+ Logger.error("PEPSConnector has an interal Error.", e);
+ throw new TaskExecutionException(e.getMessage(), e);
+ }
+
+ finally {
+ ConfigurationDBUtils.closeSession();
+ }
+
+ }
+
+ private void performRedirect(String url, HttpServletRequest req, HttpServletResponse resp, String signRequestString)
+ throws MOAIDException {
+
+ try {
+ Logger.trace("Initialize VelocityEngine...");
+
+ VelocityEngine velocityEngine = VelocityProvider.getClassPathVelocityEngine();
+ Template template = velocityEngine.getTemplate("/resources/templates/oasis_dss_webform_binding.vm");
+ VelocityContext context = new VelocityContext();
+
+ Logger.debug("performRedirect, signrequest:" + signRequestString);
+ Source signDoc = new StreamSource(new java.io.StringReader(signRequestString));
+ SignRequest signRequest = ApiUtils.unmarshal(signDoc, SignRequest.class);
+ signRequest.setReturnURL("TODO");
+ signRequestString = IOUtils.toString(ApiUtils.marshalToInputStream(signRequest));
+ context.put("signrequest", Base64.encodeBase64String(signRequestString.getBytes("UTF8")));
+ context.put("clienturl", url);
+ context.put("action", oasisDssWebFormURL);
+
+ StringWriter writer = new StringWriter();
+ template.merge(context, writer);
+
+ resp.getOutputStream().write(writer.toString().getBytes("UTF-8"));
+ } catch (Exception e) {
+ Logger.error("Error sending DSS signrequest.", e);
+ throw new MOAIDException("stork.11", null);
+ }
+ }
+}
diff --git a/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorTask.java b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorTask.java
new file mode 100644
index 000000000..b89571fde
--- /dev/null
+++ b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorTask.java
@@ -0,0 +1,782 @@
+package at.gv.egovernment.moa.id.auth.modules.stork.tasks;
+
+import iaik.x509.X509Certificate;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.net.URL;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.Properties;
+
+import javax.activation.DataSource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.namespace.QName;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.Service;
+import javax.xml.ws.soap.SOAPBinding;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.VelocityEngine;
+import org.opensaml.saml2.core.StatusCode;
+import org.springframework.format.datetime.DateFormatter;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+import at.gv.egovernment.moa.id.auth.AuthenticationServer;
+import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.data.IdentityLink;
+import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;
+import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
+import at.gv.egovernment.moa.id.auth.modules.AbstractAuthServletTask;
+import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;
+import at.gv.egovernment.moa.id.auth.parser.IdentityLinkAssertionParser;
+import at.gv.egovernment.moa.id.auth.servlet.PEPSConnectorServlet;
+import at.gv.egovernment.moa.id.auth.stork.STORKException;
+import at.gv.egovernment.moa.id.auth.stork.STORKResponseProcessor;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
+import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
+import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
+import at.gv.egovernment.moa.id.moduls.ModulUtils;
+import at.gv.egovernment.moa.id.process.api.ExecutionContext;
+import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;
+import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
+import at.gv.egovernment.moa.id.util.HTTPUtils;
+import at.gv.egovernment.moa.id.util.IdentityLinkReSigner;
+import at.gv.egovernment.moa.id.util.VelocityProvider;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.DOMUtils;
+import at.gv.egovernment.moa.util.StringUtils;
+import at.gv.egovernment.moa.util.XPathUtils;
+import at.gv.util.xsd.xmldsig.SignatureType;
+import at.gv.util.xsd.xmldsig.X509DataType;
+import eu.stork.documentservice.DocumentService;
+import eu.stork.documentservice.data.DatabaseConnectorMySQLImpl;
+import eu.stork.oasisdss.api.ApiUtils;
+import eu.stork.oasisdss.api.LightweightSourceResolver;
+import eu.stork.oasisdss.api.exceptions.ApiUtilsException;
+import eu.stork.oasisdss.profile.DocumentType;
+import eu.stork.oasisdss.profile.DocumentWithSignature;
+import eu.stork.oasisdss.profile.SignResponse;
+import eu.stork.peps.auth.commons.IPersonalAttributeList;
+import eu.stork.peps.auth.commons.PEPSUtil;
+import eu.stork.peps.auth.commons.PersonalAttribute;
+import eu.stork.peps.auth.commons.PersonalAttributeList;
+import eu.stork.peps.auth.commons.STORKAttrQueryRequest;
+import eu.stork.peps.auth.commons.STORKAuthnRequest;
+import eu.stork.peps.auth.commons.STORKAuthnResponse;
+import eu.stork.peps.auth.engine.STORKSAMLEngine;
+import eu.stork.peps.exceptions.STORKSAMLEngineException;
+
+/**
+ * Evaluates the SAML response from the C-PEPS and authenticates the user.
+ * <p/>
+ * In detail:
+ * <ul>
+ * <li>Decodes and validates the SAML response from the C-PEPS.</li>
+ * <li>Change moa session id.</li>
+ * <li>Extracts the subject's gender from request parameter {@code gender} if not available from the saml response.</li>
+ * <li>Extracts the {@code signedDoc} attribute from the response, get signed doc payload using stork attribute query request.</li>
+ * <li>Request SZR gateway for verification of the citizen's signature and for creating of an identity link.</li>
+ * <li>In case of mandate mode: If the S-PEPS did not provide any gender information, the szr gateway will not be able to issue an identity link. Therefore a form is presented asking for the subject's gender. The form submits the user back to the {@code /PepsConnector} servlet (this task).</li>
+ * <li>The moa session is updated with authentication information.</li>
+ * <li>Change moa session id.</li>
+ * <li>Redirects back to {@code /dispatcher} in order to finalize the authentication.</li>
+ * </ul>
+ * Expects:
+ * <ul>
+ * <li>HttpServletRequest parameter {@code SAMLResponse}</li>
+ * <li>Either HttpServletRequest parameter {@code RelayState} or {@code inResponseTo} attribute from the SAML response (both depicting the moa session id)</li>
+ * <li>HttpServletRequest parameter {@code gender} in case the request comes from the gender selection form</li>
+ * <li>{@code signedDoc} attribute within the SAML response.</li>
+ * </ul>
+ * Result:
+ * <ul>
+ * <li>Updated moa id session (identity link, stork attributes...)</li>
+ * <li>{@link ExecutionContext} contains boolean flag {@code identityLinkAvailable} indicating if an identitylink has been successfully creates or not.</li>
+ * <li>Redirect to {@code /dispatcher}.</li>
+ * </ul>
+ * Possible branches:
+ * <ul>
+ * <li>In case the szr gateway throws exception due to missing gender information:
+ * <ul>
+ * <li>Returns a form for gender selection with action url back to this servlet/task.</li>
+ * </ul>
+ * </li>
+ * </ul>
+ * Code taken from {@link at.gv.egovernment.moa.id.auth.servlet.PEPSConnectorServlet}.<br/>
+ *
+ * @see #execute(ExecutionContext, HttpServletRequest, HttpServletResponse)
+ */
+public class PepsConnectorTask extends AbstractAuthServletTask {
+
+ public PepsConnectorTask() {
+ super();
+
+ }
+
+ @Override
+ public void execute(ExecutionContext executionContext, HttpServletRequest request, HttpServletResponse response)
+ throws TaskExecutionException {
+ String pendingRequestID = null;
+
+ setNoCachingHeaders(response);
+
+ try {
+
+ Logger.info("PEPSConnector Servlet invoked, expecting C-PEPS message.");
+ Logger.debug("This ACS endpoint is: " + HTTPUtils.getBaseURL(request));
+
+ // check if https or only http
+ super.checkIfHTTPisAllowed(request.getRequestURL().toString());
+
+ Logger.debug("Beginning to extract SAMLResponse out of HTTP Request");
+
+ // extract STORK Response from HTTP Request
+ // Decodes SAML Response
+ byte[] decSamlToken;
+ try {
+ decSamlToken = PEPSUtil.decodeSAMLToken(request.getParameter("SAMLResponse"));
+ Logger.debug("SAMLResponse: " + new String(decSamlToken));
+
+ } catch (NullPointerException e) {
+ Logger.error("Unable to retrieve STORK Response", e);
+ throw new MOAIDException("stork.04", null);
+ }
+
+ // Get SAMLEngine instance
+ STORKSAMLEngine engine = STORKSAMLEngine.getInstance("outgoing");
+
+ STORKAuthnResponse authnResponse = null;
+ try {
+ // validate SAML Token
+ Logger.debug("Starting validation of SAML response");
+ authnResponse = engine.validateSTORKAuthnResponseWithQuery(decSamlToken, (String) request.getRemoteHost());
+ Logger.info("SAML response succesfully verified!");
+ } catch (STORKSAMLEngineException e) {
+ Logger.error("Failed to verify STORK SAML Response", e);
+ throw new MOAIDException("stork.05", null);
+ }
+
+ Logger.info("STORK SAML Response message succesfully extracted");
+ Logger.debug("STORK response: ");
+ Logger.debug(authnResponse.toString());
+
+ // do PEPS-conform logging for easier evaluation
+ try {
+ // 2015-03-12 16:44:27.144#S-PEPS receives response from C-PEPS#orig_msg_id id2 (in response to)#orig_msg_id id1 (in response to)#status#msghash#msg_id id3#
+ Logger.info(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()) + "#S-PEPS receives response from C-PEPS#" +
+ authnResponse.getInResponseTo() + "#NA#" + authnResponse.getMessage() + "#_hash_#" + authnResponse.getSamlId() + "#");
+ } catch (Exception e1) {
+ Logger.info("STORK PEPS conform logging failed because of: " + e1.getMessage());
+ }
+
+ Logger.debug("Trying to find MOA Session-ID ...");
+ // String moaSessionID = request.getParameter(PARAM_SESSIONID);
+ // first use SAML2 relayState
+ String moaSessionID = request.getParameter("RelayState");
+
+ // escape parameter strings
+ moaSessionID = StringEscapeUtils.escapeHtml(moaSessionID);
+
+ // check if SAML2 relaystate includes a MOA sessionID
+ if (StringUtils.isEmpty(moaSessionID)) {
+ // if relaystate is emtpty, use SAML response -> inResponseTo element as session identifier
+
+ moaSessionID = authnResponse.getInResponseTo();
+ moaSessionID = StringEscapeUtils.escapeHtml(moaSessionID);
+
+ if (StringUtils.isEmpty(moaSessionID)) {
+ // No authentication session has been started before
+ Logger.error("MOA-SessionID was not found, no previous AuthnRequest had been started");
+ Logger.debug("PEPSConnectorURL was: " + request.getRequestURL());
+ throw new AuthenticationException("auth.02", new Object[] { moaSessionID });
+
+ } else
+ Logger.trace("Use MOA SessionID " + moaSessionID + " from AuthnResponse->inResponseTo attribute.");
+
+ } else
+ // Logger.trace("MOA SessionID " + moaSessionID + " is found in http GET parameter.");
+ Logger.trace("MOA SessionID " + moaSessionID + " is found in SAML2 relayState.");
+
+ /*
+ * INFO!!!! SAML message IDs has an different format then MOASessionIDs This is only a workaround because
+ * many PEPS does not support SAML2 relayState or MOASessionID as AttributConsumerServiceURL GET parameter
+ */
+ // if (!ParamValidatorUtils.isValidSessionID(moaSessionID))
+ // throw new WrongParametersException("VerifyAuthenticationBlock", PARAM_SESSIONID, "auth.12");
+
+ pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(moaSessionID);
+
+ // load MOASession from database
+ AuthenticationSession moaSession = AuthenticationServer.getSession(moaSessionID);
+ // change MOASessionID
+ moaSessionID = AuthenticationSessionStoreage.changeSessionID(moaSession);
+
+ Logger.info("Found MOA sessionID: " + moaSessionID);
+
+ String statusCodeValue = authnResponse.getStatusCode();
+
+ if (!statusCodeValue.equals(StatusCode.SUCCESS_URI)) {
+ Logger.error("Received ErrorResponse from PEPS: " + statusCodeValue);
+ throw new MOAIDException("stork.06", new Object[] { statusCodeValue });
+ }
+
+ Logger.info("Got SAML response with authentication success message.");
+
+ Logger.debug("MOA session is still valid");
+
+ STORKAuthnRequest storkAuthnRequest = moaSession.getStorkAuthnRequest();
+
+ if (storkAuthnRequest == null) {
+ Logger.error("Could not find any preceeding STORK AuthnRequest to this MOA session: " + moaSessionID);
+ throw new MOAIDException("stork.07", null);
+ }
+
+ OAAuthParameter oaParam = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(moaSession.getPublicOAURLPrefix());
+ if (oaParam == null)
+ throw new AuthenticationException("auth.00", new Object[] { moaSession.getPublicOAURLPrefix() });
+
+ //================== Check QAA level start ====================
+ int reqQaa = -1;
+ int authQaa = -1;
+ String authQaaStr = null;
+ try {
+ reqQaa = storkAuthnRequest.getQaa();
+
+ //TODO: found better solution, but QAA Level in response could be not supported yet
+ try {
+
+ authQaaStr = authnResponse.getAssertions().get(0).
+ getAuthnStatements().get(0).getAuthnContext().
+ getAuthnContextClassRef().getAuthnContextClassRef();
+ moaSession.setQAALevel(authQaaStr);
+
+ } catch (Throwable e) {
+ Logger.warn("STORK QAA-Level is not found in AuthnResponse. Set QAA Level to requested level");
+ moaSession.setQAALevel(PVPConstants.STORK_QAA_PREFIX + oaParam.getQaaLevel());
+ authQaaStr = PVPConstants.STORK_QAA_PREFIX + oaParam.getQaaLevel();
+ }
+ if(authQaaStr != null)//Check value only if set
+ {
+ authQaa = Integer.valueOf(authQaaStr.substring(PVPConstants.STORK_QAA_PREFIX.length()));
+// authQaa = Integer.valueOf(authQaaStr);
+ if (reqQaa > authQaa) {
+ Logger.warn("Requested QAA level does not match to authenticated QAA level");
+ throw new MOAIDException("stork.21", new Object[]{reqQaa, authQaa});
+
+ }
+ }
+ } catch (MOAIDException e) {
+ throw e;
+
+ } catch (Exception e) {
+ if (Logger.isDebugEnabled())
+ Logger.warn("STORK QAA Level evaluation error", e);
+
+ else
+ Logger.warn("STORK QAA Level evaluation error (ErrorMessage="
+ + e.getMessage() + ")");
+
+ throw new MOAIDException("stork.21", new Object[]{reqQaa, authQaa});
+
+ }
+ //================== Check QAA level end ====================
+
+
+ Logger.debug("Found a preceeding STORK AuthnRequest to this MOA session: " + moaSessionID);
+
+ // fetch attribute list from response
+ IPersonalAttributeList attributeList = authnResponse.getPersonalAttributeList();
+ if(authnResponse.getAssertions().size() > 1) {
+ for(IPersonalAttributeList currentList : authnResponse.getPersonalAttributeLists()) {
+ for(PersonalAttribute currentAttribute : currentList.values()) {
+ if(!attributeList.containsKey(currentAttribute.getName()))
+ attributeList.add((PersonalAttribute) currentAttribute.clone());
+ else {
+ if(!attributeList.get(currentAttribute.getName()).getValue().equals(currentAttribute.getValue()))
+ throw new TaskExecutionException("data integrity failure", new Exception("data integrity failure: found non-matching values in multiple attributes of type " + currentAttribute.getName()));
+ }
+ }
+ }
+ }
+
+ // //////////// incorporate gender from parameters if not in stork response
+
+ // but first, check if we have a representation case
+ if (STORKResponseProcessor.hasAttribute("mandateContent", attributeList)
+ || STORKResponseProcessor.hasAttribute("representative", attributeList)
+ || STORKResponseProcessor.hasAttribute("represented", attributeList)) {
+ // in a representation case...
+ moaSession.setUseMandate("true");
+
+ // and check if we have the gender value
+ PersonalAttribute gender = attributeList.get("gender"); // TODO Do we need to check gender value if
+ // there is no representation case?
+ if (null == gender) {
+ String gendervalue = (String) request.getParameter("gender");
+ if (null != gendervalue) {
+ gender = new PersonalAttribute();
+ gender.setName("gender");
+ ArrayList<String> tmp = new ArrayList<String>();
+ tmp.add(gendervalue);
+ gender.setValue(tmp);
+
+ attributeList.add(gender);
+ }
+ }
+ }
+
+ // ////////////////////////////////////////////////////////////////////////
+
+ AuthConfigurationProvider config = AuthConfigurationProvider.getInstance();
+ String citizenSignature = null;
+ if(config.isStorkFakeIdLActive() && config.getStorkNoSignatureCountries().contains(storkAuthnRequest.getCitizenCountryCode()) && config.getStorkFakeIdLCountries().contains(storkAuthnRequest.getCitizenCountryCode())) {
+ Logger.debug("signedDoc extraction skipped due to configuration");
+ } else {
+ Logger.debug("Starting extraction of signedDoc attribute");
+ // extract signed doc element and citizen signature
+ try {
+
+ if (attributeList.get("signedDoc") == null
+ || attributeList.get("signedDoc").getValue() == null
+ || attributeList.get("signedDoc").getValue().get(0) == null) {
+ Logger.info("STORK Response include NO signedDoc attribute!");
+ throw new STORKException("STORK Response include NO signedDoc attribute.");
+
+ }
+
+ String signatureInfo = attributeList.get("signedDoc").getValue().get(0);
+
+
+ Logger.debug("signatureInfo:" + signatureInfo);
+
+ SignResponse dssSignResponse = (SignResponse) ApiUtils.unmarshal(new StreamSource(
+ new java.io.StringReader(signatureInfo)));
+
+ // fetch signed doc
+ DataSource ds = null;
+ try{
+ ds = LightweightSourceResolver.getDataSource(dssSignResponse);
+ }catch(Exception e)
+ {
+ e.printStackTrace();
+ }
+ if(ds == null){
+ //Normal DocumentServices return a http-page, but the SI DocumentService returns HTTP error 500
+ //which results in an exception and ds==null
+
+ //try to load document from documentservice
+ citizenSignature = loadDocumentFromDocumentService(dssSignResponse);
+ //throw new ApiUtilsException("No datasource found in response");
+ }
+ else
+ {
+ InputStream incoming = ds.getInputStream();
+ citizenSignature = IOUtils.toString(incoming);
+ incoming.close();
+
+ Logger.debug("citizenSignature:"+citizenSignature);
+ if(isDocumentServiceUsed(citizenSignature)==true)
+ {
+ citizenSignature = loadDocumentFromDocumentService(dssSignResponse);
+ // Logger.debug("Loading document from DocumentService.");
+ // String url = getDtlUrlFromResponse(dssSignResponse);
+ // //get Transferrequest
+ // String transferRequest = getDocTransferRequest(dssSignResponse.getDocUI(), url);
+ // //Load document from DocumentService
+ // byte[] data = getDocumentFromDtl(transferRequest, url);
+ // citizenSignature = new String(data, "UTF-8");
+ // Logger.debug("Overridung citizenSignature with:"+citizenSignature);
+ }
+ }
+
+ JAXBContext ctx = JAXBContext.newInstance(SignatureType.class.getPackage().getName());
+ SignatureType root = ((JAXBElement<SignatureType>) ctx.createUnmarshaller().unmarshal(
+ IOUtils.toInputStream(citizenSignature))).getValue();
+
+ // memorize signature into authblock
+ moaSession.setAuthBlock(citizenSignature);
+
+ // extract certificate
+ for (Object current : root.getKeyInfo().getContent())
+ if (((JAXBElement<?>) current).getValue() instanceof X509DataType) {
+ for (Object currentX509Data : ((JAXBElement<X509DataType>) current).getValue()
+ .getX509IssuerSerialOrX509SKIOrX509SubjectName()) {
+ JAXBElement<?> casted = ((JAXBElement<?>) currentX509Data);
+ if (casted.getName().getLocalPart().equals("X509Certificate")) {
+ moaSession.setSignerCertificate(new X509Certificate(((String) casted.getValue())
+ .getBytes("UTF-8")));
+ break;
+ }
+ }
+ }
+
+ } catch (Throwable e) {
+ Logger.error("Could not extract citizen signature from C-PEPS", e);
+ throw new MOAIDException("stork.09", null);
+ }
+ }
+ Logger.debug("Foregin Citizen signature successfully extracted from STORK Assertion (signedDoc)");
+ Logger.debug("Citizen signature will be verified by SZR Gateway!");
+
+ Logger.debug("fetching OAParameters from database");
+
+ // //read configuration paramters of OA
+ // AuthenticationSession moasession;
+ // try {
+ // moasession = AuthenticationSessionStoreage.getSession(moaSessionID);
+ // } catch (MOADatabaseException e2) {
+ // Logger.error("could not retrieve moa session");
+ // throw new AuthenticationException("auth.01", null);
+ // }
+
+ // retrieve target
+ // TODO: check in case of SSO!!!
+ String targetType = null;
+ if (oaParam.getBusinessService()) {
+ String id = oaParam.getIdentityLinkDomainIdentifier();
+ if (id.startsWith(AuthenticationSession.REGISTERANDORDNR_PREFIX_))
+ targetType = id;
+ else
+ targetType = AuthenticationSession.REGISTERANDORDNR_PREFIX_ + moaSession.getDomainIdentifier();
+ } else {
+ targetType = AuthenticationSession.TARGET_PREFIX_ + oaParam.getTarget();
+ }
+
+ Logger.debug("Starting connecting SZR Gateway");
+ // contact SZR Gateway
+ IdentityLink identityLink = null;
+ executionContext.put("identityLinkAvailable", false);
+ try {
+ if(config.isStorkFakeIdLActive() && config.getStorkFakeIdLCountries().contains(storkAuthnRequest.getCitizenCountryCode())) {
+ // create fake IdL
+ // - fetch IdL template from resources
+ InputStream s = PepsConnectorTask.class.getResourceAsStream("/resources/xmldata/fakeIdL_IdL_template.xml");
+ Element idlTemplate = DOMUtils.parseXmlValidating(s);
+
+ identityLink = new IdentityLinkAssertionParser(idlTemplate).parseIdentityLink();
+
+ // replace data
+ Element idlassertion = identityLink.getSamlAssertion();
+ // - set bpk/wpbk;
+ Node prIdentification = XPathUtils.selectSingleNode(idlassertion, IdentityLinkAssertionParser.PERSON_IDENT_VALUE_XPATH);
+ if(!STORKResponseProcessor.hasAttribute("eIdentifier", attributeList))
+ throw new STORKException("eIdentifier is missing");
+ String eIdentifier = STORKResponseProcessor.getAttributeValue("eIdentifier", attributeList, false);
+ prIdentification.getFirstChild().setNodeValue(eIdentifier);
+
+ // - set last name
+ Node prFamilyName = XPathUtils.selectSingleNode(idlassertion, IdentityLinkAssertionParser.PERSON_FAMILY_NAME_XPATH);
+ if(!STORKResponseProcessor.hasAttribute("surname", attributeList))
+ throw new STORKException("surname is missing");
+ String familyName = STORKResponseProcessor.getAttributeValue("surname", attributeList, false);
+ prFamilyName.getFirstChild().setNodeValue(familyName);
+
+ // - set first name
+ Node prGivenName = XPathUtils.selectSingleNode(idlassertion, IdentityLinkAssertionParser.PERSON_GIVEN_NAME_XPATH);
+ if(!STORKResponseProcessor.hasAttribute("givenName", attributeList))
+ throw new STORKException("givenName is missing");
+ String givenName = STORKResponseProcessor.getAttributeValue("givenName", attributeList, false);
+ prGivenName.getFirstChild().setNodeValue(givenName);
+
+ // - set date of birth
+ Node prDateOfBirth = XPathUtils.selectSingleNode(idlassertion, IdentityLinkAssertionParser.PERSON_DATE_OF_BIRTH_XPATH);
+ if(!STORKResponseProcessor.hasAttribute("dateOfBirth", attributeList))
+ throw new STORKException("dateOfBirth is missing");
+ String dateOfBirth = STORKResponseProcessor.getAttributeValue("dateOfBirth", attributeList, false);
+ dateOfBirth = new SimpleDateFormat("yyyy-MM-dd").format(new SimpleDateFormat("yyyyMMdd").parse(dateOfBirth));
+ prDateOfBirth.getFirstChild().setNodeValue(dateOfBirth);
+
+ identityLink = new IdentityLinkAssertionParser(idlassertion).parseIdentityLink();
+
+ //resign IDL
+ IdentityLinkReSigner identitylinkresigner = IdentityLinkReSigner.getInstance();
+ Element resignedilAssertion = identitylinkresigner.resignIdentityLink(identityLink.getSamlAssertion(), config.getStorkFakeIdLResigningKey());
+ identityLink = new IdentityLinkAssertionParser(resignedilAssertion).parseIdentityLink();
+
+ } else {
+ //contact SZR Gateway
+ Logger.debug("Starting connecting SZR Gateway");
+
+ identityLink = STORKResponseProcessor.connectToSZRGateway(
+ attributeList,
+ oaParam.getFriendlyName(),
+ targetType,
+ null,
+ oaParam.getMandateProfiles(),
+ citizenSignature);
+
+ }
+
+ } catch (STORKException e) {
+ // this is really nasty but we work against the system here. We are supposed to get the gender attribute
+ // from
+ // stork. If we do not, we cannot register the person in the ERnP - we have to have the
+ // gender for the represented person. So here comes the dirty hack.
+ if (e.getCause() instanceof STORKException
+ && e.getCause().getMessage().equals("gender not found in response")) {
+ try {
+ Logger.trace("Initialize VelocityEngine...");
+
+ VelocityEngine velocityEngine = VelocityProvider.getClassPathVelocityEngine();
+ Template template = velocityEngine.getTemplate("/resources/templates/fetchGender.html");
+ VelocityContext context = new VelocityContext();
+ context.put("SAMLResponse", request.getParameter("SAMLResponse"));
+ context.put("action", request.getRequestURL());
+
+ StringWriter writer = new StringWriter();
+ template.merge(context, writer);
+
+ response.getOutputStream().write(writer.toString().getBytes("UTF-8"));
+ } catch (Exception e1) {
+ Logger.error("Error sending gender retrival form.", e1);
+ // httpSession.invalidate();
+ throw new MOAIDException("stork.10", null);
+ }
+
+ return;
+ }
+
+ Logger.error("Error connecting SZR Gateway", e);
+ throw new MOAIDException("stork.10", null);
+ }
+ Logger.debug("SZR communication was successfull");
+
+ if (identityLink == null) {
+ Logger.error("SZR Gateway did not return an identity link.");
+ throw new MOAIDException("stork.10", null);
+ }
+ moaSession.setForeigner(true);
+
+ Logger.info("Received Identity Link from SZR Gateway");
+ executionContext.put("identityLinkAvailable", true);
+ moaSession.setIdentityLink(identityLink);
+
+ Logger.debug("Adding addtional STORK attributes to MOA session");
+ moaSession.setStorkAttributes(attributeList);
+
+ Logger.debug("Add full STORK AuthnResponse to MOA session");
+ moaSession.setStorkAuthnResponse(request.getParameter("SAMLResponse"));
+
+ // We don't have BKUURL, setting from null to "Not applicable"
+ moaSession.setBkuURL("Not applicable (STORK Authentication)");
+
+ // free for single use
+ moaSession.setAuthenticatedUsed(false);
+
+ // stork did the authentication step
+ moaSession.setAuthenticated(true);
+
+ // do PEPS-conform logging for easier evaluation
+ try {
+ // 2015-03-12 16:44:27.144#S-PEPS generates response to SP#orig_msg_id id1 (in response to)#status#msghash#msg_id id4#
+ Logger.info(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()) + "#S-PEPS generates response to SP#" +
+ "#" + moaSession.getProcessInstanceId() + "#" + authnResponse.getMessage() + "#_hash_#" + moaSession.getProcessInstanceId() + "#");
+ } catch (Exception e1) {
+ Logger.info("STORK PEPS conform logging failed because of: " + e1.getMessage());
+ }
+
+ // TODO: found better solution, but QAA Level in STORK response is not be supported yet
+// try {
+//
+// moaSession.setQAALevel(authnResponse.getAssertions().get(0).getAuthnStatements().get(0)
+// .getAuthnContext().getAuthnContextClassRef().getAuthnContextClassRef());
+//
+// } catch (Throwable e) {
+// Logger.warn("STORK QAA-Level is not found in AuthnResponse. Set QAA Level to requested level");
+// moaSession.setQAALevel(PVPConstants.STORK_QAA_PREFIX + oaParam.getQaaLevel());
+//
+// }
+
+ // session is implicit stored in changeSessionID!!!!
+ String newMOASessionID = AuthenticationSessionStoreage.changeSessionID(moaSession);
+
+ Logger.info("Changed MOASession " + moaSessionID + " to Session " + newMOASessionID);
+
+ // redirect
+ String redirectURL = null;
+ redirectURL = new DataURLBuilder().buildDataURL(moaSession.getAuthURL(),
+ ModulUtils.buildAuthURL(moaSession.getModul(), moaSession.getAction(), pendingRequestID),
+ newMOASessionID);
+ redirectURL = response.encodeRedirectURL(redirectURL);
+
+ // response.setContentType("text/html");
+ // response.setStatus(302);
+ // response.addHeader("Location", redirectURL);
+ response.sendRedirect(redirectURL);
+ Logger.info("REDIRECT TO: " + redirectURL);
+
+ } catch (AuthenticationException e) {
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ } catch (MOAIDException e) {
+ throw new TaskExecutionException(e.getMessage(), e);
+
+ } catch (Exception e) {
+ Logger.error("PEPSConnector has an interal Error.", e);
+ throw new TaskExecutionException(e.getMessage(), e);
+ }
+
+ finally {
+ ConfigurationDBUtils.closeSession();
+ }
+
+ }
+
+ private boolean isDocumentServiceUsed(String citizenSignature) // TODo add better check
+ {
+ if (citizenSignature
+ .contains("<table border=\"0\"><tr><td>Service Name:</td><td>{http://stork.eu}DocumentService</td></tr><tr><td>Port Name:</td><td>{http://stork.eu}DocumentServicePort</td></tr></table>")) {
+ Logger.trace("isDocumentServiceUsed => true");
+ return true;
+ }
+
+ Logger.trace("isDocumentServiceUsed => false");
+ return false;
+ }
+
+ /**
+ * Get DTL uril from the oasis sign response
+ *
+ * @param signRequest
+ * The signature response
+ * @return The URL of DTL service
+ * @throws SimpleException
+ */
+ private String getDtlUrlFromResponse(SignResponse dssSignResponse) {
+ List<DocumentWithSignature> documents = ApiUtils.findNamedElement(dssSignResponse.getOptionalOutputs(),
+ ApiUtils.OPTIONAL_OUTPUT_DOCUMENTWITHSIGNATURE, DocumentWithSignature.class);
+ DocumentType sourceDocument = documents.get(0).getDocument();
+
+ if (sourceDocument.getDocumentURL() != null)
+ return sourceDocument.getDocumentURL();
+ else
+ return null;// throw new Exception("No document url found");
+ }
+
+ // From DTLPEPSUTIL
+
+ /**
+ * Get document from DTL
+ *
+ * @param transferRequest
+ * The transfer request (attribute query)
+ * @param eDtlUrl
+ * The DTL url of external DTL
+ * @return the document data
+ * @throws SimpleException
+ */
+ private byte[] getDocumentFromDtl(String transferRequest, String eDtlUrl) throws Exception {
+ URL url = null;
+ try {
+
+ Logger.trace("getDocumentFromDtl, dtlUrl:'"+getdtlUrl()+"' eDtlUrl:'"+eDtlUrl+"'");
+ url = new URL(getdtlUrl());
+ QName qname = new QName("http://stork.eu", "DocumentService");
+
+ Service service = Service.create(url, qname);
+ DocumentService docservice = service.getPort(DocumentService.class);
+
+ BindingProvider bp = (BindingProvider) docservice;
+ SOAPBinding binding = (SOAPBinding) bp.getBinding();
+ binding.setMTOMEnabled(true);
+
+ if (eDtlUrl.equalsIgnoreCase(getdtlUrl()))
+ return docservice.getDocument(transferRequest, "");
+ else
+ return docservice.getDocument(transferRequest, eDtlUrl);
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new Exception("Error in getDocumentFromDtl", e);
+ }
+ }
+
+ /**
+ * Get a document transfer request (attribute query)
+ *
+ * @param docId
+ * @return
+ * @throws SimpleException
+ */
+ private String getDocTransferRequest(String docId, String destinationUrl) throws Exception {
+ String spCountry = docId.substring(0, docId.indexOf("/"));
+ final STORKSAMLEngine engine = STORKSAMLEngine.getInstance("VIDP");
+ STORKAttrQueryRequest req = new STORKAttrQueryRequest();
+ req.setAssertionConsumerServiceURL(getdtlUrl());
+ req.setDestination(destinationUrl);
+ req.setSpCountry(spCountry);
+ req.setQaa(3);// TODO
+ PersonalAttributeList pal = new PersonalAttributeList();
+ PersonalAttribute attr = new PersonalAttribute();
+ attr.setName("docRequest");
+ attr.setIsRequired(true);
+ attr.setValue(Arrays.asList(docId));
+ pal.add(attr);
+ req.setPersonalAttributeList(pal);
+
+ STORKAttrQueryRequest req1;
+ try {
+ req1 = engine.generateSTORKAttrQueryRequest(req);
+ return PEPSUtil.encodeSAMLTokenUrlSafe(req1.getTokenSaml());
+ } catch (STORKSAMLEngineException e) {
+ e.printStackTrace();
+ throw new Exception("Error in doc request attribute query generation", e);
+ }
+ }
+
+ private String getdtlUrl() {
+ String dtlUrl;
+ try {
+ AuthConfigurationProvider authConfigurationProvider = AuthConfigurationProvider.getInstance();
+ dtlUrl = authConfigurationProvider.getDocumentServiceUrl();
+ Logger.info ("PEPSConnectorServlet, using dtlUrl:"+dtlUrl);
+
+ } catch (Exception e) {
+ dtlUrl = "http://testvidp.buergerkarte.at/DocumentService/DocumentService";
+ Logger.error("Loading documentservice url failed, using default value:"+dtlUrl, e);
+
+ }
+
+
+// Properties props = new Properties();
+// try {
+// props.load(DatabaseConnectorMySQLImpl.class.getResourceAsStream("docservice.properties"));
+// dtlUrl = props.getProperty("docservice.url");
+// } catch (IOException e) {
+// dtlUrl = "http://testvidp.buergerkarte.at/DocumentService/DocumentService";
+// Logger.error("Loading DTL config failed, using default value:" + dtlUrl);
+// e.printStackTrace();
+// }
+
+ return dtlUrl;
+
+ }
+
+ private String loadDocumentFromDocumentService(SignResponse dssSignResponse) throws Exception
+ {
+ Logger.debug("Loading document from DocumentService.");
+ String url = getDtlUrlFromResponse(dssSignResponse);
+ Logger.debug("Loading document from DocumentService, url:"+url);
+ //get Transferrequest
+ String transferRequest = getDocTransferRequest(dssSignResponse.getDocUI(), url);
+ //Load document from DocumentService
+ byte[] data = getDocumentFromDtl(transferRequest, url);
+ String citizenSignature = new String(data, "UTF-8");
+ Logger.debug("Overridung citizenSignature with:"+citizenSignature);
+ return citizenSignature;
+ }
+
+}
diff --git a/id/server/modules/module-stork/src/main/resources/at/gv/egovernment/moa/id/auth/modules/stork/STORK.authmodule.beans.xml b/id/server/modules/module-stork/src/main/resources/at/gv/egovernment/moa/id/auth/modules/stork/STORK.authmodule.beans.xml
new file mode 100644
index 000000000..2e924bdd0
--- /dev/null
+++ b/id/server/modules/module-stork/src/main/resources/at/gv/egovernment/moa/id/auth/modules/stork/STORK.authmodule.beans.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
+
+ <context:annotation-config />
+
+ <bean id="storkAuthModule" class="at.gv.egovernment.moa.id.auth.modules.stork.STORKAuthModuleImpl">
+ <property name="priority" value="0" />
+ </bean>
+
+</beans>
diff --git a/id/server/modules/module-stork/src/main/resources/at/gv/egovernment/moa/id/auth/modules/stork/STORKAuthentication.process.xml b/id/server/modules/module-stork/src/main/resources/at/gv/egovernment/moa/id/auth/modules/stork/STORKAuthentication.process.xml
new file mode 100644
index 000000000..60989e638
--- /dev/null
+++ b/id/server/modules/module-stork/src/main/resources/at/gv/egovernment/moa/id/auth/modules/stork/STORKAuthentication.process.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pd:ProcessDefinition id="STORKAuthentication" xmlns:pd="http://reference.e-government.gv.at/namespace/moa/process/definition/v1">
+
+<!--
+ STORK authentication both with C-PEPS supporting xml signatures and with C-PEPS not supporting xml signatures.
+-->
+ <pd:Task id="createStorkAuthRequestForm" class="at.gv.egovernment.moa.id.auth.modules.stork.tasks.CreateStorkAuthRequestFormTask" />
+ <pd:Task id="pepsConnector" class="at.gv.egovernment.moa.id.auth.modules.stork.tasks.PepsConnectorTask" async="true" />
+ <pd:Task id="pepsConnectorWithoutSignature" class="at.gv.egovernment.moa.id.auth.modules.stork.tasks.PepsConnectorHandleResponseWithoutSignatureTask" async="true" />
+ <pd:Task id="pepsConnectorWithLocalSignature" class="at.gv.egovernment.moa.id.auth.modules.stork.tasks.PepsConnectorHandleLocalSignResponseTask" async="true" />
+
+ <!-- Process is triggered either by GenerateIFrameTemplateServlet (upon bku selection) or by AuthenticationManager (upon legacy authentication start using legacy parameters. -->
+ <pd:StartEvent id="start" />
+
+ <pd:Transition from="start" to="createStorkAuthRequestForm" />
+
+ <pd:Transition from="createStorkAuthRequestForm" to="pepsConnector" conditionExpression="ctx['C-PEPS:XMLSignatureSupported']" />
+ <pd:Transition from="createStorkAuthRequestForm" to="pepsConnectorWithoutSignature" />
+
+ <pd:Transition from="pepsConnector" to="pepsConnector" conditionExpression="!ctx['identityLinkAvailable']" /> <!-- honor strange intermediate step of asking for the subject's gender -->
+ <pd:Transition from="pepsConnector" to="end" />
+
+ <pd:Transition from="pepsConnectorWithoutSignature" to="pepsConnectorWithLocalSignature" />
+ <pd:Transition from="pepsConnectorWithLocalSignature" to="pepsConnectorWithoutSignature" conditionExpression="!ctx['identityLinkAvailable']" /> <!-- honor strange intermediate step of asking for the subject's gender -->
+ <pd:Transition from="pepsConnectorWithLocalSignature" to="end" />
+
+ <pd:EndEvent id="end" />
+
+</pd:ProcessDefinition>
diff --git a/id/server/modules/module-stork/src/main/resources/resources/xmldata/fakeIdL_IdL_template.xml b/id/server/modules/module-stork/src/main/resources/resources/xmldata/fakeIdL_IdL_template.xml
new file mode 100644
index 000000000..09084a34f
--- /dev/null
+++ b/id/server/modules/module-stork/src/main/resources/resources/xmldata/fakeIdL_IdL_template.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:ecdsa="http://www.w3.org/2001/04/xmldsig-more#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:si="http://www.w3.org/2001/XMLSchema-instance" AssertionID="szr.bmi.gv.at-AssertionID13456264458587874" IssueInstant="2012-08-22T11:07:25+01:00" Issuer="http://portal.bmi.gv.at/ref/szr/issuer" MajorVersion="1" MinorVersion="0" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <saml:AttributeStatement>
+ <saml:Subject>
+ <saml:SubjectConfirmation>
+ <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:sender-vouches</saml:ConfirmationMethod>
+ <saml:SubjectConfirmationData>
+ <pr:Person si:type="pr:PhysicalPersonType"><pr:Identification><pr:Value>wJO/bvDJjUysG0yARn7I6w==</pr:Value><pr:Type>urn:publicid:gv.at:baseid</pr:Type></pr:Identification><pr:Name><pr:GivenName>XXXRúùd</pr:GivenName><pr:FamilyName primary="undefined">XXXVàn Nisteĺrooy</pr:FamilyName></pr:Name><pr:DateOfBirth>1969-02-13</pr:DateOfBirth></pr:Person>
+ </saml:SubjectConfirmationData>
+ </saml:SubjectConfirmation>
+ </saml:Subject>
+ <saml:Attribute AttributeName="CitizenPublicKey" AttributeNamespace="urn:publicid:gv.at:namespaces:identitylink:1.2"><saml:AttributeValue><ecdsa:ECDSAKeyValue><ecdsa:DomainParameters><ecdsa:NamedCurve URN="urn:oid:1.2.840.10045.3.1.7"/></ecdsa:DomainParameters><ecdsa:PublicKey><ecdsa:X Value="22280299907126338788314199678167217078072953115254374209747379168424021905237" si:type="ecdsa:PrimeFieldElemType"/><ecdsa:Y Value="40387096985250872237992703378062984723606079359080588656963239072881568409170" si:type="ecdsa:PrimeFieldElemType"/></ecdsa:PublicKey></ecdsa:ECDSAKeyValue></saml:AttributeValue></saml:Attribute><saml:Attribute AttributeName="CitizenPublicKey" AttributeNamespace="urn:publicid:gv.at:namespaces:identitylink:1.2"><saml:AttributeValue><dsig:RSAKeyValue><dsig:Modulus>4Y4FL09VhczsfYQgFPuycP8quJNZBAAu1R1rFXNodI2711B6BTMjAGQn6xuFWfd3/nyFav/MLTr/
+t2VazvANS4TRFxJAcWyIx7xbxCdzZr6gJ+FCmq4g5JPrQvt50v3JX+wKSYft1gHBOWlDn90Ia4Gm
+P8MVuze21T+VVKM6ZklmS6d5PT1er/uYQFydGErmJ17xlSQG6Fi5xuftopBDyJxG1tL1KIebpLFg
+gaM2EyuB1HxH8/+Mfqa4UgeqIH65</dsig:Modulus><dsig:Exponent>AQAB</dsig:Exponent></dsig:RSAKeyValue></saml:AttributeValue></saml:Attribute></saml:AttributeStatement>
+ <dsig:Signature>
+ <dsig:SignedInfo>
+ <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+ <dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
+ <dsig:Reference URI="">
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
+ <dsig:XPath>not(ancestor-or-self::pr:Identification)</dsig:XPath>
+ </dsig:Transform>
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ </dsig:Transforms>
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>KEQEPY2O3Z3IRaISSSoRZVPzsHE=</dsig:DigestValue>
+ </dsig:Reference>
+ <dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#manifest">
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>gzGhjH1kdmPcPbgen0xojNIoJLk=</dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:SignedInfo>
+ <dsig:SignatureValue>
+ 06wqWHgplwpu3N5HMhzb6QC5NkXMO1z4N4oc1L6eDqwZlvFJ9X1XGW//QqviKO9oog3il7IzdfJwnjygR4trgGCIqx+JYCDHJCrG9l8zlxlSW0ZqfsygGXthutcQ1aeUpfO6jYuhnWOUywa8BgzukRtWT+AOJBQZPRYTb8IBmey+uAwlhFLni94eMOd81l+efCvkWi3jRajwsG8ZOaNxSZT3aEV5vj+32Aqtx2MPEVzQWtIA7GqZi+EzcdSdHQvHhg7UB+8kqbU70ENAJbEMTANFZYvLOJ0Om9KfDtPf/+R2TvTc360fNo9RnPl04pHPhCIjcGZhFZorBpUhXFwd2Q==
+ </dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIF3TCCBMWgAwIBAgIDByniMA0GCSqGSIb3DQEBBQUAMIGfMQswCQYDVQQGEwJBVDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMSIwIAYDVQQLDBlhLXNpZ24tY29ycG9yYXRlLWxpZ2h0LTAyMSIwIAYDVQQDDBlhLXNpZ24tY29ycG9yYXRlLWxpZ2h0LTAyMB4XDTEwMDcyODExMzY0M1oXDTE1MDcyODExMzY0M1owgbYxCzAJBgNVBAYTAkFUMR4wHAYDVQQKDBVEYXRlbnNjaHV0emtvbW1pc3Npb24xIjAgBgNVBAsMGVN0YW1temFobHJlZ2lzdGVyYmVob2VyZGUxLjAsBgNVBAMMJVNpZ25hdHVyc2VydmljZSBEYXRlbnNjaHV0emtvbW1pc3Npb24xFTATBgNVBAUTDDMyNTkyODMyMzk5ODEcMBoGCSqGSIb3DQEJARYNZHNrQGRzay5ndi5hdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN+dBSEBGj2jUXIK1Mp3lVxc/Za+pJMiyKrX3G1ZxgX/ikx7D9scsPYMt473LlAWl9cmCbHbJK+PV2XNNdURLMUCIX+4vUNs2MHeDTQtX8BXjJFpwJYSoaRJQ39FVS/1r5sWcra9Hhdm7w5Gtx/2ukyDX0kdkxawkhP4EQEzi/SI+Fugn+WqgQ1nAdlbxb/dcBw5w1h9b3lmuwUf4z3ooQWUD2DgA/kKd1KejNR43mLUsmvSzevPxT9zs78pOR1OacB7IszTVJPXeOEaaNZHnnB/UeO3g8LEV/3OkXcUgcMkbIIiaBHlll71Pq0COj9kqjXoe7OrRjLY5i3KwOpa6TMCAwEAAaOCAgcwggIDMBMGA1UdIwQMMAqACEkcWDpP6A0DMH8GCCsGAQUFBwEBBHMwcTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AuYS10cnVzdC5hdC9vY3NwMEYGCCsGAQUFBzAChjpodHRwOi8vd3d3LmEtdHJ1c3QuYXQvY2VydHMvYS1zaWduLWNvcnBvcmF0ZS1saWdodC0wMmEuY3J0MFQGA1UdIARNMEswSQYGKigAEQESMD8wPQYIKwYBBQUHAgEWMWh0dHA6Ly93d3cuYS10cnVzdC5hdC9kb2NzL2NwL2Etc2lnbi1BbXRzc2lnbmF0dXIwgZ4GA1UdHwSBljCBkzCBkKCBjaCBioaBh2xkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLWNvcnBvcmF0ZS1saWdodC0wMixvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0P2Jhc2U/b2JqZWN0Y2xhc3M9ZWlkQ2VydGlmaWNhdGlvbkF1dGhvcml0eTARBgNVHQ4ECgQITAgOnhr0tbowDgYDVR0PAQH/BAQDAgSwMCAGA1UdEQQZMBeBFW1hcmN1cy5oaWxkQGRzay5ndi5hdDAJBgNVHRMEAjAAMA4GByooAAoBBwEEAwEB/zAUBgcqKAAKAQEBBAkMB0JTQi1EU0swDQYJKoZIhvcNAQEFBQADggEBAHTklnvPCH/bJSOlIPbLUEkSGuFHsektSZ8Vr22x/Yv7EzsxoQrJIiz2mQ2gQqFuExdWYxvsowjiSbiis9iUf1c0zscvDS3mIZxGs4M89XHsjHnIyb+Fuwnamw65QrFvM1tNB1ZMjxJ3x+YmHLHdtT3BEBcr3/NCRHd2S0HoBspNz9HVgJaZY1llR7poKBvnAc4g1i+QTvyVb00PtKxR9Lw/9ABInX/1pzpxqrPy7Ib2OP8z6dd3WHmIsCiSHUaj0Dxwwln6fYJjhxZ141SnbovlCLYtrsZLXoi9ljIqX4xO0PwMI2RfNc9cXxTRrRS6rEOvX7PpvgXiDXhp592Yyp4=</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo>
+ <dsig:Object>
+ <dsig:Manifest Id="manifest">
+ <dsig:Reference URI="">
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
+ <dsig:XPath>not(ancestor-or-self::dsig:Signature)</dsig:XPath>
+ </dsig:Transform>
+ </dsig:Transforms>
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>8e7RjLnA4Mgltq5ruIJzheKGxu0=</dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:Manifest>
+ </dsig:Object>
+ </dsig:Signature>
+</saml:Assertion> \ No newline at end of file
diff --git a/id/server/modules/module-stork/src/test/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKProcessEngineSignalServletTest.java b/id/server/modules/module-stork/src/test/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKProcessEngineSignalServletTest.java
new file mode 100644
index 000000000..ab2d3071f
--- /dev/null
+++ b/id/server/modules/module-stork/src/test/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKProcessEngineSignalServletTest.java
@@ -0,0 +1,27 @@
+package at.gv.egovernment.moa.id.auth.modules.stork;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.commons.io.IOUtils;
+import org.junit.Test;
+import org.springframework.mock.web.MockHttpServletRequest;
+
+public class STORKProcessEngineSignalServletTest {
+
+ @Test
+ public void testGetMoaSessionId() throws IOException {
+ try (InputStream in = getClass().getResourceAsStream("SAMLResponse.base64")) {
+ String samlResponse = IOUtils.toString(in);
+
+ MockHttpServletRequest request = new MockHttpServletRequest("GET", "/service/createTransactionId");
+ request.addParameter("SAMLResponse", samlResponse);
+ assertEquals("_f2358f2f4db445bd1ac75ce415d76a95",
+ new STORKProcessEngineSignalServlet().getMoaSessionId(request));
+ }
+
+ }
+
+}
diff --git a/id/server/modules/module-stork/src/test/resources/at/gv/egovernment/moa/id/auth/modules/stork/SAMLResponse.base64 b/id/server/modules/module-stork/src/test/resources/at/gv/egovernment/moa/id/auth/modules/stork/SAMLResponse.base64
new file mode 100644
index 000000000..e4061a705
--- /dev/null
+++ b/id/server/modules/module-stork/src/test/resources/at/gv/egovernment/moa/id/auth/modules/stork/SAMLResponse.base64
@@ -0,0 +1 @@
+PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c2FtbDJwOlJlc3BvbnNlIHhtbG5zOnNhbWwycD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIiB4bWxuczpkcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyIgeG1sbnM6c2FtbDI9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphc3NlcnRpb24iIHhtbG5zOnN0b3JrPSJ1cm46ZXU6c3Rvcms6bmFtZXM6dGM6U1RPUks6MS4wOmFzc2VydGlvbiIgeG1sbnM6c3RvcmtwPSJ1cm46ZXU6c3Rvcms6bmFtZXM6dGM6U1RPUks6MS4wOnByb3RvY29sIiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIENvbnNlbnQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpjb25zZW50Om9idGFpbmVkIiBEZXN0aW5hdGlvbj0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My9tb2EtaWQtYXV0aC9QRVBTQ29ubmVjdG9yIiBJRD0iXzY0MjUzODBkMjdlNjViY2I3NDc0OGE1ZjFjOWU2Yzk5IiBJblJlc3BvbnNlVG89Il9mMjM1OGYyZjRkYjQ0NWJkMWFjNzVjZTQxNWQ3NmE5NSIgSXNzdWVJbnN0YW50PSIyMDE1LTAyLTIzVDE2OjEzOjA4LjYxMVoiIFZlcnNpb249IjIuMCI+PHNhbWwyOklzc3VlciBGb3JtYXQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpuYW1laWQtZm9ybWF0OmVudGl0eSI+aHR0cDovL0MtUEVQUy5nb3YueHg8L3NhbWwyOklzc3Vlcj48ZHM6U2lnbmF0dXJlIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6U2lnbmVkSW5mbz48ZHM6Q2Fub25pY2FsaXphdGlvbk1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyIvPjxkczpTaWduYXR1cmVNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNyc2Etc2hhMjU2Ii8+PGRzOlJlZmVyZW5jZSBVUkk9IiNfNjQyNTM4MGQyN2U2NWJjYjc0NzQ4YTVmMWM5ZTZjOTkiPjxkczpUcmFuc2Zvcm1zPjxkczpUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjZW52ZWxvcGVkLXNpZ25hdHVyZSIvPjxkczpUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzEwL3htbC1leGMtYzE0biMiPjxlYzpJbmNsdXNpdmVOYW1lc3BhY2VzIHhtbG5zOmVjPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzEwL3htbC1leGMtYzE0biMiIFByZWZpeExpc3Q9InhzIi8+PC9kczpUcmFuc2Zvcm0+PC9kczpUcmFuc2Zvcm1zPjxkczpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSIvPjxkczpEaWdlc3RWYWx1ZT5Ha2czSHZoemNSMjlEdko2U1U5TmI2bUlNb009PC9kczpEaWdlc3RWYWx1ZT48L2RzOlJlZmVyZW5jZT48L2RzOlNpZ25lZEluZm8+PGRzOlNpZ25hdHVyZVZhbHVlPkJUOVY0SVNWa2kwdExRUk1OZU1WaTc2QTB5VHpGRXRkdGIwS1VvQVpQUTNNWkcwSmlrL09wRnhoRFdjQ2gxSFR6am5PVzhsa21sVnpJcENGQ2l2cm9GOTZoN2ZLWmloODdLNi9JL084bEhKOGR0R0NobXFERUgrQ2liNEM3K3hsaUNna0luMGZoZzhDYTVBWWtJSzBIZTVHWm9VSk5uOWNKbnFNalNuQ2ZRRzNsUHRLOURPSTVsMU9oTkdYWGIrY3JVVHo2eUVlZFB1OENNUUpiWG1PVFFsb21ud00rN2VxV0RMWnd4dzJ3VHUrV252clpvYUJ4cG8rMlNrMTRhV0gxcytzVDJYbE1URE5ubVpzb21WalYzdTUrWlhxWlZFcm9TYkNkZW9BbmFZM3o2OGkxdWYzQzYvNFRBbzhBbENkbVBYMlNUUSs1Y21OUHMvRHhCM3RrZz09PC9kczpTaWduYXR1cmVWYWx1ZT48ZHM6S2V5SW5mbz48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlGYkRDQ0JGU2dBd0lCQWdJRVFMSzU5ekFOQmdrcWhraUc5dzBCQVFVRkFEQStNUXN3Q1FZRFZRUUdFd0p6YVRFYk1Ca0dBMVVFCkNoTVNjM1JoZEdVdGFXNXpkR2wwZFhScGIyNXpNUkl3RUFZRFZRUUxFd2x6YVhSbGMzUXRZMkV3SGhjTk1UQXdNek13TVRNd09USXoKV2hjTk1UVXdNek13TVRNek9USXpXakNCaGpFTE1Ba0dBMVVFQmhNQ2Mya3hHekFaQmdOVkJBb1RFbk4wWVhSbExXbHVjM1JwZEhWMAphVzl1Y3pFU01CQUdBMVVFQ3hNSlUwbFVSVk5VTFVOQk1Sa3dGd1lEVlFRTEV4QmpaWEowYVdacFkyRjBaWE10ZDJWaU1Tc3dFd1lEClZRUURFd3hVUlZOVUlGQkZVRk1nVTBrd0ZBWURWUVFGRXcwek1EQXpNakF4TURBd01EQXhNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUYKQUFPQ0FROEFNSUlCQ2dLQ0FRRUE0aDZMOVB2MVRLN2Z6NUs2VXVyMFJsaTZFS3pad1R0djl4WGhTdDJ4bEk0d0ZXenpGaUN5NS9PLwpRNUdQUmExMFlvTWM4czdXbU1kTTV5SS9iVTBCRjJ0NVNZdEVIN013YkdhRlpGS0p0MTdPdGJwWkFhQ1NvaDZmbTF5TzBIdFZWa0c5ClVkSDRtc3dTM3dIcC9kMUM5MWxRTmJhMmVuVmMycDlOZDRnWW9wL3picm9FdG9GZUR5SHhUbDBtWU4vY1VIUUZUNEgyNGh6QWZXWGgKMkZPQmZOU252TmwySG5QSk9UNkhuclVCc2R5emtTekxOMEVpczJSMUc1K21Ra3pBd1c2VU9yb29qdk1jbEVKSzN6MW9la2oyT1dqMQpGaGFsVE5tQTVEOWRrRHltVFJuNG8zQlcyUzdvdm1XUG14WVVXOXMyNmJrUGh6L0NiQ1F3SUY5eVBRSURBUUFCbzRJQ0p6Q0NBaU13CkRnWURWUjBQQVFIL0JBUURBZ1dnTUNzR0ExVWRFQVFrTUNLQUR6SXdNVEF3TXpNd01UTXdPVEl6V29FUE1qQXhOVEF6TXpBeE16TTUKTWpOYU1Fc0dBMVVkSUFSRU1FSXdOZ1lMS3dZQkJBR3ZXUUlCQVFJd0p6QWxCZ2dyQmdFRkJRY0NBUllaYUhSMGNEb3ZMM2QzZHk1agpZUzVuYjNZdWMya3ZZM0J6THpBSUJnWUVBSXN3QVFJd0dBWUlLd1lCQlFVSEFRTUVEREFLTUFnR0JnUUFqa1lCQVRBZUJnTlZIUkVFCkZ6QVZnUk4wWlhOMExuTnBMWEJsY0hOQVoyOTJMbk5wTUlIMkJnTlZIUjhFZ2U0d2dlc3dWYUJUb0ZHa1R6Qk5NUXN3Q1FZRFZRUUcKRXdKemFURWJNQmtHQTFVRUNoTVNjM1JoZEdVdGFXNXpkR2wwZFhScGIyNXpNUkl3RUFZRFZRUUxFd2x6YVhSbGMzUXRZMkV4RFRBTApCZ05WQkFNVEJFTlNURE13Z1pHZ2dZNmdnWXVHV0d4a1lYQTZMeTk0TlRBd0xtZHZkaTV6YVM5dmRUMXphWFJsYzNRdFkyRXNiejF6CmRHRjBaUzFwYm5OMGFYUjFkR2x2Ym5Nc1l6MXphVDlqWlhKMGFXWnBZMkYwWlZKbGRtOWpZWFJwYjI1TWFYTjBQMkpoYzJXR0wyaDAKZEhBNkx5OTNkM2N1YzJsblpXNHRZMkV1YzJrdlkzSnNMM05wZEdWemRDOXphWFJsYzNRdFkyRXVZM0pzTUI4R0ExVWRJd1FZTUJhQQpGRlJKQjBhSHp4MkpuY3F1Y3Flb29LQnB0eUhuTUIwR0ExVWREZ1FXQkJReVNlbWVEaTEwRGJlVFlqMXRrR1o1Wm80bXdqQUpCZ05WCkhSTUVBakFBTUJrR0NTcUdTSWIyZlFkQkFBUU1NQW9iQkZZM0xqRURBZ09vTUEwR0NTcUdTSWIzRFFFQkJRVUFBNElCQVFBU1E0bDEKVmQrTVJETEZvMkE2cVlZV0xWcVR2dFBMSWs3djdCc3dtcTJTRkFMMlhtUG9MNXhiUUZlRFcrTGlXaFFCbXJsZ1d5STdnYmkvMS9ycwoxRTAwWjRTa244bDk3dHVJeXV4dkNLVEZoSkR4OXB6Z1VRR293b0NZbzlJemNNTlFweHg2bGtlcHJlQ0R1YytlMGZBYnZUTkdFcHZRCjdEa2dyd0pkY3NVQUVsUTRPSjBpZkVMb2FoMURIOHdwVTMxenI3RDNZc2l6WmdwdTVURUlHUDU0QU9oYkZlWkVtWmxUVTZnd053NGkKVGY2blZRa0dheHNKdDZnR0dzeUw4UlV1dndwVlJSM1dtcGxDdGpYcnlHQ2U0Qi9hZ0FlM0VLVWgxNUlhUHZXcWRpeFNqeVN4akJJMQpiTjhJRUZIWVBabXV3aDdZMUZRdU9ZUUdqdVNMc0p5OTwvZHM6WDUwOUNlcnRpZmljYXRlPjwvZHM6WDUwOURhdGE+PC9kczpLZXlJbmZvPjwvZHM6U2lnbmF0dXJlPjxzYW1sMnA6U3RhdHVzPjxzYW1sMnA6U3RhdHVzQ29kZSBWYWx1ZT0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnN0YXR1czpTdWNjZXNzIi8+PHNhbWwycDpTdGF0dXNNZXNzYWdlPnVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpzdGF0dXM6U3VjY2Vzczwvc2FtbDJwOlN0YXR1c01lc3NhZ2U+PC9zYW1sMnA6U3RhdHVzPjxzYW1sMjpBc3NlcnRpb24gSUQ9Il8zNzhiMGNjNTk0YThkMzhmMzJjN2M3NjQ5NTQ0OWQ1ZCIgSXNzdWVJbnN0YW50PSIyMDE1LTAyLTIzVDE2OjEzOjA4LjYxMVoiIFZlcnNpb249IjIuMCIgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj48c2FtbDI6SXNzdWVyIEZvcm1hdD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOm5hbWVpZC1mb3JtYXQ6ZW50aXR5Ij5odHRwOi8vQy1QRVBTLmdvdi54eDwvc2FtbDI6SXNzdWVyPjxkczpTaWduYXR1cmUgeG1sbnM6ZHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPjxkczpTaWduZWRJbmZvPjxkczpDYW5vbmljYWxpemF0aW9uTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8xMC94bWwtZXhjLWMxNG4jIi8+PGRzOlNpZ25hdHVyZU1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZHNpZy1tb3JlI3JzYS1zaGEyNTYiLz48ZHM6UmVmZXJlbmNlIFVSST0iI18zNzhiMGNjNTk0YThkMzhmMzJjN2M3NjQ5NTQ0OWQ1ZCI+PGRzOlRyYW5zZm9ybXM+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNlbnZlbG9wZWQtc2lnbmF0dXJlIi8+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyI+PGVjOkluY2x1c2l2ZU5hbWVzcGFjZXMgeG1sbnM6ZWM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyIgUHJlZml4TGlzdD0ieHMiLz48L2RzOlRyYW5zZm9ybT48L2RzOlRyYW5zZm9ybXM+PGRzOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNzaGExIi8+PGRzOkRpZ2VzdFZhbHVlPnJCYTMrbTU0RXVVZzgzSzhpTnVPVDlTaktQcz08L2RzOkRpZ2VzdFZhbHVlPjwvZHM6UmVmZXJlbmNlPjwvZHM6U2lnbmVkSW5mbz48ZHM6U2lnbmF0dXJlVmFsdWU+RGlZc3UxRXRzMzFocEJySEtvT2IvVnloRisxL1dxYjI5akE4T1J6cnZZb2h1WUlUdjV2V3oxcjhKdkpkK2NubVRNSFlZSU9hQ2V6SXd6L08yUlZ1K3IwWHEwdWNKbmhhcnQ3aUcwTTdFSGR4MVdFaGVzMWtHcHd2c1VjbnlLbm9tdnlSVklNVC80YmU3YTJLRTJZNzJkMGg3bVBsZmV4bVNvUENiaGJYSDIzc0grNTlVYjM1d3pwaXRUUFFtREFmOU5ibVAzV1I2OHpFS0VMTnRuaEZ2VUIyMHZVaGxGNi9hN3pPMlhRTmdFbzFaZW53RlBtWjdYbFhIK29BT3Q1cnFwUXNyMjN4R0tpYXV5YUpjRXpzQ0E5Z0I4YVhMYlQxR0xta1IwTndVa0RMWWxzcWwyeVZ2M01ZaHI5VjU3enk2T3dDR0dzUEltNTdlYnZ1d3RSbE5RPT08L2RzOlNpZ25hdHVyZVZhbHVlPjxkczpLZXlJbmZvPjxkczpYNTA5RGF0YT48ZHM6WDUwOUNlcnRpZmljYXRlPk1JSUZiRENDQkZTZ0F3SUJBZ0lFUUxLNTl6QU5CZ2txaGtpRzl3MEJBUVVGQURBK01Rc3dDUVlEVlFRR0V3SnphVEViTUJrR0ExVUUKQ2hNU2MzUmhkR1V0YVc1emRHbDBkWFJwYjI1ek1SSXdFQVlEVlFRTEV3bHphWFJsYzNRdFkyRXdIaGNOTVRBd016TXdNVE13T1RJegpXaGNOTVRVd016TXdNVE16T1RJeldqQ0JoakVMTUFrR0ExVUVCaE1DYzJreEd6QVpCZ05WQkFvVEVuTjBZWFJsTFdsdWMzUnBkSFYwCmFXOXVjekVTTUJBR0ExVUVDeE1KVTBsVVJWTlVMVU5CTVJrd0Z3WURWUVFMRXhCalpYSjBhV1pwWTJGMFpYTXRkMlZpTVNzd0V3WUQKVlFRREV3eFVSVk5VSUZCRlVGTWdVMGt3RkFZRFZRUUZFdzB6TURBek1qQXhNREF3TURBeE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRgpBQU9DQVE4QU1JSUJDZ0tDQVFFQTRoNkw5UHYxVEs3Zno1SzZVdXIwUmxpNkVLelp3VHR2OXhYaFN0MnhsSTR3Rld6ekZpQ3k1L08vClE1R1BSYTEwWW9NYzhzN1dtTWRNNXlJL2JVMEJGMnQ1U1l0RUg3TXdiR2FGWkZLSnQxN090YnBaQWFDU29oNmZtMXlPMEh0VlZrRzkKVWRING1zd1Mzd0hwL2QxQzkxbFFOYmEyZW5WYzJwOU5kNGdZb3AvemJyb0V0b0ZlRHlIeFRsMG1ZTi9jVUhRRlQ0SDI0aHpBZldYaAoyRk9CZk5TbnZObDJIblBKT1Q2SG5yVUJzZHl6a1N6TE4wRWlzMlIxRzUrbVFrekF3VzZVT3Jvb2p2TWNsRUpLM3oxb2VrajJPV2oxCkZoYWxUTm1BNUQ5ZGtEeW1UUm40bzNCVzJTN292bVdQbXhZVVc5czI2YmtQaHovQ2JDUXdJRjl5UFFJREFRQUJvNElDSnpDQ0FpTXcKRGdZRFZSMFBBUUgvQkFRREFnV2dNQ3NHQTFVZEVBUWtNQ0tBRHpJd01UQXdNek13TVRNd09USXpXb0VQTWpBeE5UQXpNekF4TXpNNQpNak5hTUVzR0ExVWRJQVJFTUVJd05nWUxLd1lCQkFHdldRSUJBUUl3SnpBbEJnZ3JCZ0VGQlFjQ0FSWVphSFIwY0RvdkwzZDNkeTVqCllTNW5iM1l1YzJrdlkzQnpMekFJQmdZRUFJc3dBUUl3R0FZSUt3WUJCUVVIQVFNRUREQUtNQWdHQmdRQWprWUJBVEFlQmdOVkhSRUUKRnpBVmdSTjBaWE4wTG5OcExYQmxjSE5BWjI5MkxuTnBNSUgyQmdOVkhSOEVnZTR3Z2Vzd1ZhQlRvRkdrVHpCTk1Rc3dDUVlEVlFRRwpFd0p6YVRFYk1Ca0dBMVVFQ2hNU2MzUmhkR1V0YVc1emRHbDBkWFJwYjI1ek1SSXdFQVlEVlFRTEV3bHphWFJsYzNRdFkyRXhEVEFMCkJnTlZCQU1UQkVOU1RETXdnWkdnZ1k2Z2dZdUdXR3hrWVhBNkx5OTROVEF3TG1kdmRpNXphUzl2ZFQxemFYUmxjM1F0WTJFc2J6MXoKZEdGMFpTMXBibk4wYVhSMWRHbHZibk1zWXoxemFUOWpaWEowYVdacFkyRjBaVkpsZG05allYUnBiMjVNYVhOMFAySmhjMldHTDJoMApkSEE2THk5M2QzY3VjMmxuWlc0dFkyRXVjMmt2WTNKc0wzTnBkR1Z6ZEM5emFYUmxjM1F0WTJFdVkzSnNNQjhHQTFVZEl3UVlNQmFBCkZGUkpCMGFIengySm5jcXVjcWVvb0tCcHR5SG5NQjBHQTFVZERnUVdCQlF5U2VtZURpMTBEYmVUWWoxdGtHWjVabzRtd2pBSkJnTlYKSFJNRUFqQUFNQmtHQ1NxR1NJYjJmUWRCQUFRTU1Bb2JCRlkzTGpFREFnT29NQTBHQ1NxR1NJYjNEUUVCQlFVQUE0SUJBUUFTUTRsMQpWZCtNUkRMRm8yQTZxWVlXTFZxVHZ0UExJazd2N0Jzd21xMlNGQUwyWG1Qb0w1eGJRRmVEVytMaVdoUUJtcmxnV3lJN2diaS8xL3JzCjFFMDBaNFNrbjhsOTd0dUl5dXh2Q0tURmhKRHg5cHpnVVFHb3dvQ1lvOUl6Y01OUXB4eDZsa2VwcmVDRHVjK2UwZkFidlROR0VwdlEKN0RrZ3J3SmRjc1VBRWxRNE9KMGlmRUxvYWgxREg4d3BVMzF6cjdEM1lzaXpaZ3B1NVRFSUdQNTRBT2hiRmVaRW1abFRVNmd3Tnc0aQpUZjZuVlFrR2F4c0p0NmdHR3N5TDhSVXV2d3BWUlIzV21wbEN0alhyeUdDZTRCL2FnQWUzRUtVaDE1SWFQdldxZGl4U2p5U3hqQkkxCmJOOElFRkhZUFptdXdoN1kxRlF1T1lRR2p1U0xzSnk5PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9kczpTaWduYXR1cmU+PHNhbWwyOlN1YmplY3Q+PHNhbWwyOk5hbWVJRCBGb3JtYXQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjEuMTpuYW1laWQtZm9ybWF0OnVuc3BlY2lmaWVkIiBOYW1lUXVhbGlmaWVyPSJodHRwOi8vQy1QRVBTLmdvdi54eCI+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6dW5zcGVjaWZpZWQ8L3NhbWwyOk5hbWVJRD48c2FtbDI6U3ViamVjdENvbmZpcm1hdGlvbiBNZXRob2Q9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpjbTpiZWFyZXIiPjxzYW1sMjpTdWJqZWN0Q29uZmlybWF0aW9uRGF0YSBBZGRyZXNzPSI5MS4xNDMuMTA1LjM3IiBJblJlc3BvbnNlVG89Il9mMjM1OGYyZjRkYjQ0NWJkMWFjNzVjZTQxNWQ3NmE5NSIgTm90T25PckFmdGVyPSIyMDE1LTAyLTIzVDE2OjE4OjA4LjYxMVoiIFJlY2lwaWVudD0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My9tb2EtaWQtYXV0aC9QRVBTQ29ubmVjdG9yIi8+PC9zYW1sMjpTdWJqZWN0Q29uZmlybWF0aW9uPjwvc2FtbDI6U3ViamVjdD48c2FtbDI6Q29uZGl0aW9ucyBOb3RCZWZvcmU9IjIwMTUtMDItMjNUMTY6MTM6MDguNjExWiIgTm90T25PckFmdGVyPSIyMDE1LTAyLTIzVDE2OjE4OjA4LjYxMVoiPjxzYW1sMjpBdWRpZW5jZVJlc3RyaWN0aW9uPjxzYW1sMjpBdWRpZW5jZT5odHRwczovL2xvY2FsaG9zdDo4NDQzL21vYS1pZC1hdXRoPC9zYW1sMjpBdWRpZW5jZT48L3NhbWwyOkF1ZGllbmNlUmVzdHJpY3Rpb24+PHNhbWwyOk9uZVRpbWVVc2UvPjwvc2FtbDI6Q29uZGl0aW9ucz48c2FtbDI6QXV0aG5TdGF0ZW1lbnQgQXV0aG5JbnN0YW50PSIyMDE1LTAyLTIzVDE2OjEzOjA4LjYxMloiPjxzYW1sMjpTdWJqZWN0TG9jYWxpdHkgQWRkcmVzcz0iOTEuMTQzLjEwNS4zNyIvPjxzYW1sMjpBdXRobkNvbnRleHQ+PHNhbWwyOkF1dGhuQ29udGV4dERlY2wvPjwvc2FtbDI6QXV0aG5Db250ZXh0Pjwvc2FtbDI6QXV0aG5TdGF0ZW1lbnQ+PHNhbWwyOkF0dHJpYnV0ZVN0YXRlbWVudD48c2FtbDI6QXR0cmlidXRlIE5hbWU9Imh0dHA6Ly93d3cuc3RvcmsuZ292LmV1LzEuMC9lSWRlbnRpZmllciIgTmFtZUZvcm1hdD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmF0dHJuYW1lLWZvcm1hdDp1cmkiIHN0b3JrOkF0dHJpYnV0ZVN0YXR1cz0iQXZhaWxhYmxlIj48c2FtbDI6QXR0cmlidXRlVmFsdWUgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnR5cGU9InhzOmFueVR5cGUiPlNJL0FUL1E4Ny93WkcrYWYxOGZ3d1orUjJ6SlNVOG5rSGFOVWh0QW9KRTJ6RTF5SldQdjBvWjRGd2srRFJUYTZNPTwvc2FtbDI6QXR0cmlidXRlVmFsdWU+PC9zYW1sMjpBdHRyaWJ1dGU+PHNhbWwyOkF0dHJpYnV0ZSBOYW1lPSJodHRwOi8vd3d3LnN0b3JrLmdvdi5ldS8xLjAvZ2l2ZW5OYW1lIiBOYW1lRm9ybWF0PSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YXR0cm5hbWUtZm9ybWF0OnVyaSIgc3Rvcms6QXR0cmlidXRlU3RhdHVzPSJBdmFpbGFibGUiPjxzYW1sMjpBdHRyaWJ1dGVWYWx1ZSB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6dHlwZT0ieHM6YW55VHlwZSI+SmFuZXo8L3NhbWwyOkF0dHJpYnV0ZVZhbHVlPjwvc2FtbDI6QXR0cmlidXRlPjxzYW1sMjpBdHRyaWJ1dGUgTmFtZT0iaHR0cDovL3d3dy5zdG9yay5nb3YuZXUvMS4wL2RhdGVPZkJpcnRoIiBOYW1lRm9ybWF0PSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YXR0cm5hbWUtZm9ybWF0OnVyaSIgc3Rvcms6QXR0cmlidXRlU3RhdHVzPSJBdmFpbGFibGUiPjxzYW1sMjpBdHRyaWJ1dGVWYWx1ZSB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6dHlwZT0ieHM6YW55VHlwZSI+MTk5OTA2MDM8L3NhbWwyOkF0dHJpYnV0ZVZhbHVlPjwvc2FtbDI6QXR0cmlidXRlPjxzYW1sMjpBdHRyaWJ1dGUgTmFtZT0iaHR0cDovL3d3dy5zdG9yay5nb3YuZXUvMS4wL3NpZ25lZERvYyIgTmFtZUZvcm1hdD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmF0dHJuYW1lLWZvcm1hdDp1cmkiIHN0b3JrOkF0dHJpYnV0ZVN0YXR1cz0iQXZhaWxhYmxlIj48c2FtbDI6QXR0cmlidXRlVmFsdWUgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnR5cGU9InhzOmFueVR5cGUiPjxuczI6U2lnblJlc3BvbnNlIHhtbG5zOm5zMj0idXJuOm9hc2lzOm5hbWVzOnRjOmRzczoxLjA6Y29yZTpzY2hlbWEiIHhtbG5zPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoxLjA6YXNzZXJ0aW9uIiB4bWxuczpuczM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiIERvY1VJPSJMT0NBTC9TSS83NDljOWNiOS01YzAzLTQwY2UtYmZmOC00NTc4MDJiMzk2OTUiIFByb2ZpbGU9InVybjpvYXNpczpuYW1lczp0Yzpkc3M6MS4wOnByb2ZpbGVzOlhBZEVTOmZvcm1zOkJFUyIgUmVxdWVzdElEPSJfMWUxNjkyODliZjEwMmNlMmViYzYyMDY4Nzc4OTNjMjQiPjxuczI6UmVzdWx0PjxuczI6UmVzdWx0TWFqb3I+dXJuOm9hc2lzOm5hbWVzOnRjOmRzczoxLjA6cmVzdWx0bWFqb3I6U3VjY2VzczwvbnMyOlJlc3VsdE1ham9yPjwvbnMyOlJlc3VsdD48bnMyOk9wdGlvbmFsT3V0cHV0cz48bnMyOkRvY3VtZW50V2l0aFNpZ25hdHVyZT48bnMyOkRvY3VtZW50PjxuczI6RG9jdW1lbnRVUkw+aHR0cHM6Ly9wZXBzLXRlc3QubWp1Lmdvdi5zaS9Eb2N1bWVudFNlcnZpY2UvRG9jdW1lbnRTZXJ2aWNlPC9uczI6RG9jdW1lbnRVUkw+PC9uczI6RG9jdW1lbnQ+PC9uczI6RG9jdW1lbnRXaXRoU2lnbmF0dXJlPjwvbnMyOk9wdGlvbmFsT3V0cHV0cz48L25zMjpTaWduUmVzcG9uc2U+PC9zYW1sMjpBdHRyaWJ1dGVWYWx1ZT48L3NhbWwyOkF0dHJpYnV0ZT48c2FtbDI6QXR0cmlidXRlIE5hbWU9Imh0dHA6Ly93d3cuc3RvcmsuZ292LmV1LzEuMC9zdXJuYW1lIiBOYW1lRm9ybWF0PSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YXR0cm5hbWUtZm9ybWF0OnVyaSIgc3Rvcms6QXR0cmlidXRlU3RhdHVzPSJBdmFpbGFibGUiPjxzYW1sMjpBdHRyaWJ1dGVWYWx1ZSB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6dHlwZT0ieHM6YW55VHlwZSI+VnpvcmVjPC9zYW1sMjpBdHRyaWJ1dGVWYWx1ZT48L3NhbWwyOkF0dHJpYnV0ZT48L3NhbWwyOkF0dHJpYnV0ZVN0YXRlbWVudD48L3NhbWwyOkFzc2VydGlvbj48L3NhbWwycDpSZXNwb25zZT4= \ No newline at end of file
diff --git a/id/server/modules/pom.xml b/id/server/modules/pom.xml
new file mode 100644
index 000000000..e9234a62f
--- /dev/null
+++ b/id/server/modules/pom.xml
@@ -0,0 +1,49 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>MOA.id</groupId>
+ <artifactId>moa-id</artifactId>
+ <version>2.x</version>
+ </parent>
+
+ <groupId>MOA.id.server.modules</groupId>
+ <artifactId>moa-id-modules</artifactId>
+ <version>${moa-id-version}</version>
+ <packaging>pom</packaging>
+
+ <name>MOA ID-Modules</name>
+
+ <properties>
+ <repositoryPath>${basedir}/../../../repository</repositoryPath>
+ </properties>
+
+ <modules>
+ <module>module-stork</module>
+ <module>module-monitoring</module>
+ </modules>
+
+ <dependencies>
+ <dependency>
+ <groupId>MOA.id.server</groupId>
+ <artifactId>moa-id-lib</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/id/server/pom.xml b/id/server/pom.xml
index f574a0cf2..2341552cc 100644
--- a/id/server/pom.xml
+++ b/id/server/pom.xml
@@ -13,6 +13,10 @@
<packaging>pom</packaging>
<name>MOA ID Server</name>
+ <properties>
+ <repositoryPath>${basedir}/../../repository</repositoryPath>
+ </properties>
+
<modules>
<module>idserverlib</module>
<module>proxy</module>
@@ -20,11 +24,78 @@
<module>moa-id-commons</module>
<module>stork2-saml-engine</module>
<module>stork2-commons</module>
+ <module>modules</module>
</modules>
- <properties>
- <repositoryPath>${basedir}/../../repository</repositoryPath>
- </properties>
+ <dependencyManagement>
+ <dependencies>
+
+ <!-- testing -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- tools -->
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>${org.apache.commons.lang3.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-collections4</artifactId>
+ <version>${org.apache.commons.collections4.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>${org.apache.commons.io.version}</version>
+ </dependency>
+
+ <!-- spring -->
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ <version>${org.springframework.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-expression</artifactId>
+ <version>${org.springframework.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>${org.springframework.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-webmvc</artifactId>
+ <version>${org.springframework.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>${org.springframework.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
<build>
<plugins>
diff --git a/id/server/proxy/pom.xml b/id/server/proxy/pom.xml
index 2b74266f2..baef394a7 100644
--- a/id/server/proxy/pom.xml
+++ b/id/server/proxy/pom.xml
@@ -20,7 +20,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>MOA.id.server</groupId>
<artifactId>moa-id-proxy</artifactId>
- <version>2.0.0</version>
+ <version>${moa-id-proxy-version}</version>
<packaging>war</packaging>
<name>MOA ID-Proxy WebService</name>
@@ -76,8 +76,8 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
- <source>1.6</source>
- <target>1.6</target>
+ <source>1.7</source>
+ <target>1.7</target>
</configuration>
</plugin>
</plugins>
diff --git a/id/server/stork2-commons/.gitignore b/id/server/stork2-commons/.gitignore
index ea8c4bf7f..a9036d427 100644
--- a/id/server/stork2-commons/.gitignore
+++ b/id/server/stork2-commons/.gitignore
@@ -1 +1,2 @@
/target
+/stork-commons.log*
diff --git a/id/server/stork2-commons/.svn/all-wcprops b/id/server/stork2-commons/.svn/all-wcprops
deleted file mode 100644
index 013d868be..000000000
--- a/id/server/stork2-commons/.svn/all-wcprops
+++ /dev/null
@@ -1,17 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 45
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons
-END
-pom.xml
-K 25
-svn:wc:ra_dav:version-url
-V 53
-/CITnet/svn/STORK2/!svn/ver/712/trunk/Commons/pom.xml
-END
-Releases
-K 25
-svn:wc:ra_dav:version-url
-V 54
-/CITnet/svn/STORK2/!svn/ver/712/trunk/Commons/Releases
-END
diff --git a/id/server/stork2-commons/.svn/dir-prop-base b/id/server/stork2-commons/.svn/dir-prop-base
deleted file mode 100644
index 9dc541cfd..000000000
--- a/id/server/stork2-commons/.svn/dir-prop-base
+++ /dev/null
@@ -1,10 +0,0 @@
-K 10
-svn:ignore
-V 44
-.classpath
-.project
-.settings
-report
-target
-
-END
diff --git a/id/server/stork2-commons/.svn/entries b/id/server/stork2-commons/.svn/entries
deleted file mode 100644
index 6956e0c9c..000000000
--- a/id/server/stork2-commons/.svn/entries
+++ /dev/null
@@ -1,99 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-has-props
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-Releases
-file
-
-
-
-
-2014-03-05T09:36:08.094515Z
-5013e8d011c7d67a3faac86ae0ec7aae
-2014-03-03T15:10:40.224759Z
-712
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2653
-
-src
-dir
-
-pom.xml
-file
-
-
-
-
-2014-03-05T09:36:08.086515Z
-c245a61144c036e0dc82e0adfed566aa
-2014-03-03T15:10:40.224759Z
-712
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-5777
-
diff --git a/id/server/stork2-commons/.svn/text-base/Releases.svn-base b/id/server/stork2-commons/.svn/text-base/Releases.svn-base
deleted file mode 100644
index 6550affd0..000000000
--- a/id/server/stork2-commons/.svn/text-base/Releases.svn-base
+++ /dev/null
@@ -1,73 +0,0 @@
-Created 06-04-2011
-
-Branch : STORKCommons_0_5_UPDATE_06042011
-Date : 06-04-2011
-Changes: No changes.
-
-Branch : STORKCommons_0_5_UPDATE_07072011
-Date : 07-07-2011
-Changes: Inserted constants to HttpOnly HTTP Header.
-
-Branch : STORKCommons_0_6
-Date : 07-11-2011
-Changes: Improved error exception handling (few changes on the exception classes).
- Improved Constansts (unused removed, others added).
- Unit Tests include (almost all the code is cover).
- Fix some minor bugs found on unit tests.
- New Copyright License added.
- PEPUtils refactored.
- Improved error code message (three kind of messages: to citizen, admin and saml token).
-
-Branch : STORKCommons_0_6_1
-Date : 28-11-2011
-Changes: Removed unnecessary javadoc package file.
- Updated pepsUtils.properties file (check attribute value had old error message)
-
-Branch : STORKCommons_0_9
-Date : 02-12-2011
-Changes: Updated Version to 0.9
-
-Branch : STORKCommons_1_0
-Date : 02-12-2011
-Changes: Updated Version to 1.0
-
-Branch : STORKCommons_1_1_0
-Date : 01-11-2013
-Changes: Updated Version to 1.1.0
- Dependencies updated
- Business Logic Part I changes
- SAML Engine Changes merged (from SamlEngine/1.1.0/Commons branch to be easier to merge this branch with trunk)
- Fixed some errors on Test Case
-
-Branch : STORKCommons_1_1_1
-Date : 02-12-2013
-Changes: Updated Version to 1.1.1
- Added mandate error code
- PMD quality code changes (some final identifier missing)
- Added new methods to personal attribute list to get Mandatory/Optional and/or Simple/Complex attributes
- Added new unit tests
-
-Branch : Commons_1_1_2
-Date : 13-12-2013
-Changes: Updated Version to 1.1.2
- Added request flow of PV (incomplete)
- Added AP mandatory attribute to get data for business attributes
- *) based on configuration file it adds the missing attributes (eIdentifier, givenName, surname and dateOfBirth) or change isRequired to true.
- changes original isRequired state in response
- Added new Interface (IAttributeListProcessor) to make some operations on attribute lists
-
-Branch : Commons_1_1_3
-Date : 21-12-2013
-Changes: Updated Version to 1.1.3
- Power Validation is complete now
- Business Logic I and II integration (Request Complete!)
-
-Branch : Commons_1_1_4
-Date : 08-01-2014
-Changes: Updated Version to 1.1.4
- Added new method to Personal attribute List to check if there is at least one attribute with no value.
-
-Branch : Commons_1_4_0
-Date : 28-02-2014
-Changes: Updated Version to 1.4.0
- Removed AUB \ No newline at end of file
diff --git a/id/server/stork2-commons/.svn/text-base/pom.xml.svn-base b/id/server/stork2-commons/.svn/text-base/pom.xml.svn-base
deleted file mode 100644
index 04b35f5f5..000000000
--- a/id/server/stork2-commons/.svn/text-base/pom.xml.svn-base
+++ /dev/null
@@ -1,213 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>eu.stork</groupId>
- <artifactId>Commons</artifactId>
- <packaging>jar</packaging>
- <name>Stork Commons</name>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <stork.version>1.4.0</stork.version>
- <opensaml.version>2.6.0</opensaml.version>
- </properties>
- <version>${stork.version}</version>
- <description>
- The STORKCommons library provides beans, Java Interfaces and utility classes to integrate PEPS and SAML Engine.
- </description>
-
- <dependencies>
-
- <!-- Joda -->
- <dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- <version>2.3</version>
- </dependency>
-
- <!-- Log4J -->
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.17</version>
- <exclusions>
- <exclusion>
- <groupId>javax.jms</groupId>
- <artifactId>jms</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.sun.jdmk</groupId>
- <artifactId>jmxtools</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.sun.jmx</groupId>
- <artifactId>jmxri</artifactId>
- </exclusion>
- <exclusion>
- <artifactId>mail</artifactId>
- <groupId>javax.mail</groupId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.opensaml</groupId>
- <artifactId>opensaml</artifactId>
- <version>${opensaml.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>log4j-over-slf4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>jul-to-slf4j</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <!-- Bouncy Castle -->
- <dependency>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcprov-jdk16</artifactId>
- <version>1.46</version>
- </dependency>
-
- <!-- Servlet API -->
- <!-- provided by Application Server -->
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.6</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.11</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <finalName>commons</finalName>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <source>1.7</source>
- <target>1.7</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <runOrder>reversealphabetical</runOrder>
- <skip>false</skip>
- <includes>
- <runOrder>reversealphabetical</runOrder>
- <include>**/PEPSUtilTest.java</include>
- <include>**/PersonalAttributeTestCase.java</include>
- <include>**/PersonalAttributeListTestCase.java</include>
- <include>**/DateUtilTestCase.java</include>
- <include>**/AttributeUtilTest.java</include>
- </includes>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</version>
- <configuration>
- <links>
- <link>http://commons.apache.org/lang/api/</link>
- <link>http://java.sun.com/j2se/1.6.0/docs/api/</link>
- <link>http://www.bouncycastle.org/docs/docs1.6/</link>
- <link>http://docs.oracle.com/javase/6/docs/api/</link>
- </links>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.2.1</version>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>verify</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- <testResources>
- <testResource>
- <directory>src/test/resources</directory>
- <includes>
- <include>log4j.xml</include>
- </includes>
- </testResource>
- </testResources>
- </build>
- <profiles>
- <profile>
- <id>embedded</id>
- <build>
- <resources>
- <resource>
- <directory> ${project.basedir}/src/main/resources</directory>
- </resource>
- <resource>
- <directory> ${project.basedir}/src/main/config/embedded</directory>
- </resource>
- </resources>
- </build>
- </profile>
- <profile>
- <id>metrics</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>cobertura-maven-plugin</artifactId>
- <version>2.5.1</version>
- <configuration>
- <formats>
- <format>html</format>
- <format>xml</format>
- </formats>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
diff --git a/id/server/stork2-commons/pom.xml b/id/server/stork2-commons/pom.xml
index 43a02ae5d..3bc3dae77 100644
--- a/id/server/stork2-commons/pom.xml
+++ b/id/server/stork2-commons/pom.xml
@@ -12,22 +12,13 @@
<name>Stork Commons</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <stork.version>1.4.0</stork.version>
- <opensaml.version>2.6.3</opensaml.version>
+ <stork.version>1.5.1</stork.version>
</properties>
<version>${stork.version}</version>
<description>
The STORKCommons library provides beans, Java Interfaces and utility classes to integrate PEPS and SAML Engine.
</description>
- <repositories>
- <repository>
- <id>shibboleth.internet2.edu</id>
- <name>Internet2</name>
- <url>https://build.shibboleth.net/nexus/content/groups/public/</url>
- </repository>
- </repositories>
-
<dependencies>
<!-- Joda -->
@@ -41,7 +32,6 @@
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
- <version>1.2.17</version>
<exclusions>
<exclusion>
<groupId>javax.jms</groupId>
@@ -63,9 +53,8 @@
</dependency>
<dependency>
- <groupId>org.opensaml</groupId>
- <artifactId>opensaml</artifactId>
- <version>${opensaml.version}</version>
+ <groupId>org.opensaml</groupId>
+ <artifactId>opensaml</artifactId>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
@@ -90,19 +79,11 @@
</exclusions>
</dependency>
- <!-- Bouncy Castle -->
- <dependency>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcprov-jdk16</artifactId>
- <version>1.46</version>
- </dependency>
-
<!-- Servlet API -->
<!-- provided by Application Server -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
- <version>2.5</version>
<scope>provided</scope>
</dependency>
@@ -116,7 +97,6 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -132,7 +112,6 @@
<configuration>
<source>1.7</source>
<target>1.7</target>
- <encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
@@ -140,7 +119,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<runOrder>reversealphabetical</runOrder>
- <skip>false</skip>
+ <skip>true</skip>
<includes>
<runOrder>reversealphabetical</runOrder>
<include>**/PEPSUtilTest.java</include>
@@ -154,27 +133,6 @@
</plugins>
</pluginManagement>
<plugins>
-
-
-<!-- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>properties-maven-plugin</artifactId>
- <version>1.0-alpha-2</version>
- <executions>
- <execution>
- <phase>initialize</phase>
- <goals>
- <goal>read-project-properties</goal>
- </goals>
- <configuration>
- <files>
- <file>${basedir}/../../../moa-id.properties</file>
- </files>
- </configuration>
- </execution>
- </executions>
- </plugin> -->
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
diff --git a/id/server/stork2-commons/src/.svn/all-wcprops b/id/server/stork2-commons/src/.svn/all-wcprops
deleted file mode 100644
index b2a57db4c..000000000
--- a/id/server/stork2-commons/src/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 49
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src
-END
diff --git a/id/server/stork2-commons/src/.svn/entries b/id/server/stork2-commons/src/.svn/entries
deleted file mode 100644
index 35f74102a..000000000
--- a/id/server/stork2-commons/src/.svn/entries
+++ /dev/null
@@ -1,34 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-test
-dir
-
-main
-dir
-
diff --git a/id/server/stork2-commons/src/main/.svn/all-wcprops b/id/server/stork2-commons/src/main/.svn/all-wcprops
deleted file mode 100644
index ca1ee03bd..000000000
--- a/id/server/stork2-commons/src/main/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 54
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main
-END
diff --git a/id/server/stork2-commons/src/main/.svn/entries b/id/server/stork2-commons/src/main/.svn/entries
deleted file mode 100644
index 76ff91c7b..000000000
--- a/id/server/stork2-commons/src/main/.svn/entries
+++ /dev/null
@@ -1,37 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-resources
-dir
-
-java
-dir
-
-config
-dir
-
diff --git a/id/server/stork2-commons/src/main/config/.svn/all-wcprops b/id/server/stork2-commons/src/main/config/.svn/all-wcprops
deleted file mode 100644
index e39a1da21..000000000
--- a/id/server/stork2-commons/src/main/config/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 61
-/CITnet/svn/STORK2/!svn/ver/712/trunk/Commons/src/main/config
-END
diff --git a/id/server/stork2-commons/src/main/config/.svn/entries b/id/server/stork2-commons/src/main/config/.svn/entries
deleted file mode 100644
index 9a3950062..000000000
--- a/id/server/stork2-commons/src/main/config/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/config
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-03T15:10:40.224759Z
-712
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-embedded
-dir
-
diff --git a/id/server/stork2-commons/src/main/config/embedded/.svn/all-wcprops b/id/server/stork2-commons/src/main/config/embedded/.svn/all-wcprops
deleted file mode 100644
index 61c832a4b..000000000
--- a/id/server/stork2-commons/src/main/config/embedded/.svn/all-wcprops
+++ /dev/null
@@ -1,11 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 70
-/CITnet/svn/STORK2/!svn/ver/712/trunk/Commons/src/main/config/embedded
-END
-pepsUtil.properties
-K 25
-svn:wc:ra_dav:version-url
-V 90
-/CITnet/svn/STORK2/!svn/ver/712/trunk/Commons/src/main/config/embedded/pepsUtil.properties
-END
diff --git a/id/server/stork2-commons/src/main/config/embedded/.svn/entries b/id/server/stork2-commons/src/main/config/embedded/.svn/entries
deleted file mode 100644
index 3dcc1bccf..000000000
--- a/id/server/stork2-commons/src/main/config/embedded/.svn/entries
+++ /dev/null
@@ -1,62 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/config/embedded
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-03T15:10:40.224759Z
-712
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-pepsUtil.properties
-file
-
-
-
-
-2014-03-05T09:36:08.010515Z
-2d984e7eb1a7f6c6ba7048f46b85920b
-2014-03-03T15:10:40.224759Z
-712
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-7885
-
diff --git a/id/server/stork2-commons/src/main/config/embedded/.svn/text-base/pepsUtil.properties.svn-base b/id/server/stork2-commons/src/main/config/embedded/.svn/text-base/pepsUtil.properties.svn-base
deleted file mode 100644
index ae811dda7..000000000
--- a/id/server/stork2-commons/src/main/config/embedded/.svn/text-base/pepsUtil.properties.svn-base
+++ /dev/null
@@ -1,269 +0,0 @@
-#Max allowed params size
-validation.active=true
-max.spUrl.size=150
-max.attrList.size=20000
-max.invalidAttributeList.size=20000
-max.attrName.size=100
-max.callback.size=300
-max.idp.url.size=300
-max.atp.url.size=300
-max.cpepsURL.size=300
-max.attrValue.size=20000
-max.attrType.size=25
-max.spId.size=40
-max.providerName.size=128
-max.spName.size=25
-max.country.size=150
-max.qaaLevel.size=1
-max.spQaaLevel.size=1
-max.errorCode.size=5
-max.errorMessage.size=300
-max.username.size=30
-max.spepsRedirectUrl.size=300
-max.speps.redirectUrl.size=300
-max.cpeps.redirectUrl.size=300
-max.cpepsRedirectUrl.size=300
-max.spepsAssertionUrl.size=300
-max.SAMLRequest.size=131072
-max.SAMLResponse.size=131072
-max.RelayState.size=80
-max.remoteAddr.size=300
-max.remoteHost.size=300
-max.localAddr.size=300
-max.localName.size=300
-max.apepsUrl.size=300
-max.apeps.callbackUrl.size=300
-
-dtl.url=http://localhost:8080/DocumentService/DocumentService
-
-#ERROR codes/messages (accordingly to specification)
-
-#CountrySelector Interface errors
-spCountrySelector.invalidSPQAA.code=0000001
-spCountrySelector.invalidSPQAA.message=invalid.spQAA.parameter
-
-spCountrySelector.invalidQaaSPid.code=0000001
-spCountrySelector.invalidQaaSPid.message=invalid.spQAAId.parameter
-
-spCountrySelector.invalidSpId.code=000002
-spCountrySelector.invalidSpId.message=invalid.spId.parameter
-
-spCountrySelector.invalidSpURL.code=000003
-spCountrySelector.invalidSpURL.message=invalid.spUrl.parameter
-
-domain.CountrySelectorAction.code=000003
-domain.CountrySelectorAction.message=invalid.cs.domain
-
-requests.CountrySelectorAction.code=000004
-requests.CountrySelectorAction.message=reached.max.requests.cs
-
-spCountrySelector.spNotAllowed.code=000006
-spCountrySelector.spNotAllowed.message=attr.access.deny
-
-spCountrySelector.invalidAttr.code=000007
-spCountrySelector.invalidAttr.message=invalid.spAttr.parameter
-
-spCountrySelector.invalidProviderName.code=000008
-spCountrySelector.invalidProviderName.message=invalid.spProvidername.parameter
-
-spCountrySelector.errorCreatingSAML.code=203001
-spCountrySelector.errorCreatingSAML.message=error.create.sp.saml
-
-spepsSAMLRequest.code=203001
-spepsSAMLRequest.message=error.create.saml.speps
-
-#ServiceProvider Interface errors
-sProviderAction.invalidSPQAA.code=200001
-sProviderAction.invalidSPQAA.message=invalid.sp.qaa
-
-sProviderAction.invalidSPQAAId.code=200001
-sProviderAction.invalidSPQAAId.message=invalid.sp.qaaid
-
-sProviderAction.invalidSPId.code=200002
-sProviderAction.invalidSPId.message=invalid.sp.id
-
-domain.ServiceProviderAction.code=200003
-domain.ServiceProviderAction.message=invalid.sp.domain
-
-sProviderAction.invalidSPDomain.code=200003
-sProviderAction.invalidSPDomain.message=invalid.sp.domain
-
-sProviderAction.invalidCountry.code=200004
-sProviderAction.invalidCountry.message=invalid.sp.country
-
-sProviderAction.spNotAllowed.code=200005
-sProviderAction.spNotAllowed.message=sp.not.allowed
-
-sProviderAction.invalidSaml.code=200006
-sProviderAction.invalidSaml.message=invalid.sp.samlrequest
-
-sProviderAction.invalidSPProviderName.code=200007
-sProviderAction.invalidSPProviderName.message=sp.not.identified
-
-sProviderAction.invalidSPRedirect.code=200008
-sProviderAction.invalidSPRedirect.message=invalid.sp.redirectUrl
-
-sProviderAction.invalidRelayState.code=200009
-sProviderAction.invalidRelayState.message=invalid.sp.relaystate
-
-sProviderAction.invalidAttr.code=200011
-sProviderAction.invalidAttr.message=invalid.sp.attr
-
-requests.ServiceProviderAction.code=200012
-requests.ServiceProviderAction.message=reached.max.requests.sp
-
-sPPowerValidationAction.invalidSPPVAttrList.code=200013
-sPPowerValidationAction.invalidSPPVAttrList.message=invalid.sp.pv.attrlist
-
-invalid.sp.pv.attrlist.code=200013
-invalid.sp.pv.attrlist.message=invalid.sp.pv.attrlist
-
-sProviderAction.invalidSPAlias.code=203003
-sProviderAction.invalidSPAlias.message=invalid.sp.alias
-
-sProviderAction.errorCreatingSAML.code=203001
-sProviderAction.errorCreatingSAML.message=error.create.saml.speps
-
-#Internal Error
-internalError.code=203001
-internalError.message=internalError
-
-attrList.code=202005
-attrList.message=invalid.attrList.parameter
-
-missing.sessionId.code=203010
-missing.sessionId.message=missing.session.id
-
-sessionError.code=203011
-sessionError.message=invalid.session.id
-
-invalid.sessionId.code=203011
-invalid.sessionId.message=invalid.session.id
-
-missing.mandate.code=203013
-missing.mandate.message=missing.mandate
-
-invalid.session.code=203012
-invalid.session.message=invalid.session
-
-callback.code=203006
-callback.message=invalid.callback.url
-
-idp.url.code=203006
-idp.url.message=invalid.idp.url
-
-IdPSAMLResponse.code=002001
-IdPSAMLResponse.message=invalid.idp.response
-
-authenticationFailed.code=003002
-authenticationFailed.message=authentication.failed
-
-username.code=003002
-username.message=authentication.failed
-
-invalidAttributeList.code=203001
-invalidAttributeList.message=invalid.attrlist
-
-invalidAttributeValue.code=203001
-invalidAttributeValue.message=invalid.attr.value
-
-attVerification.mandatory.code=202010
-attVerification.mandatory.message=missing.mandatory.attr
-
-attrValue.verification.code=203008
-attrValue.verification.message=invalid.stork.attrValue
-
-cpepsSAMLResponse.code=202012
-cpepsSAMLResponse.message=error.gen.cpeps.saml
-
-AtPSAMLResponse.code=202009
-AtPSAMLResponse.message=error.gen.atp.saml
-
-atp.url.code=203006
-atp.url.message=invalid.atp.url
-
-hash.error.code=203001
-hash.error.message=error.hash
-
-qaaLevel.code=203006
-qaaLevel.message=invalid.cpeps.qaalevel
-
-SAMLRequest.code=203001
-SAMLRequest.message=invalid.SAMLRequest
-
-atp.response.error.code=202011
-atp.response.error.message=atp.response.error
-
-#Colleague Request Interface errors
-
-colleagueRequest.invalidSAML.code=201002
-colleagueRequest.invalidSAML.message=invalid.speps.samlrequest
-
-colleagueRequest.invalidCountryCode.code=002001
-colleagueRequest.invalidCountryCode.message=country.cpeps.nomatch
-
-colleagueRequest.errorCreatingSAML.code=203001
-colleagueRequest.errorCreatingSAML.message=error.create.saml.cpeps
-
-colleagueRequest.invalidQaa.code=202004
-colleagueRequest.invalidQaa.message=invalid.requested.cpeps.qaalevel
-
-colleagueRequest.attrNull.code=202005
-colleagueRequest.attrNull.message=invalid.requested.attrlist.cpeps
-
-colleaguePVRequest.invalidPVAttrList.code=202013
-colleaguePVRequest.invalidPVAttrList.message=invalid.speps.pv.attrlist
-
-colleagueRequest.invalidRedirect.code=202001
-colleagueRequest.invalidRedirect.message=invalid.redirecturl.cpeps
-
-colleagueRequest.invalidDestUrl.code=203006
-colleagueRequest.invalidDestUrl.message=invalid.cpeps.destUrl
-
-cpepsRedirectUrl.code=203006
-cpepsRedirectUrl.message=invalid.cpeps.redirectUrl
-
-#Citizen Consent Interfaces errors
-
-citizenResponse.mandatory.code=202007
-citizenResponse.mandatory.message=no.consent.mand.attr
-
-cPeps.attrNull.code=202005
-cPeps.attrNull.message=invalid.attrList.cpeps
-
-citizenNoConsent.mandatory.code=202012
-citizenNoConsent.mandatory.message=no.consent.val.mand.attr
-
-#Colleague Response Interface errors
-
-colleagueResponse.invalidSAML.code=202002
-colleagueResponse.invalidSAML.message=invalid.cpeps.samlresp
-
-auRequestIdError.code=201005
-auRequestIdError.message=invalid.speps.saml.id
-
-audienceRestrictionError.code=201004
-audienceRestrictionError.message=speps.saml.condition.notmet
-
-spepsSAMLResponse.code=200010
-spepsSAMLResponse.message=error.gen.speps.saml
-
-
-invalid.apepsRedirectUrl.code=001001
-invalid.apepsRedirectUrl.message=invalid.apeps.redirectUrl
-
-apepsSAMLRequest.code=001002
-apepsSAMLRequest.message=invalid.apeps.saml.request
-
-apepsSAMLResponse.code=001003
-apepsSAMLResponse.message=invalid.apeps.saml.response
-
-invalid.apepsCallbackUrl.code=001004
-invalid.apepsCallbackUrl.message=invalid.apeps.callback.url
-
-colleagueAttributeRequest.invalidSAML.code=001005
-colleagueAttributeRequest.invalidSAML.message=invalid.attr.request.saml
-
-
-#Hash Digests
-hashDigest.className=org.bouncycastle.crypto.digests.SHA512Digest
diff --git a/id/server/stork2-commons/src/main/config/embedded/pepsUtil.properties b/id/server/stork2-commons/src/main/config/embedded/pepsUtil.properties
deleted file mode 100644
index acc79a8c9..000000000
--- a/id/server/stork2-commons/src/main/config/embedded/pepsUtil.properties
+++ /dev/null
@@ -1,273 +0,0 @@
-#Max allowed params size
-validation.active=true
-max.spUrl.size=150
-max.attrList.size=20000
-max.invalidAttributeList.size=20000
-max.attrName.size=100
-max.callback.size=300
-max.idp.url.size=300
-max.atp.url.size=300
-max.cpepsURL.size=300
-max.attrValue.size=20000
-max.attrType.size=25
-max.spId.size=40
-max.providerName.size=128
-max.spName.size=25
-max.country.size=150
-max.qaaLevel.size=1
-max.spQaaLevel.size=1
-max.errorCode.size=5
-max.errorMessage.size=300
-max.username.size=30
-max.spepsRedirectUrl.size=300
-max.speps.redirectUrl.size=300
-max.cpeps.redirectUrl.size=300
-max.cpepsRedirectUrl.size=300
-max.spepsAssertionUrl.size=300
-max.SAMLRequest.size=131072
-max.SAMLResponse.size=131072
-max.RelayState.size=80
-max.remoteAddr.size=300
-max.remoteHost.size=300
-max.localAddr.size=300
-max.localName.size=300
-max.apepsUrl.size=300
-max.apeps.callbackUrl.size=300
-max.spCountryCode.size=5
-
-dtl.url=http://localhost:8080/DocumentService/DocumentService
-
-#ERROR codes/messages (accordingly to specification)
-
-#CountrySelector Interface errors
-spCountrySelector.invalidSPQAA.code=0000001
-spCountrySelector.invalidSPQAA.message=invalid.spQAA.parameter
-
-spCountrySelector.invalidQaaSPid.code=0000001
-spCountrySelector.invalidQaaSPid.message=invalid.spQAAId.parameter
-
-spCountrySelector.invalidSpId.code=000002
-spCountrySelector.invalidSpId.message=invalid.spId.parameter
-
-spCountrySelector.invalidSpURL.code=000003
-spCountrySelector.invalidSpURL.message=invalid.spUrl.parameter
-
-domain.CountrySelectorAction.code=000003
-domain.CountrySelectorAction.message=invalid.cs.domain
-
-requests.CountrySelectorAction.code=000004
-requests.CountrySelectorAction.message=reached.max.requests.cs
-
-spCountrySelector.spNotAllowed.code=000006
-spCountrySelector.spNotAllowed.message=attr.access.deny
-
-spCountrySelector.invalidAttr.code=000007
-spCountrySelector.invalidAttr.message=invalid.spAttr.parameter
-
-spCountrySelector.invalidProviderName.code=000008
-spCountrySelector.invalidProviderName.message=invalid.spProvidername.parameter
-
-spCountrySelector.errorCreatingSAML.code=203001
-spCountrySelector.errorCreatingSAML.message=error.create.sp.saml
-
-spepsSAMLRequest.code=203001
-spepsSAMLRequest.message=error.create.saml.speps
-
-#ServiceProvider Interface errors
-sProviderAction.invalidSPQAA.code=200001
-sProviderAction.invalidSPQAA.message=invalid.sp.qaa
-
-sProviderAction.invalidSPQAAId.code=200001
-sProviderAction.invalidSPQAAId.message=invalid.sp.qaaid
-
-sProviderAction.invalidSPId.code=200002
-sProviderAction.invalidSPId.message=invalid.sp.id
-
-domain.ServiceProviderAction.code=200003
-domain.ServiceProviderAction.message=invalid.sp.domain
-
-sProviderAction.invalidSPDomain.code=200003
-sProviderAction.invalidSPDomain.message=invalid.sp.domain
-
-sProviderAction.invalidCountry.code=200004
-sProviderAction.invalidCountry.message=invalid.sp.country
-
-sProviderAction.spNotAllowed.code=200005
-sProviderAction.spNotAllowed.message=sp.not.allowed
-
-sProviderAction.invalidSaml.code=200006
-sProviderAction.invalidSaml.message=invalid.sp.samlrequest
-
-sProviderAction.invalidSPProviderName.code=200007
-sProviderAction.invalidSPProviderName.message=sp.not.identified
-
-sProviderAction.invalidSPRedirect.code=200008
-sProviderAction.invalidSPRedirect.message=invalid.sp.redirectUrl
-
-sProviderAction.invalidRelayState.code=200009
-sProviderAction.invalidRelayState.message=invalid.sp.relaystate
-
-sProviderAction.invalidAttr.code=200011
-sProviderAction.invalidAttr.message=invalid.sp.attr
-
-requests.ServiceProviderAction.code=200012
-requests.ServiceProviderAction.message=reached.max.requests.sp
-
-sPPowerValidationAction.invalidSPPVAttrList.code=200013
-sPPowerValidationAction.invalidSPPVAttrList.message=invalid.sp.pv.attrlist
-
-invalid.sp.pv.attrlist.code=200013
-invalid.sp.pv.attrlist.message=invalid.sp.pv.attrlist
-
-sProviderAction.invalidSPAlias.code=203003
-sProviderAction.invalidSPAlias.message=invalid.sp.alias
-
-sProviderAction.errorCreatingSAML.code=203001
-sProviderAction.errorCreatingSAML.message=error.create.saml.speps
-
-#Internal Error
-internalError.code=203001
-internalError.message=internalError
-
-attrList.code=202005
-attrList.message=invalid.attrList.parameter
-
-missing.sessionId.code=203010
-missing.sessionId.message=missing.session.id
-
-sessionError.code=203011
-sessionError.message=invalid.session.id
-
-invalid.sessionId.code=203011
-invalid.sessionId.message=invalid.session.id
-
-missing.mandate.code=203013
-missing.mandate.message=missing.mandate
-
-invalid.session.code=203012
-invalid.session.message=invalid.session
-
-callback.code=203006
-callback.message=invalid.callback.url
-
-idp.url.code=203006
-idp.url.message=invalid.idp.url
-
-IdPSAMLResponse.code=002001
-IdPSAMLResponse.message=invalid.idp.response
-
-authenticationFailed.code=003002
-authenticationFailed.message=authentication.failed
-
-username.code=003002
-username.message=authentication.failed
-
-invalidAttributeList.code=203001
-invalidAttributeList.message=invalid.attrlist
-
-invalidAttributeValue.code=203001
-invalidAttributeValue.message=invalid.attr.value
-
-attVerification.mandatory.code=202010
-attVerification.mandatory.message=missing.mandatory.attr
-
-attrValue.verification.code=203008
-attrValue.verification.message=invalid.stork.attrValue
-
-cpepsSAMLResponse.code=202012
-cpepsSAMLResponse.message=error.gen.cpeps.saml
-
-AtPSAMLResponse.code=202009
-AtPSAMLResponse.message=error.gen.atp.saml
-
-atp.url.code=203006
-atp.url.message=invalid.atp.url
-
-hash.error.code=203001
-hash.error.message=error.hash
-
-qaaLevel.code=203006
-qaaLevel.message=invalid.cpeps.qaalevel
-
-SAMLRequest.code=203001
-SAMLRequest.message=invalid.SAMLRequest
-
-atp.response.error.code=202011
-atp.response.error.message=atp.response.error
-
-#Colleague Request Interface errors
-
-colleagueRequest.invalidSAML.code=201002
-colleagueRequest.invalidSAML.message=invalid.speps.samlrequest
-
-colleagueRequest.invalidCountryCode.code=002001
-colleagueRequest.invalidCountryCode.message=country.cpeps.nomatch
-
-colleagueRequest.errorCreatingSAML.code=203001
-colleagueRequest.errorCreatingSAML.message=error.create.saml.cpeps
-
-colleagueRequest.invalidQaa.code=202004
-colleagueRequest.invalidQaa.message=invalid.requested.cpeps.qaalevel
-
-colleagueRequest.attrNull.code=202005
-colleagueRequest.attrNull.message=invalid.requested.attrlist.cpeps
-
-colleaguePVRequest.invalidPVAttrList.code=202013
-colleaguePVRequest.invalidPVAttrList.message=invalid.speps.pv.attrlist
-
-colleagueRequest.invalidRedirect.code=202001
-colleagueRequest.invalidRedirect.message=invalid.redirecturl.cpeps
-
-colleagueRequest.invalidDestUrl.code=203006
-colleagueRequest.invalidDestUrl.message=invalid.cpeps.destUrl
-
-cpepsRedirectUrl.code=203006
-cpepsRedirectUrl.message=invalid.cpeps.redirectUrl
-
-#Citizen Consent Interfaces errors
-
-citizenResponse.mandatory.code=202007
-citizenResponse.mandatory.message=no.consent.mand.attr
-
-cPeps.attrNull.code=202005
-cPeps.attrNull.message=invalid.attrList.cpeps
-
-citizenNoConsent.mandatory.code=202012
-citizenNoConsent.mandatory.message=no.consent.val.mand.attr
-
-#Colleague Response Interface errors
-
-colleagueResponse.invalidSAML.code=202002
-colleagueResponse.invalidSAML.message=invalid.cpeps.samlresp
-
-auRequestIdError.code=201005
-auRequestIdError.message=invalid.speps.saml.id
-
-audienceRestrictionError.code=201004
-audienceRestrictionError.message=speps.saml.condition.notmet
-
-spepsSAMLResponse.code=200010
-spepsSAMLResponse.message=error.gen.speps.saml
-
-
-invalid.apepsRedirectUrl.code=204001
-invalid.apepsRedirectUrl.message=invalid.apeps.redirectUrl
-
-apepsSAMLRequest.code=204002
-apepsSAMLRequest.message=invalid.apeps.saml.request
-
-apepsSAMLResponse.code=204003
-apepsSAMLResponse.message=invalid.apeps.saml.response
-
-invalid.apepsCallbackUrl.code=204004
-invalid.apepsCallbackUrl.message=invalid.apeps.callback.url
-
-colleagueAttributeRequest.invalidSAML.code=204005
-colleagueAttributeRequest.invalidSAML.message=invalid.attr.request.saml
-
-colleagueAttributeRequest.invalidCountryCode.code=204006
-colleagueAttributeRequest.invalidCountryCode.message=invalid.attr.country.code
-
-
-#Hash Digests
-hashDigest.className=org.bouncycastle.crypto.digests.SHA512Digest
diff --git a/id/server/stork2-commons/src/main/java/.svn/all-wcprops b/id/server/stork2-commons/src/main/java/.svn/all-wcprops
deleted file mode 100644
index ca59ad1e3..000000000
--- a/id/server/stork2-commons/src/main/java/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 59
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java
-END
diff --git a/id/server/stork2-commons/src/main/java/.svn/entries b/id/server/stork2-commons/src/main/java/.svn/entries
deleted file mode 100644
index ff9dfce64..000000000
--- a/id/server/stork2-commons/src/main/java/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-eu
-dir
-
diff --git a/id/server/stork2-commons/src/main/java/eu/.svn/all-wcprops b/id/server/stork2-commons/src/main/java/eu/.svn/all-wcprops
deleted file mode 100644
index 30e4698c0..000000000
--- a/id/server/stork2-commons/src/main/java/eu/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 62
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu
-END
diff --git a/id/server/stork2-commons/src/main/java/eu/.svn/entries b/id/server/stork2-commons/src/main/java/eu/.svn/entries
deleted file mode 100644
index 4c0ceff03..000000000
--- a/id/server/stork2-commons/src/main/java/eu/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-stork
-dir
-
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/.svn/all-wcprops b/id/server/stork2-commons/src/main/java/eu/stork/.svn/all-wcprops
deleted file mode 100644
index 8e248afa5..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 68
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork
-END
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/.svn/entries b/id/server/stork2-commons/src/main/java/eu/stork/.svn/entries
deleted file mode 100644
index ff2fa64d7..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-peps
-dir
-
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/.svn/all-wcprops b/id/server/stork2-commons/src/main/java/eu/stork/peps/.svn/all-wcprops
deleted file mode 100644
index da872cf08..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 73
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps
-END
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/.svn/entries b/id/server/stork2-commons/src/main/java/eu/stork/peps/.svn/entries
deleted file mode 100644
index f0c47a6d2..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/.svn/entries
+++ /dev/null
@@ -1,34 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork/peps
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-auth
-dir
-
-complex
-dir
-
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/all-wcprops b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/all-wcprops
deleted file mode 100644
index 78e9d344c..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 78
-/CITnet/svn/STORK2/!svn/ver/712/trunk/Commons/src/main/java/eu/stork/peps/auth
-END
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/entries b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/entries
deleted file mode 100644
index 253bfd218..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/.svn/entries
+++ /dev/null
@@ -1,34 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork/peps/auth
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-03T15:10:40.224759Z
-712
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-specific
-dir
-
-commons
-dir
-
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/all-wcprops b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/all-wcprops
deleted file mode 100644
index edb1120b5..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/all-wcprops
+++ /dev/null
@@ -1,191 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 86
-/CITnet/svn/STORK2/!svn/ver/712/trunk/Commons/src/main/java/eu/stork/peps/auth/commons
-END
-AttributeSource.java
-K 25
-svn:wc:ra_dav:version-url
-V 107
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/AttributeSource.java
-END
-package-info.java
-K 25
-svn:wc:ra_dav:version-url
-V 103
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/package-info.java
-END
-PEPSValues.java
-K 25
-svn:wc:ra_dav:version-url
-V 102
-/CITnet/svn/STORK2/!svn/ver/712/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/PEPSValues.java
-END
-STORKAttrQueryRequest.java
-K 25
-svn:wc:ra_dav:version-url
-V 113
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryRequest.java
-END
-CitizenConsent.java
-K 25
-svn:wc:ra_dav:version-url
-V 106
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/CitizenConsent.java
-END
-AttributeProvidersMap.java
-K 25
-svn:wc:ra_dav:version-url
-V 113
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvidersMap.java
-END
-STORKAttrQueryResponse.java
-K 25
-svn:wc:ra_dav:version-url
-V 114
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryResponse.java
-END
-PersonalAttributeList.java
-K 25
-svn:wc:ra_dav:version-url
-V 113
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttributeList.java
-END
-AttributeName.java
-K 25
-svn:wc:ra_dav:version-url
-V 105
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/AttributeName.java
-END
-PEPSUtil.java
-K 25
-svn:wc:ra_dav:version-url
-V 100
-/CITnet/svn/STORK2/!svn/ver/712/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/PEPSUtil.java
-END
-PersonalAttribute.java
-K 25
-svn:wc:ra_dav:version-url
-V 109
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttribute.java
-END
-IAttributeListProcessor.java
-K 25
-svn:wc:ra_dav:version-url
-V 115
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/IAttributeListProcessor.java
-END
-STORKAuthnRequest.java
-K 25
-svn:wc:ra_dav:version-url
-V 108
-/CITnet/svn/STORK2/!svn/ver/56/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnRequest.java
-END
-STORKLogoutResponse.java
-K 25
-svn:wc:ra_dav:version-url
-V 111
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutResponse.java
-END
-IStorkLogger.java
-K 25
-svn:wc:ra_dav:version-url
-V 103
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/IStorkLogger.java
-END
-DateUtil.java
-K 25
-svn:wc:ra_dav:version-url
-V 99
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/DateUtil.java
-END
-AttributeProvider.java
-K 25
-svn:wc:ra_dav:version-url
-V 109
-/CITnet/svn/STORK2/!svn/ver/712/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvider.java
-END
-IStorkSession.java
-K 25
-svn:wc:ra_dav:version-url
-V 104
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/IStorkSession.java
-END
-Linker.java
-K 25
-svn:wc:ra_dav:version-url
-V 98
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/Linker.java
-END
-PEPSParameters.java
-K 25
-svn:wc:ra_dav:version-url
-V 106
-/CITnet/svn/STORK2/!svn/ver/712/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/PEPSParameters.java
-END
-AttributeConstants.java
-K 25
-svn:wc:ra_dav:version-url
-V 109
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/AttributeConstants.java
-END
-STORKStatusCode.java
-K 25
-svn:wc:ra_dav:version-url
-V 106
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKStatusCode.java
-END
-AttributeUtil.java
-K 25
-svn:wc:ra_dav:version-url
-V 105
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/AttributeUtil.java
-END
-Country.java
-K 25
-svn:wc:ra_dav:version-url
-V 98
-/CITnet/svn/STORK2/!svn/ver/96/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/Country.java
-END
-PEPSErrors.java
-K 25
-svn:wc:ra_dav:version-url
-V 102
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/PEPSErrors.java
-END
-STORKLogoutRequest.java
-K 25
-svn:wc:ra_dav:version-url
-V 110
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutRequest.java
-END
-IAttributeProvidersMap.java
-K 25
-svn:wc:ra_dav:version-url
-V 113
-/CITnet/svn/STORK2/!svn/ver/31/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/IAttributeProvidersMap.java
-END
-STORKSubStatusCode.java
-K 25
-svn:wc:ra_dav:version-url
-V 109
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKSubStatusCode.java
-END
-IPersonalAttributeList.java
-K 25
-svn:wc:ra_dav:version-url
-V 114
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/IPersonalAttributeList.java
-END
-CountryCodes.java
-K 25
-svn:wc:ra_dav:version-url
-V 103
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/CountryCodes.java
-END
-STORKAuthnResponse.java
-K 25
-svn:wc:ra_dav:version-url
-V 110
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnResponse.java
-END
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/entries b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/entries
deleted file mode 100644
index 0b8070876..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/entries
+++ /dev/null
@@ -1,1085 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork/peps/auth/commons
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-03T15:10:40.224759Z
-712
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-AttributeConstants.java
-file
-
-
-
-
-2013-12-20T12:27:56.638475Z
-940dcb9e93ede62e221f4b25abd6576b
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1831
-
-STORKStatusCode.java
-file
-
-
-
-
-2013-12-20T12:27:56.638475Z
-771689c75a8263c7e3966e820d59025e
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1906
-
-AttributeUtil.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-2859d3335dfe719ca04258fae54e69a3
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-7927
-
-exceptions
-dir
-
-Country.java
-file
-
-
-
-
-2013-12-20T12:27:56.638475Z
-9cbde5f25b646d02dae7ccf424906b4a
-2013-11-01T20:35:30.927048Z
-96
-emferreri
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2208
-
-PEPSErrors.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-bfe69afce772675187fdd637453ed12f
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-12165
-
-STORKLogoutRequest.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-af445a2013f21ffecd3db7773ae3236e
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-4343
-
-IAttributeProvidersMap.java
-file
-
-
-
-
-2013-12-20T12:27:56.634475Z
-225257e8d6d7b9e6bcc4bea2463c33be
-2013-10-10T17:38:31.956327Z
-31
-emlelisst
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2534
-
-STORKSubStatusCode.java
-file
-
-
-
-
-2013-12-20T12:27:56.634475Z
-65e615e0119d4125d5f4f58af8bcd18b
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2181
-
-IPersonalAttributeList.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-b441a2c6c3eddcf1043c55e55f48faa6
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-6598
-
-STORKAuthnResponse.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-f2247f9a89e8ad01f9a24ad716f993ca
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-8724
-
-CountryCodes.java
-file
-
-
-
-
-2013-12-20T12:27:56.638475Z
-f91b0f8df0b2a68fe1b900d425257c23
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3527
-
-package-info.java
-file
-
-
-
-
-2013-12-20T12:27:56.638475Z
-8d8068e217f10425f76a8d37192ccd80
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-277
-
-AttributeSource.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-a0555599193656bc17e02c3ce23043be
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-4501
-
-PEPSValues.java
-file
-
-
-
-
-2014-03-05T09:36:07.946515Z
-4a94fe7623d8d6b679efddecd8d49009
-2014-03-03T15:10:40.224759Z
-712
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-7899
-
-STORKAttrQueryRequest.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-2d4ac505f71020c482ebbefa10484552
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-10617
-
-CitizenConsent.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-39e236d6888f266d9b4967f19726126c
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3445
-
-AttributeProvidersMap.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-b487da35df5353c8b2aba47ab3cdb68d
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2608
-
-STORKAttrQueryResponse.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-93fc508be2bc0fd29ae453b0868e1d2b
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-9080
-
-PersonalAttributeList.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-0036d26679cc31fe7d1bdea1b8b3555a
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-12041
-
-AttributeName.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-164e63d1f4e5aeb47d371caff534eaab
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1504
-
-PEPSUtil.java
-file
-
-
-
-
-2014-03-05T09:36:07.946515Z
-9aa5d40e80a49d19293f42db68feca97
-2014-03-03T15:10:40.224759Z
-712
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-12702
-
-PersonalAttribute.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-ce98ef39a754869644b5516cdcfcb40d
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-8914
-
-IAttributeListProcessor.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-07efc5b742cc9e4b80a2f8b17fe4b946
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-4713
-
-DateUtil.java
-file
-
-
-
-
-2013-12-20T12:27:56.634475Z
-59f9cd2a3d1169a0f1a797b28719921a
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-5702
-
-IStorkLogger.java
-file
-
-
-
-
-2013-12-20T12:27:56.634475Z
-f15979b29f52d1674103528aed914ae7
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-4766
-
-STORKLogoutResponse.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-880a05076cf8412311766aa40cf6a63f
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-5474
-
-STORKAuthnRequest.java
-file
-
-
-
-
-2013-12-20T12:27:56.634475Z
-3f36e65f0c4f1c7df753784b2e64f00b
-2013-10-24T15:44:04.704923Z
-56
-emgrtargr
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-11269
-
-AttributeProvider.java
-file
-
-
-
-
-2014-03-05T09:36:07.946515Z
-54177f09aad369707021fb3c0f5b2b1e
-2014-03-03T15:10:40.224759Z
-712
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2914
-
-IStorkSession.java
-file
-
-
-
-
-2013-12-20T12:27:56.634475Z
-5a8701b1fd27998d5cf3280a5c99bcb0
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2745
-
-Linker.java
-file
-
-
-
-
-2014-01-21T08:38:55.336702Z
-98f46baee16310e3dc59ef224ba5b5ab
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-8950
-
-PEPSParameters.java
-file
-
-
-
-
-2014-03-05T09:36:07.946515Z
-ba1718cf8c1a52eae81aa6b182315b95
-2014-03-03T15:10:40.224759Z
-712
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-15394
-
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeConstants.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeConstants.java.svn-base
deleted file mode 100644
index 09769641c..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeConstants.java.svn-base
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * This enum class contains all the STORK PEPS, Commons and Specific errors
- * constant identifiers.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.2 $, $Date: 2010-11-17 05:15:28 $
- */
-public enum AttributeConstants {
-
- /**
- * Represents the attribute's name index.
- */
- ATTR_NAME_INDEX(0),
- /**
- * Represents the attribute's type index.
- */
- ATTR_TYPE_INDEX(1),
- /**
- * Represents the attribute's value index.
- */
- ATTR_VALUE_INDEX(2),
- /**
- * Represents the attribute's status index.
- */
- ATTR_STATUS_INDEX(3),
- /**
- * Represents the number of allowed tuples.
- */
- NUMBER_TUPLES(4);
-
- /**
- * Represents the constant's value.
- */
- private int attribute;
-
- /**
- * Solo Constructor.
- *
- * @param attr The Attribute Constant value.
- */
- AttributeConstants(final int attr) {
-
- this.attribute = attr;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public int intValue() {
-
- return attribute;
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeName.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeName.java.svn-base
deleted file mode 100644
index a44768c7e..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeName.java.svn-base
+++ /dev/null
@@ -1,74 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-/**
- * This class is a bean used to store information relative to Attribute Names.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: 1.00 $, $Date: 2013-11-26 $
- */
-public final class AttributeName {
-
- /**
- * Attribute Id.
- */
- private String attributeId;
-
- /**
- * Attribute Name.
- */
- private String attributeName;
-
- /**
- * Attribute Name Constructor.
- *
- * @param aId Id of the Attribute Name.
- * @param aName Name of the Attribute Name.
- */
- public AttributeName(final String aId, final String aName) {
-
- this.attributeId = aId;
- this.attributeName = aName;
- }
-
- /**
- * Getter for the attributeId value.
- *
- * @return The attributeId value.
- */
- public String getAttributeId() {
-
- return attributeId;
- }
-
- /**
- * Setter for the attributeId value.
- *
- * @param aId Id of the Attribute Name.
- */
- public void setAttributeId(final String aId) {
-
- this.attributeId = aId;
- }
-
- /**
- * Getter for the attributeName value.
- *
- * @return The attributeName value.
- */
- public String getAttributeName() {
-
- return attributeName;
- }
-
- /**
- * Setter for the attributeName value.
- *
- * @param name Name of the Attribute Name.
- */
- public void setAttributeName(final String name) {
-
- this.attributeName = name;
- }
-
-} \ No newline at end of file
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvider.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvider.java.svn-base
deleted file mode 100644
index 575732e27..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvider.java.svn-base
+++ /dev/null
@@ -1,123 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * This class is a bean used to store the information relative to the Attribute Provider.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: 1.01 $, $Date: 2014-01-13 $
- */
-public final class AttributeProvider implements Serializable {
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 7210186241917444559L;
-
- /**
- * Provider Id.
- */
- private String providerId;
-
- /**
- * Provider Name.
- */
- private String providerName;
-
- /**
- * Allowed groups of attribute names.
- */
- private List<String> allowedGroups;
-
- /**
- * Attribute Provider Constructor.
- *
- * @param pId Id of the Attribute Provider.
- * @param pName Name of the Attribute Provider.
- */
- public AttributeProvider(final String pId, final String pName, final List<String> pAllowedGroups) {
-
- this.providerId = pId;
- this.providerName = pName;
- this.allowedGroups = pAllowedGroups;
- }
-
- /**
- * Getter for the providerId value.
- *
- * @return The providerId value.
- */
- public String getProviderId() {
-
- return providerId;
- }
-
- /**
- * Setter for the providerId value.
- *
- * @param pId Id of the Attribute Provider.
- */
- public void setProviderId(final String pId) {
-
- this.providerId = pId;
- }
-
- /**
- * Getter for the providerName value.
- *
- * @return The providerName value.
- */
- public String getProviderName() {
-
- return providerName;
- }
-
- /**
- * Setter for the providerName value.
- *
- * @param name Name of the Attribute Provider.
- */
- public void setProviderName(final String name) {
-
- this.providerName = name;
- }
-
- /**
- * Getter for the allowedGroups value.
- *
- * @return The allowedGroups value.
- */
- public List<String> getAllowedGroups() {
-
- return allowedGroups;
- }
-
- /**
- * Setter for the allowedGroups value.
- *
- * @param name AllowedGroups of the Attribute Provider.
- */
- public void setAllowedGroups(final List<String> pAllowedGroups) {
-
- this.allowedGroups = pAllowedGroups;
- }
-
- /**
- * Check if an attribute name is allowed for this Attribute Provider
- *
- * @param pAttrName the Attribute Name to check
- * @return true if the name is allowed, false otherwise
- */
- public boolean isAttributeNameAllowed(final String pAttrName) {
- if ( allowedGroups==null || pAttrName==null )
- return false;
- else if ( allowedGroups.contains(PEPSParameters.ATTRIBUTE_GROUPS_ALL.toString()) )
- return true;
- else if ( allowedGroups.contains(PEPSParameters.ATTRIBUTE_GROUPS_NONE.toString()) )
- return false;
- else
- return allowedGroups.contains(pAttrName);
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvidersMap.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvidersMap.java.svn-base
deleted file mode 100644
index 85aec2625..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeProvidersMap.java.svn-base
+++ /dev/null
@@ -1,96 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-
-import org.apache.log4j.Logger;
-
-/**
- * Implementation of the AttributeProviderMap using a LinkedHashMap.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: 1.01 $, $Date: 2013-09-20 $
- *
- * @see LinkedHashMap
- */
-public class AttributeProvidersMap extends LinkedHashMap<AttributeSource, IPersonalAttributeList>
- implements IAttributeProvidersMap {
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(AttributeProvidersMap.class.getName());
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 8949081185106296122L;
-
- /**
- * {@inheritDoc}
- */
- @Override
- public IPersonalAttributeList get(final AttributeSource key) {
- return this.get((Object) key);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public IPersonalAttributeList remove(final AttributeSource key) {
- return this.remove((Object) key);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean containsKey(final AttributeSource key) {
- return this.containsKey((Object) key);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Iterator<AttributeSource> keyIterator() {
- return this.keySet().iterator();
- }
-
- public void trace() {
- Iterator<AttributeSource> iterator;
- Iterator<PersonalAttribute> iterator2;
- AttributeSource source;
- IPersonalAttributeList pal;
- PersonalAttribute pa;
-
- iterator = this.keyIterator();
- LOG.trace("Start dumping of AttributeProvidersMap\n=======================");
- while (iterator.hasNext()) {
- source = iterator.next();
-
- LOG.trace("Source details: type [" + source.getSourceType() + "], URL [" + source.getProviderURL() + "]");
-
- if(source.getSourceType() == AttributeSource.SOURCE_LOCAL_APROVIDER) {
- LOG.trace("-> Attribute Provider: ID [" + source.getProvider().getProviderId() + "], name [" + source.getProvider().getProviderName() + "]");
- }
- else {
- LOG.trace("-> Country: ID [" + source.getCountry().getCountryId() + "], name [" + source.getCountry().getCountryName() + "]");
- }
-
- pal = this.get(source);
- LOG.trace("++++++++=>");
- iterator2 = pal.iterator();
- while (iterator2.hasNext()) {
- pa = iterator2.next();
-
- LOG.trace("-> Citizen Attribute: name [" + pa.getName() + "], required [" + pa.isRequired() + "]");
- }
- LOG.trace("<=++++++++");
-
- LOG.trace("-----------------------");
- }
- LOG.trace("END\n=======================");
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeSource.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeSource.java.svn-base
deleted file mode 100644
index 846f54f67..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeSource.java.svn-base
+++ /dev/null
@@ -1,188 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-
-import org.apache.log4j.Logger;
-
-/**
- * This class is a bean used to store the information relative to the Attribute Source (either AttributeProvider or Country).
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: 1.10 $, $Date: 2013-11-29 $
- */
-public final class AttributeSource implements Serializable {
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 432243595968469014L;
-
- public static final int SOURCE_LOCAL_APROVIDER = 1;
- public static final int SOURCE_REMOTE_COUNTRY = 2;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(AttributeSource.class.getName());
-
- /**
- * Provider source.
- */
- private int sourceType;
-
- /**
- * Provider URL.
- */
- private String providerURL;
-
- /**
- * The local Attribute Provider.
- */
- private AttributeProvider provider;
-
- /**
- * The remote Country.
- */
- private Country country;
-
- /**
- * Attribute Source Constructor.
- *
- * @param provider The local Attribute Provider.
- * @param pURL URL of the Attribute Provider.
- */
- public AttributeSource(final AttributeProvider provider, final String pURL) {
- this.setSourceType(SOURCE_LOCAL_APROVIDER);
-
- this.setProvider(provider);
- this.setProviderURL(pURL);
- }
-
- /**
- * Attribute Source Constructor.
- *
- * @param country The remote Country.
- * @param pURL URL of the Country.
- */
- public AttributeSource(final Country country, final String pURL) {
- this.setSourceType(SOURCE_REMOTE_COUNTRY);
-
- this.setCountry(country);
- this.setProviderURL(pURL);
- }
-
- /**
- * @param sourceType the sourceType to set
- */
- public void setSourceType(final int sourceType) {
- this.sourceType = sourceType;
- }
-
- /**
- * @return the sourceType
- */
- public int getSourceType() {
- return sourceType;
- }
-
- /**
- * @param providerURL the providerURL to set
- */
- public void setProviderURL(final String providerURL) {
- this.providerURL = providerURL;
- }
-
- /**
- * @return the providerURL
- */
- public String getProviderURL() {
- return providerURL;
- }
-
- /**
- * @param provider the provider to set
- */
- public void setProvider(final AttributeProvider provider) {
- this.setSourceType(SOURCE_LOCAL_APROVIDER);
-
- this.provider = provider;
- }
-
- /**
- * @return the provider
- */
- public AttributeProvider getProvider() {
- return provider;
- }
-
- /**
- * @param country the country to set
- */
- public void setCountry(final Country country) {
- this.setSourceType(SOURCE_REMOTE_COUNTRY);
-
- this.country = country;
- }
-
- /**
- * @return the country
- */
- public Country getCountry() {
- return country;
- }
-
- /**
- * {@inheritDoc}
- */
- public boolean equals(Object obj) {
- boolean outcome = false;
-
- LOG.debug("Calling equals with Object.");
- if ( obj instanceof AttributeSource ) {
- LOG.debug("Calling equals with AttributeSource.");
- outcome = this.equals((AttributeSource)obj);
- }
-
- LOG.debug("Object equals outcome: " + outcome);
- return outcome;
- }
-
- /**
- * Compare the given AttributeSource with the current object in order to determinine
- * if they are equal.
- *
- * @param obj The AttributeSource to compare to
- *
- * @return true if the two objects are equal
- */
- public boolean equals(AttributeSource obj) {
- boolean outcome = false;
-
- if ( this.sourceType==obj.getSourceType() ) {
- if ( this.sourceType==AttributeSource.SOURCE_LOCAL_APROVIDER ) {
- if ( this.provider.getProviderId().equals(obj.getProvider().getProviderId()) )
- outcome = true;
- }
- else if ( this.sourceType==AttributeSource.SOURCE_REMOTE_COUNTRY ) {
- if ( this.country.getCountryId().equals(obj.getCountry().getCountryId()) )
- outcome = true;
- }
- }
-
- LOG.debug("AttributeSource equals outcome: " + outcome);
- return outcome;
- }
-
- /**
- * {@inheritDoc}
- */
- public int hashCode() {
- int hash = 1;
- hash = hash * 17 + this.sourceType;
- if ( this.sourceType==AttributeSource.SOURCE_LOCAL_APROVIDER )
- hash = hash * 31 + this.provider.getProviderName().hashCode();
- else
- hash = hash * 31 + this.country.getCountryName().hashCode();
- return hash;
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeUtil.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeUtil.java.svn-base
deleted file mode 100644
index af7ab6cf3..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/AttributeUtil.java.svn-base
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.commons.lang.StringUtils;
-
-/**
- * This class holds static helper methods.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.5 $, $Date: 2010-12-15 23:19:59 $
- */
-public final class AttributeUtil {
-
- /**
- * Private constructor. Prevents the class from being instantiated.
- */
- private AttributeUtil() {
- // empty constructor
- }
-
- /**
- * Safe escape any given string.
- *
- * @param value The HTTP Value to escaped.
- *
- * @return The value escaped value.
- */
- public static String escape(final String value) {
-
- final String attrSep = PEPSValues.ATTRIBUTE_SEP.toString();
- final String attrTupleSep = PEPSValues.ATTRIBUTE_TUPLE_SEP.toString();
- final String attrValueSep = PEPSValues.ATTRIBUTE_VALUE_SEP.toString();
-
- final String escAttrSep = "%" + (int) attrSep.charAt(0);
- final String escAttrTupleSep = "%" + (int) attrTupleSep.charAt(0);
- final String escAttrValueSep = "%" + (int) attrValueSep.charAt(0);
-
- return value.replace(attrSep, escAttrSep)
- .replace(attrTupleSep, escAttrTupleSep)
- .replace(attrValueSep, escAttrValueSep);
- }
-
- /**
- * Unescape any given string.
- *
- * @param value The HTTP Value to be unescaped.
- *
- * @return The value unescaped value.
- */
- public static String unescape(final String value) {
- final String attrSep = PEPSValues.ATTRIBUTE_SEP.toString();
- final String attrTupleSep = PEPSValues.ATTRIBUTE_TUPLE_SEP.toString();
- final String attrValueSep = PEPSValues.ATTRIBUTE_VALUE_SEP.toString();
-
- final String escAttrSep = "%" + (int) attrSep.charAt(0);
- final String escAttrTupleSep = "%" + (int) attrTupleSep.charAt(0);
- final String escAttrValueSep = "%" + (int) attrValueSep.charAt(0);
-
- return value.replace(escAttrSep, attrSep)
- .replace(escAttrTupleSep, attrTupleSep)
- .replace(escAttrValueSep, attrValueSep);
- }
-
- /**
- * Appends the string representation of an object to a StringBuilder.
- *
- * @param strBuilder The StringBuilder to append to.
- * @param val The string representation of an object.
- */
- public static void appendIfNotNull(final StringBuilder strBuilder,
- final Object val) {
-
- if (val != null) {
- strBuilder.append(val);
- }
- }
-
- /**
- * Given a separator and a list of strings, joins the list, as a string,
- * separated by the separator string.
- *
- * @param list The list of strings to join.
- * @param separator The separator string.
- * @return the list, as a string, separated by the separator string.
- */
- public static String listToString(final List<String> list,
- final String separator) {
-
- final StringBuilder strBuilder = new StringBuilder();
- for (final String s : list) {
- if (!StringUtils.isEmpty(s)) {
- strBuilder.append(AttributeUtil.escape(s) + separator);
- }
- }
- return strBuilder.toString();
- }
-
- /**
- * Given a separator and a map of strings to strings, joins the map, as a
- * string, separated by the separator string with the pair key/value
- * concatenated with a '='.
- *
- * @param map The map of strings to join.
- * @param separator The separator string.
- *
- * @return the map of strings, as a string, separated by the separator string
- * with the pair key/value concatenated with a '='.
- */
- public static String mapToString(final Map<String, String> map,
- final String separator) {
-
- final StringBuilder strBuilder = new StringBuilder();
- final Iterator<Entry<String, String>> valuesIt = map.entrySet().iterator();
- while (valuesIt.hasNext()) {
- final Entry<String, String> entry = valuesIt.next();
- strBuilder.append(entry.getKey());
- strBuilder.append('=');
- strBuilder.append(AttributeUtil.escape(entry.getValue()));
- strBuilder.append(separator);
- }
- return strBuilder.toString();
- }
-
- /**
- * Validates the attribute value format.
- *
- * @param value The attribute value to validate.
- *
- * @return true if value has a valid format.
- */
- public static boolean isValidValue(final String value) {
- boolean retVal = false;
- if (value != null && value.charAt(0) == '[' && value.endsWith("]")) {
- final String tmpAttrValue = value.substring(1, value.length() - 1);
- final String[] vals =
- tmpAttrValue.split(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- if (tmpAttrValue.length() >= 0
- || (vals.length > 0 && vals[0].length() > 0)) {
- retVal = true;
- }
- }
- return retVal;
- }
-
- /**
- * Validates the attribute type value. It's case insensitive. E.g. return true
- * value to: a) "true", "TRUE", "True", ... b) "false", "FALSE", "False", ...
- *
- * @param type The attribute type value.
- *
- * @return true if type has a true or false (case insensitive) value.
- */
- public static boolean isValidType(final String type) {
- return StringUtils.isNotEmpty(type) && (PEPSValues.TRUE.toString().equalsIgnoreCase(type) || PEPSValues.FALSE.toString().equalsIgnoreCase(type)) ;
- }
-
- /**
- * Validates the Personal attribute tuple. E.g. name:type:[value]:status
- *
- * @param tuples The Personal attribute's tuple.
- *
- * @return true if the tuples' format is valid.
- *
- * @see PEPSUtil#validateParameter(String, String, String)
- * @see String#equalsIgnoreCase(String)
- */
- public static boolean hasValidTuples(final String[] tuples) {
- boolean retVal = false;
-
- final int numberTuples = AttributeConstants.NUMBER_TUPLES.intValue();
- if (tuples != null && tuples.length == numberTuples) {
- // validate attrName
- final int attrNameIndex = AttributeConstants.ATTR_NAME_INDEX.intValue();
- final int attrTypeIndex = AttributeConstants.ATTR_TYPE_INDEX.intValue();
- final int attrValueIndex = AttributeConstants.ATTR_VALUE_INDEX.intValue();
-
- retVal =
- StringUtils.isNotEmpty(tuples[attrNameIndex])
- && StringUtils.isNotEmpty(tuples[attrTypeIndex])
- && StringUtils.isNotEmpty(tuples[attrValueIndex])
- && AttributeUtil.isValidType(tuples[attrTypeIndex])
- && AttributeUtil.isValidValue(tuples[attrValueIndex]);
- }
- return retVal;
- }
-
- /**
- * Check if all mandatory attributes have values.
- *
- * @param personalAttrList The Personal Attributes List.
- *
- * @return true if all mandatory attributes have values, false if at least one
- * attribute doesn't have value.
- */
- public static boolean checkMandatoryAttributes(
- final IPersonalAttributeList personalAttrList) {
-
- final Iterator<PersonalAttribute> itAttributes =
- personalAttrList.values().iterator();
- boolean retVal = true;
- while (itAttributes.hasNext() && retVal) {
- final PersonalAttribute attr = itAttributes.next();
- if (attr.isRequired()
- && !STORKStatusCode.STATUS_AVAILABLE.toString()
- .equals(attr.getStatus())) {
- retVal = false;
- }
- }
- return retVal;
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CitizenConsent.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CitizenConsent.java.svn-base
deleted file mode 100644
index 9ebcfbd5a..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CitizenConsent.java.svn-base
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This class is a bean used to store the information relative to the Citizen
- * Consent.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.15 $, $Date: 2010-11-17 05:15:28 $
- */
-public final class CitizenConsent {
-
- /**
- * Mandatory attributes list.
- */
- private List<String> mandatoryList;
-
- /**
- * Optional attributes list.
- */
- private List<String> optionalList;
-
- /**
- * Citizen Consent default Constructor.
- */
- public CitizenConsent() {
- this.mandatoryList = new ArrayList<String>();
- this.optionalList = new ArrayList<String>();
- }
-
- /**
- * Getter for the mandatoryList value.
- *
- * @return The mandatoryList value.
- */
- public List<String> getMandatoryList() {
- return this.mandatoryList;
- }
-
- /**
- * Setter for the mandatoryList value.
- *
- * @param mandatoryAttrList Mandatory parameters list.
- */
- public void setMandatoryList(final List<String> mandatoryAttrList) {
- this.mandatoryList = mandatoryAttrList;
- }
-
- /**
- * Setter for some mandatoryAttribute. Adds the input parameter to the
- * mandatoryList.
- *
- * @param mandatoryAttr Attribute to add to the mandatoryList.
- */
- public void setMandatoryAttribute(final String mandatoryAttr) {
- this.mandatoryList.add(mandatoryAttr);
- }
-
- /**
- * Getter for the optionalList value.
- *
- * @return The optionalList value.
- */
- public List<String> getOptionalList() {
- return optionalList;
- }
-
- /**
- * Setter for the optionalList value.
- *
- * @param optAttrList Optional parameters list.
- */
- public void setOptionalList(final List<String> optAttrList) {
- this.optionalList = optAttrList;
- }
-
- /**
- * Setter for some optionalAttr. Adds the input parameter to the optionalList.
- *
- * @param optionalAttr Attribute to add to the optionalList.
- */
- public void setOptionalAttribute(final String optionalAttr) {
- this.optionalList.add(optionalAttr);
- }
-
- /**
- * Returns a string in the following format. "Mandatory attributes:
- * mandatoryAttr1;mandatoryAttr2;mandatoryAttrN Optional attributes:
- * optionalAttr1;optionalAttr2;optionalAttrN"
- *
- * @return {@inheritDoc}
- */
- public String toString() {
- final StringBuilder strbldr = new StringBuilder(46);
- strbldr.append("Mandatory attributes: ");
- for (final String str : mandatoryList) {
- strbldr.append(str).append(';');
- }
- strbldr.append(" Optional attributes: ");
- for (final String str : optionalList) {
- strbldr.append(str).append(';');
- }
- return strbldr.toString();
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Country.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Country.java.svn-base
deleted file mode 100644
index 001f9317a..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Country.java.svn-base
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-
-/**
- * This class is a bean used to store the information relative to the Country.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.10 $, $Date: 2010-11-17 05:15:28 $
- */
-public final class Country implements Serializable {
-
- /**
- *
- */
- private static final long serialVersionUID = 1135994036496370993L;
-
-/**
- * Country Id.
- */
- private String countryId;
-
- /**
- * Country Name.
- */
- private String countryName;
-
- /**
- * Country Constructor.
- *
- * @param cId Id of the Country.
- * @param cName Name of the Country.
- */
- public Country(final String cId, final String cName) {
-
- this.countryId = cId;
- this.countryName = cName;
- }
-
- /**
- * Getter for the countryId value.
- *
- * @return The countryId value.
- */
- public String getCountryId() {
-
- return countryId;
- }
-
- /**
- * Setter for the countryId value.
- *
- * @param cId Id of the Country.
- */
- public void setCountryId(final String cId) {
-
- this.countryId = cId;
- }
-
- /**
- * Getter for the countryName value.
- *
- * @return The countryName value.
- */
- public String getCountryName() {
-
- return countryName;
- }
-
- /**
- * Setter for the countryName value.
- *
- * @param name Name of the Country.
- */
- public void setCountryName(final String name) {
-
- this.countryName = name;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CountryCodes.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CountryCodes.java.svn-base
deleted file mode 100644
index 54345f3ea..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/CountryCodes.java.svn-base
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * This class contains all the ISO 3166-1 Alpha 3 Country Codes.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.2 $, $Date: 2011-04-14 00:24:56 $
- */
-public final class CountryCodes {
-
- /**
- * Private Constructor.
- */
- private CountryCodes() {
-
- }
-
- /**
- * ISO 3166-1 Alpha 3 Country Codes.
- */
- private static List<String> countrysAlpha3 = Arrays.asList("ABW", "AFG",
- "AGO", "AIA", "ALA", "ALB", "AND", "ANT", "ARE", "ARG", "ARM", "ASM",
- "ATA", "ATF", "ATG", "AUS", "AUT", "AZE", "BDI", "BEL", "BEN", "BES",
- "BFA", "BGD", "BGR", "BHR", "BHS", "BIH", "BLM", "BLR", "BLZ", "BMU",
- "BOL", "BRA", "BRB", "BRN", "BTN", "BUR", "BVT", "BWA", "BYS", "CAF",
- "CAN", "CCK", "CHE", "CHL", "CHN", "CIV", "CMR", "COD", "COG", "COK",
- "COL", "COM", "CPV", "CRI", "CSK", "CUB", "CUW", "CXR", "CYM", "CYP",
- "CZE", "DEU", "DJI", "DMA", "DNK", "DOM", "DZA", "ECU", "EGY", "ERI",
- "ESH", "ESP", "EST", "ETH", "FIN", "FJI", "FLK", "FRA", "FRO", "FSM",
- "GAB", "GBR", "GEO", "GGY", "GHA", "GIB", "GIN", "GLP", "GMB", "GNB",
- "GNQ", "GRC", "GRD", "GRL", "GTM", "GUF", "GUM", "GUY", "HKG", "HMD",
- "HND", "HRV", "HTI", "HUN", "IDN", "IMN", "IND", "IOT", "IRL", "IRN",
- "IRQ", "ISL", "ISR", "ITA", "JAM", "JEY", "JOR", "JPN", "KAZ", "KEN",
- "KGZ", "KHM", "KIR", "KNA", "KOR", "KWT", "LAO", "LBN", "LBR", "LBY",
- "LCA", "LIE", "LKA", "LSO", "LTU", "LUX", "LVA", "MAC", "MAF", "MAR",
- "MCO", "MDA", "MDG", "MDV", "MEX", "MHL", "MKD", "MLI", "MLT", "MMR",
- "MNE", "MNG", "MNP", "MOZ", "MRT", "MSR", "MTQ", "MUS", "MWI", "MYS",
- "MYT", "NAM", "NCL", "NER", "NFK", "NGA", "NIC", "NIU", "NLD", "NOR",
- "NPL", "NRU", "NZL", "OMN", "PAK", "PAN", "PCN", "PER", "PHL", "PLW",
- "PNG", "POL", "PRI", "PRK", "PRT", "PRY", "PSE", "PYF", "QAT", "REU",
- "ROM", "ROU", "RUS", "RWA", "SAU", "SCG", "SDN", "SEN", "SGP", "SGS",
- "SHN", "SJM", "SLB", "SLE", "SLV", "SMR", "SOM", "SPM", "SRB", "STP",
- "SUR", "SVK", "SVN", "SXW", "SWE", "SWZ", "SYC", "SYR", "TCA", "TCD",
- "TGO", "THA", "TJK", "TKL", "TKM", "TLS", "TMP", "TON", "TTO", "TUN",
- "TUR", "TUV", "TWN", "TZA", "UGA", "UKR", "UMI", "URY", "USA", "UZB",
- "VAT", "VCT", "VEN", "VGB", "VIR", "VNM", "VUT", "WLF", "WSM", "YEM",
- "YUG", "ZAF", "ZAR", "ZMB", "ZWE");
-
- /**
- * Searches the CountryCode (3166-1 alpha3 format) an return true if it
- * exists.
- *
- * @param countryCode The Country code to search.
- *
- * @return true if the CountryCode exists, false otherwise.
- */
- public static boolean hasCountryCodeAlpha3(final String countryCode) {
-
- return CountryCodes.countrysAlpha3.contains(countryCode);
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/DateUtil.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/DateUtil.java.svn-base
deleted file mode 100644
index 9c0bd6775..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/DateUtil.java.svn-base
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.sql.Timestamp;
-import java.util.GregorianCalendar;
-
-import org.apache.log4j.Logger;
-import org.joda.time.DateTime;
-import org.joda.time.Years;
-import org.joda.time.format.DateTimeFormat;
-import org.joda.time.format.DateTimeFormatter;
-
-import eu.stork.peps.auth.commons.exceptions.SecurityPEPSException;
-
-/**
- * This class holds static helper methods for Date Operations.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.4 $, $Date: 2010-11-17 05:15:28 $
- */
-public final class DateUtil {
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(DateUtil.class.getName());
-
- /**
- * yyyy Date format size.
- */
- private static final int YEAR_DATE_SIZE = 4;
-
- /**
- * yyyyMM Date format size.
- */
- private static final int MONTH_DATE_SIZE = 6;
-
- /**
- * Private constructor. Prevents the class from being instantiated.
- */
- private DateUtil() {
- // empty constructor
- }
-
- /**
- * Fulfils dateValue with a valid date. The following roles are applied: a) If
- * the dateValue only contains the year then fulfils with last year's day.
- * e.g. this method returns 19951231 to the 1995 dateValue. b) If the
- * dateValue contains the year and the month then fulfils with last month's
- * day. e.g. this method returns 19950630 to the 199505 dateValue.
- *
- * @param dateValue The date to be fulfilled.
- *
- * @return The dateValue fulfilled.
- */
- private static String fulfilDate(final String dateValue) {
-
- final StringBuffer strBuf = new StringBuffer();
- strBuf.append(dateValue);
- // if the IdP just provides the year then we must fullfil the date.
- if (dateValue.length() == YEAR_DATE_SIZE) {
- strBuf.append(PEPSValues.LAST_MONTH.toString());
- }
- // if the IdP provides the year and the month then we must fullfil the
- // date.
- if (dateValue.length() == MONTH_DATE_SIZE
- || strBuf.length() == MONTH_DATE_SIZE) {
- // IdP doesn't provide the day, so we will use DateTime to
- // calculate it.
- final String noDayCons = PEPSValues.NO_DAY_DATE_FORMAT.toString();
- final DateTimeFormatter fmt = DateTimeFormat.forPattern(noDayCons);
- final DateTime dateTime = fmt.parseDateTime(strBuf.toString());
- // Append the last month's day.
- strBuf.append(dateTime.dayOfMonth().withMaximumValue().getDayOfMonth());
- }
-
- return strBuf.toString();
- }
-
- /**
- * Validates the dateValue format: a) if has a valid size; b) if has a numeric
- * value; Note: dateValue must have the format yyyyMMdd.
- *
- * @param dateValueTmp The date to be validated.
- * @param pattern The accepted date format.
- *
- * @return true if the date has a valid format.
- */
- public static boolean isValidFormatDate(final String dateValueTmp,
- final String pattern) {
-
- boolean retVal = true;
- try {
- final String dateValue = DateUtil.fulfilDate(dateValueTmp);
-
- final DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern);
- fmt.parseDateTime(dateValue);
- } catch (final Exception e) {
- // We catch Exception because we only have to return false
- // value!
- retVal = false;
- }
- return retVal;
- }
-
- /**
- * Calculates the age for a given date string.
- *
- * @param dateVal The date to be validated.
- * @param now The current date.
- * @param pattern The date pattern.
- *
- * @return The age value.
- */
- public static int calculateAge(final String dateVal, final DateTime now,
- final String pattern) {
-
- if (DateUtil.isValidFormatDate(dateVal, pattern)) {
- try {
- final String dateValueTemp = DateUtil.fulfilDate(dateVal);
- final DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern);
- final DateTime dateTime = fmt.parseDateTime(dateValueTemp);
- // Calculating age
- final Years age = Years.yearsBetween(dateTime, now);
-
- return age.getYears();
- } catch (final IllegalArgumentException e) {
- LOG.warn("Invalid date format (" + pattern
- + ") or an invalid dateValue.");
- throw new SecurityPEPSException(
- PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorCode()),
- PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorMessage()),
- e);
- }
- } else {
- LOG.warn("Couldn't calculate Age, invalid date!");
- throw new SecurityPEPSException(
- PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorCode()),
- PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorMessage()));
- }
-
- }
-
- /**
- * Generates the current timestamp.
- *
- * @return timestamp The current timestamp
- */
- public static Timestamp currentTimeStamp() {
- final GregorianCalendar cal = new GregorianCalendar();
- final long millis = cal.getTimeInMillis();
- return new Timestamp(millis);
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeListProcessor.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeListProcessor.java.svn-base
deleted file mode 100644
index b13c70f04..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeListProcessor.java.svn-base
+++ /dev/null
@@ -1,148 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Interface for {@link AttributeListProcessor}.
- *
- * @author ricardo.ferreira@multicert.com
- *
- * @version $Revision: $, $Date: $
- *
- * @see IPersonalAttributeList
- */
-public interface IAttributeListProcessor {
-
- /**
- * Checks if attribute list only contains allowed attributes.
- *
- * @param attrList the requested attribute list
- * @param attributes the allowed attributes
- *
- * @return true is all the attributes are allowed.
- *
- * @see IPersonalAttributeList
- */
- boolean hasAllowedAttributes(final IPersonalAttributeList attrList, final List<String> attributes);
-
- /**
- * Lookup for business attribute.
- *
- * @param attrList the requested attribute list
- * @param normalAttributes the normal attributes
- *
- * @return true is at least one business attribute was requested.
- *
- * @see IPersonalAttributeList
- */
- boolean hasBusinessAttributes(final IPersonalAttributeList attrList, final List<String> normalAttributes);
-
- /**
- * Lookup for business attribute in normal attribute list (loaded by
- * implementation).
- *
- * @param attrList the requested attribute list
- *
- * @return true is at least one business attribute was requested.
- *
- * @see IPersonalAttributeList
- */
- boolean hasBusinessAttributes(final IPersonalAttributeList attrList);
-
- /**
- * Adds eIdentifier, name, surname, and DateOfBirth attributes to get business
- * attributes from some AP.
- *
- * @param attrList the requested attribute list
- * @param attributes the list of attributes to add (eIdentifier, name,
- * surname, and DateOfBirth).
- *
- * @return the requested attribute list and the new attributes added
- * (eIdentifier, name, surname, and DateOfBirth).
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList addAPMandatoryAttributes(final IPersonalAttributeList attrList, final List<String> attributes);
-
- /**
- * Adds eIdentifier, name, surname, and DateOfBirth attributes, loaded by
- * implementation, to get business attributes from some AP.
- *
- * @param attrList the requested attribute list
- *
- * @return the requested attribute list and the new attributes added
- * (eIdentifier, name, surname, and DateOfBirth).
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList addAPMandatoryAttributes(final IPersonalAttributeList attrList);
-
- /**
- * Removes from attribute list the given list of attributes.
- *
- * @param attrList the requested attribute list
- * @param attributes the list of attributes to remove.
- *
- * @return the requested attribute list and the attributes removed.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList removeAPMandatoryAttributes(final IPersonalAttributeList attrList, final List<String> attributes);
-
- /**
- * Removes from attribute list the given list of attributes and change
- * attributes status if attribute was optional in the request.
- *
- * @param attrList the requested attribute list
- * @param attributes the map of attributes (attribute name, mandatory/optional) to remove.
- *
- * @return the requested attribute list and the attributes removed
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList removeAPMandatoryAttributes(IPersonalAttributeList attrList, Map<String, Boolean> attributes);
-
- /**
- * Checks if mandate attribute exist in the requested Attribute List. Power
- * attribute name to lookup is loaded by implementation.
- *
- * @param attrList the requested attribute list.
- *
- * @return true if mandate attribute exists or false otherwise.
- *
- * @see IPersonalAttributeList
- */
- boolean hasPowerAttribute(final IPersonalAttributeList attrList);
-
- /**
- * Checks if attribute name was requested and has value.
- *
- * @param attrList the requested attribute list.
- * @param attrName the attribute name to lookup for .
- *
- * @return true if attribute was requested and has value or false otherwise.
- *
- * @see IPersonalAttributeList
- */
- boolean hasAttributeValue(final IPersonalAttributeList attrList, final String attrName);
-
- /**
- * Checks if attribute has value.
- *
- * @param attr the attribute to check.
- *
- * @return true if has value;
- *
- * @see PersonalAttribute
- */
- boolean hasAttributeValue(final PersonalAttribute attr);
-
- /**
- * Gets a map (attribute name, attribute isRequired) of attributes added to attribute list.
- *
- * @return the Map of attributes added and if is required to attribute list.
- */
- Map<String, Boolean> getNormalAttributesAdded();
-
-} \ No newline at end of file
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeProvidersMap.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeProvidersMap.java.svn-base
deleted file mode 100644
index 733399ca3..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IAttributeProvidersMap.java.svn-base
+++ /dev/null
@@ -1,82 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.util.Iterator;
-
-/**
- * Interface for Attributes Providers map.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: 1.00 $, $Date: 2013-09-20 $
- */
-public interface IAttributeProvidersMap {
-
- /**
- * Returns the object associated the the given key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return The object associated the the given key.
- */
- IPersonalAttributeList get(AttributeSource key);
-
- /**
- * Associates a key to a value, and inserts them in the session object.
- *
- * @param key with which the specified value is to be associated.
- * @param value to be associated with the specified key.
- *
- * @return previous value associated with specified key, or null if there was
- * no mapping for key. A null return can also indicate that the map
- * previously associated null with the specified key.
- */
- Object put(AttributeSource key, IPersonalAttributeList value);
-
- /**
- * Removes the mapping for this key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return previous value associated with specified key, or null if there was
- * no mapping for key. A null return can also indicate that the map
- * previously associated null with the specified key.
- */
- IPersonalAttributeList remove(AttributeSource key);
-
- /**
- * Returns the number of key-value mappings in this map.
- *
- * @return the number of key-value mappings in this map.
- */
- int size();
-
- /**
- * Returns true if this map contains a mapping for the specified key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return true if this map contains a mapping for the specified key.
- */
- boolean containsKey(AttributeSource key);
-
- /**
- * Removes all mappings from this map.
- */
- void clear();
-
- /**
- * Returns true if this map contains no key-value mappings.
- *
- * @return true if this map contains no key-value mappings.
- */
- boolean isEmpty();
-
- /**
- * Returns an Iterator of the keys contained in this map. The implementation must
- * take care in order for the Iterator to have predictable order of the returned
- * keys.
- *
- * @return an iterator of the keys contained in this map
- */
- Iterator<AttributeSource> keyIterator();
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IPersonalAttributeList.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IPersonalAttributeList.java.svn-base
deleted file mode 100644
index b24c915c0..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IPersonalAttributeList.java.svn-base
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Interface for {@link PersonalAttributeList}.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.16 $, $Date: 2010-11-17 05:15:28 $
- *
- * @see PersonalAttribute
- */
-@SuppressWarnings("PMD.CloneMethodMustImplementCloneable")
-public interface IPersonalAttributeList extends Iterable<PersonalAttribute>,
- Cloneable {
-
- /**
- * Associates the specified value with the specified key in this Personal
- * Attribute List.
- *
- * @param key with which the specified value is to be associated.
- * @param value to be associated with the specified key.
- *
- * @return the previous value associated with key, or null if there was no
- * mapping for key.
- *
- * @see PersonalAttribute
- */
- PersonalAttribute put(String key, PersonalAttribute value);
-
- /**
- * Returns the value to which the specified key is mapped, or null if this map
- * contains no mapping for the key.
- *
- * @param key whose associated value is to be returned.
- *
- * @return The value to which the specified key is mapped, or null if this map
- * contains no mapping for the key.
- *
- * @see PersonalAttribute
- */
- PersonalAttribute get(Object key);
-
- /**
- * Adds to the PersonalAttributeList the given PersonalAttribute. It sets the
- * attribute name as the key to the attribute value.
- *
- * @param value PersonalAttribute to add to the PersonalAttributeList
- */
- void add(PersonalAttribute value);
-
- /**
- * Get the size of the Personal Attribute List.
- *
- * @return size of the Personal Attribute List.
- */
- int size();
-
- /**
- * Checks if the Personal Attribute List contains the given key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return true if the Personal Attribute List contains the given key, false
- * otherwise.
- */
- boolean containsKey(Object key);
-
- /**
- * Getter for the iterator of the Personal Attribute List values.
- *
- * @return The iterator for the Personal Attribute List values.
- *
- * @see PersonalAttribute
- */
- Iterator<PersonalAttribute> iterator();
-
- /**
- * Creates a Personal Attribute List from a String representing an Attribute
- * List.
- *
- * @param attrList String Object representing the attribute list.
- */
- void populate(String attrList);
-
- /**
- * Removes the mapping for this key from this map if present.
- *
- * @param key key whose mapping is to be removed from the map.
- * @return previous value associated with specified key, or <tt>null</tt> if
- * there was no mapping for key. A <tt>null</tt> return can also
- * indicate that the map previously associated <tt>null</tt> with the
- * specified key.
- */
- PersonalAttribute remove(Object key);
-
- /**
- * Returns a collection view of the values contained in this map. The
- * collection is backed by the map, so changes to the map are reflected in the
- * collection, and vice-versa. The collection supports element removal, which
- * removes the corresponding mapping from this map, via the
- * <tt>Iterator.remove</tt>, <tt>Collection.remove</tt>, <tt>removeAll</tt>,
- * <tt>retainAll</tt>, and <tt>clear</tt> operations. It does not support the
- * <tt>add</tt> or <tt>addAll</tt> operations.
- *
- * @return a collection view of the values contained in this map.
- */
- Collection<PersonalAttribute> values();
-
- /**
- * Returns a {@link Set} view of the keys contained in this map.
- * The set is backed by the map, so changes to the map are
- * reflected in the set, and vice-versa. If the map is modified
- * while an iteration over the set is in progress (except through
- * the iterator's own <tt>remove</tt> operation), the results of
- * the iteration are undefined. The set supports element removal,
- * which removes the corresponding mapping from the map, via the
- * <tt>Iterator.remove</tt>, <tt>Set.remove</tt>,
- * <tt>removeAll</tt>, <tt>retainAll</tt>, and <tt>clear</tt>
- * operations. It does not support the <tt>add</tt> or <tt>addAll</tt>
- * operations.
- *
- * @return a set view of the keys contained in this map
- */
- Set<String> keySet();
-
-
- /**
- * Returns a IPersonalAttributeList of the complex attributes.
- *
- * @return an IPersonalAttributeList of the complex attributes.
- */
- IPersonalAttributeList getComplexAttributes();
-
- /**
- * Returns a IPersonalAttributeList of the simple value attributes.
- *
- * @return an IPersonalAttributeList of the simple value attributes.
- */
- IPersonalAttributeList getSimpleValueAttributes();
-
- /**
- * Returns a IPersonalAttributeList of the mandatory attributes in this map.
- *
- * @return an IPersonalAttributeList of the mandatory attributes contained in this map.
- */
- IPersonalAttributeList getMandatoryAttributes();
-
- /**
- * Returns a IPersonalAttributeList of the optional attributes in this map.
- *
- * @return an IPersonalAttributeList of the optional attributes contained in this map.
- */
- IPersonalAttributeList getOptionalAttributes();
-
- /**
- * Returns <tt>true</tt> if this map contains no key-value mappings.
- *
- * @return <tt>true</tt> if this map contains no key-value mappings.
- */
- boolean isEmpty();
-
- /**
- * Returns <tt>true</tt> if this map contains at least one element that doesn't have value.
- *
- * @return <tt>true</tt> if this map contains at least one element that doesn't have value.
- */
- boolean hasMissingValues();
-
- /**
- * Returns a copy of this <tt>IPersonalAttributeList</tt> instance.
- *
- * @return The copy of this IPersonalAttributeList.
- */
- Object clone() throws CloneNotSupportedException;
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkLogger.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkLogger.java.svn-base
deleted file mode 100644
index 33eb618f0..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkLogger.java.svn-base
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * Interface for stork logging.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.10 $, $Date: 2011-02-17 22:44:34 $
- */
-public interface IStorkLogger {
-
- /**
- * Getter for SpApplication.
- *
- * @return The SpApplication value.
- */
- String getSpApplication();
-
- /**
- * Setter for SpApplication.
- *
- * @param spApplication The SP Application.
- */
- void setSpApplication(String spApplication);
-
- /**
- * Getter for ProviderName.
- *
- * @return The ProviderName value.
- */
- String getProviderName();
-
- /**
- * Setter for ProviderName.
- *
- * @param providerName The provider name.
- */
- void setProviderName(String providerName);
-
- /**
- *
- * Getter for Origin.
- *
- * @return The Origin value.
- *
- */
- String getOrigin();
-
- /**
- * Setter for Origin.
- *
- * @param origin The origin.
- */
- void setOrigin(String origin);
-
- /**
- *
- * Getter for QAA Level.
- *
- * @return The QAA Level value.
- *
- */
- int getQaaLevel();
-
- /**
- * Setter for QAA Level.
- *
- * @param qaaLevel The qaa level.
- */
- void setQaaLevel(int qaaLevel);
-
- /**
- *
- * Getter for timestamp.
- *
- * @return The timestamp value.
- *
- */
- String getTimestamp();
-
- /**
- * Setter for timestamp.
- *
- * @param timestamp The request's timestamp.
- */
- void setTimestamp(String timestamp);
-
- /**
- * Getter for InResponseTo.
- *
- * @return The InResponseTo value.
- */
- String getInResponseTo();
-
- /**
- * Setter for InResponseTo.
- *
- * @param inResponseTo The Saml's response id.
- */
- void setInResponseTo(String inResponseTo);
-
- /**
- * Getter for InResponseToSPReq.
- *
- * @return The InResponseToSPReq value.
- */
- String getInResponseToSPReq();
-
- /**
- * Setter for InResponseToSPRequ.
- *
- * @param inResponseToSPReq The Saml's response id.
- */
- void setInResponseToSPReq(String inResponseToSPReq);
-
- /**
- * Getter for opType.
- *
- * @return The opType value.
- */
- String getOpType();
-
- /**
- * Setter for opType.
- *
- * @param opType The operation type.
- */
- void setOpType(String opType);
-
- /**
- * Getter for destination.
- *
- * @return The destination value.
- */
- String getDestination();
-
- /**
- * Setter for destinationIp.
- *
- * @param destination The remote IP.
- */
- void setDestination(String destination);
-
- /**
- * Getter for message or assertion consumer.
- *
- * @return The message or assertion consumer.
- */
- String getMessage();
-
- /**
- * Setter for message or assertion consumer.
- *
- * @param message or assertion consumer.
- */
- void setMessage(String message);
-
- /**
- * Getter for country.
- *
- * @return The country value.
- */
- String getCountry();
-
- /**
- * Setter for country.
- *
- * @param country The country.
- */
- void setCountry(String country);
-
- /**
- * Getter for samlHash.
- *
- * @return The samlHash value.
- */
- byte[] getSamlHash();
-
- /**
- * Setter for samlHash.
- *
- * @param samlHash the encrypted SAML token
- */
- void setSamlHash(byte[] samlHash);
-
- /**
- * Getter for msgId.
- *
- * @return the msgId
- */
- String getMsgId();
-
- /**
- * Setter for msgId.
- *
- * @param msgId the ID of the originator of this message
- */
- void setMsgId(String msgId);
-
- /**
- * Getter for sPMsgId.
- *
- * @return the sPMsgId
- */
- String getSPMsgId();
-
- /**
- * Setter for sPMsgId.
- *
- * @param sPMsgId the ID of the originator of this message
- */
- void setSPMsgId(String sPMsgId);
-
- /**
- * The format of the returned String must be the following:
- * "requestCounter#ddMMMyyyykk:mm:ss#opType#originIp#originName
- * #destinationIp#destinationName#samlHash#[originatorName#msgId#]"
- *
- * The values enclosed in '[]' only apply when logging responses.
- *
- * @return {@inheritDoc}
- */
- @Override
- String toString();
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkSession.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkSession.java.svn-base
deleted file mode 100644
index f38b41838..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/IStorkSession.java.svn-base
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * Interface for stork session.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.9 $, $Date: 2010-11-17 05:15:28 $
- */
-public interface IStorkSession {
-
- /**
- * Returns the object associated the the given key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return The object associated the the given key.
- */
- Object get(Object key);
-
- /**
- * Associates a key to a value, and inserts them in the session object.
- *
- * @param key with which the specified value is to be associated.
- * @param value to be associated with the specified key.
- *
- * @return previous value associated with specified key, or null if there was
- * no mapping for key. A null return can also indicate that the map
- * previously associated null with the specified key.
- */
- Object put(String key, Object value);
-
- /**
- * Removes the mapping for this key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return previous value associated with specified key, or null if there was
- * no mapping for key. A null return can also indicate that the map
- * previously associated null with the specified key.
- */
- Object remove(Object key);
-
- /**
- * Returns the number of key-value mappings in this map.
- *
- * @return the number of key-value mappings in this map.
- */
- int size();
-
- /**
- * Returns true if this map contains a mapping for the specified key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return true if this map contains a mapping for the specified key.
- */
- boolean containsKey(Object key);
-
- /**
- * Removes all mappings from this map.
- */
- void clear();
-
- /**
- * Returns true if this map contains no key-value mappings.
- *
- * @return true if this map contains no key-value mappings.
- */
- boolean isEmpty();
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Linker.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Linker.java.svn-base
deleted file mode 100644
index 6e7c891da..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/Linker.java.svn-base
+++ /dev/null
@@ -1,316 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-
-/**
- * This class is a bean used to store the information of Attribute Providers, the Attribute
- * List to be requested, the Assertions returned by the Attribute Providers and the values
- * that each Attribute has. This information along with the current status of the Linker (the
- * attribute providers that were queried and the remaining providers) is used by the PEPS
- * actions in order to complete the Attribute gathering.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: 1.50 $, $Date: 2013-11-28 $
- */
-public final class Linker implements Serializable {
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = -3268006381745987237L;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(Linker.class.getName());
-
- /**
- * Attributes Providers map.
- */
- private IAttributeProvidersMap attributeProvidersMap;
-
- /**
- * Assertion map.
- */
- private LinkedHashMap<AttributeSource, STORKAttrQueryResponse> assertions;
-
- /**
- * The current index of local (domestic) Attribute Providers.
- */
- private int localIndex;
-
- /**
- * The current index of remote (foreign) Attribute Providers - countries.
- */
- private int remoteIndex;
-
- /**
- * Constructs an empty Linker object.
- */
- public Linker() {
- localIndex = 0;
- remoteIndex = 0;
-
- assertions = new LinkedHashMap<AttributeSource, STORKAttrQueryResponse>();
- }
-
- /**
- * Based on the internal state of the Linker it returns the next local Attribute Source
- *
- * @return The next Attribute Source or null if not found
- *
- * @see AttributeSource
- */
- public AttributeSource getNextLocalProvider() {
- Iterator<AttributeSource> iterator;
- AttributeSource source, found;
- int curIndex = 0;
-
- found = null;
-
- if ( attributeProvidersMap!=null && !attributeProvidersMap.isEmpty() ) {
- iterator = attributeProvidersMap.keyIterator();
- while (iterator.hasNext()) {
- source = iterator.next();
-
- if ( source.getSourceType()==AttributeSource.SOURCE_LOCAL_APROVIDER ) {
- if ( curIndex>=localIndex ) {
- found = source;
-
- break;
- }
-
- curIndex++;
- }
- }
- }
-
- return found;
- }
-
- /**
- * Based on the internal state of the Linker it returns the next remote Attribute Source
- *
- * @return The next Attribute Source or null if not found
- *
- * @see AttributeSource
- */
- public AttributeSource getNextRemoteProvider() {
- Iterator<AttributeSource> iterator;
- AttributeSource source, found;
- int curIndex = 0;
-
- found = null;
-
- if ( attributeProvidersMap !=null && !attributeProvidersMap.isEmpty() ) {
- iterator = attributeProvidersMap.keyIterator();
- while (iterator.hasNext()) {
- source = iterator.next();
-
- if ( source.getSourceType()==AttributeSource.SOURCE_REMOTE_COUNTRY ) {
- if ( curIndex>=remoteIndex ) {
- found = source;
-
- break;
- }
-
- curIndex++;
- }
- }
- }
-
- return found;
- }
-
- /**
- * It updates the Linker with the values returned by the Attribute Source. It also advances
- * to the next index in order to mark this attribute source as completed.
- *
- * @param source The Attribute Source that was queried for attribute values.
- * @param attrResponse The attrResponse returned by the Attribute Source that contains the attribute values.
- *
- * @see AttributeSource, STORKAttrQueryResponse
- */
- public void setProviderReponse(AttributeSource source, STORKAttrQueryResponse attrResponse) {
- if ( source.getSourceType()==AttributeSource.SOURCE_REMOTE_COUNTRY )
- remoteIndex++;
- else
- localIndex++;
-
- //Assertion storage
- this.assertions.put(source, attrResponse);
-
- this.attributeProvidersMap.put(source, attrResponse.getPersonalAttributeList());
- //this.attributeProvidersMap.put(source, attrResponse.getTotalPersonalAttributeList());
- }
-
- /**
- * Reset the internal state of the local Attribute Source in order to start over.
- */
- public void resetLocalIndex() {
- localIndex = 0;
- }
-
- /**
- * Reset the internal state of the remote Attribute Source in order to start over.
- */
- public void resetRemoteIndex() {
- remoteIndex = 0;
- }
-
- /**
- * Setter for attributeProvidersMap.
- *
- * @param attributeProvidersMap The attributeProvidersMap to set.
- */
- public void setAttributeProvidersMap(IAttributeProvidersMap attributeProvidersMap) {
- this.attributeProvidersMap = attributeProvidersMap;
- }
-
- /**
- * Getter for attributeProvidersMap.
- *
- * @return attributeProvidersMap
- */
- public IAttributeProvidersMap getAttributeProvidersMap() {
- return attributeProvidersMap;
- }
-
- /**
- * Returns the Personal Attribute list of the provided Attribute Source.
- *
- * @param source The attributeSource in reference
- *
- * @return The IPersonalAttributeList assosiated with this source or null if empty
- *
- * @see IPersonalAttributeList
- */
- public IPersonalAttributeList getProviderAttributes(AttributeSource source) {
- if ( attributeProvidersMap.containsKey(source) )
- return attributeProvidersMap.get(source);
- else
- return null;
- }
-
- /**
- * Returns the merged Personal Attribute list from all the Attribute Sources.
- *
- * @return The IPersonalAttributeList merged Personal Attribute list or null if empty
- *
- * @see IPersonalAttributeList
- */
- public IPersonalAttributeList getAllAttributes() {
- Iterator<AttributeSource> iterator;
- AttributeSource source;
- IPersonalAttributeList list, merged;
-
- merged = null;
-
- if ( attributeProvidersMap !=null && !attributeProvidersMap.isEmpty() ) {
- iterator = attributeProvidersMap.keyIterator();
-
- merged = new PersonalAttributeList();
- while (iterator.hasNext()) {
- source = iterator.next();
- list = this.getProviderAttributes(source);
-
- for (final PersonalAttribute pa : list) {
- merged.add(pa);
- }
- }
- }
-
- return merged;
- }
-
- /**
- * Returns a List with all the assertions gathered by the AAS-PEPS module
- * returned both by local APs or remote A-PEPS.
- *
- * @return The assertions returned from the APs and A-PEPS
- */
- public List<STORKAttrQueryResponse> getAttrQueryResponseList() {
- List<STORKAttrQueryResponse> originalAssertions;
-
- originalAssertions = new ArrayList<STORKAttrQueryResponse>();
-
- //Gather all assertions
- for (STORKAttrQueryResponse element : this.assertions.values()) {
- originalAssertions.add(element);
- }
-
- return originalAssertions;
- }
-
- /**
- * Checks the internal state of the Linker and if all Attribute Sources where visited
- * returns true, otherwise it returns false. So if you go directly from AtPLinkerAction
- * to MoreAttributesAction the call will have, since the method setProviderReponse
- * was not executed from every Attribute Source.
- *
- * @return true if everything is OK, false otherwise
- */
- public boolean isComplete() {
- boolean outcome = false;
-
- LOG.debug("Check if linkder is complete: R[" + remoteIndex + "], L[" + localIndex + "], S[" + attributeProvidersMap.size() + "]");
- if ( attributeProvidersMap !=null && !attributeProvidersMap.isEmpty() ) {
- if ( (remoteIndex + localIndex)==attributeProvidersMap.size() )
- outcome = true;
- }
- else {
- outcome = true;
- }
-
- return outcome;
- }
-
- /**
- * Merge the two Linker objects.
- *
- * @param previous The other Linker object to merge with this one.
- */
- public void mergeWith(Linker previous) {
- //BEFORE
- if ( LOG.isDebugEnabled() ) {
- LOG.debug("The attributeProvidersMap from the current object.");
- ((AttributeProvidersMap)this.attributeProvidersMap).trace();
- LOG.debug("The attributeProvidersMap from the provided object.");
- ((AttributeProvidersMap)previous.getAttributeProvidersMap()).trace();
- }
-
- IAttributeProvidersMap map = previous.getAttributeProvidersMap();
- Iterator<AttributeSource> items = map.keyIterator();
- while( items.hasNext() ) {
- AttributeSource item = items.next();
- IPersonalAttributeList pal = map.get(item);
-
- if ( this.attributeProvidersMap.containsKey(item) ) {
- IPersonalAttributeList new_pal = this.attributeProvidersMap.get(item);
-
- for(PersonalAttribute pa : pal)
- new_pal.add(pa);
- }
- else {
- if ( item.getSourceType()==AttributeSource.SOURCE_REMOTE_COUNTRY )
- remoteIndex++;
- else
- localIndex++;
-
- this.attributeProvidersMap.put(item, pal);
- }
- }
-
- //AFTER
- if ( LOG.isDebugEnabled() ) {
- LOG.debug("The attributeProvidersMap after the merge.");
- ((AttributeProvidersMap)this.attributeProvidersMap).trace();
- }
- }
-} \ No newline at end of file
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSErrors.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSErrors.java.svn-base
deleted file mode 100644
index 5da9ba494..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSErrors.java.svn-base
+++ /dev/null
@@ -1,392 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * This enum class contains all the STORK PEPS, Commons and Specific errors
- * constant identifiers.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.10 $, $Date: 2011-02-17 22:44:34 $
- */
-public enum PEPSErrors {
-
- /**
- * Represents the 'authenticationFailed' constant error identifier.
- */
- AUTHENTICATION_FAILED_ERROR("authenticationFailed"),
- /**
- * Represents the 'spCountrySelector.errorCreatingSAML' constant error
- * identifier.
- */
- SP_COUNTRY_SELECTOR_ERROR_CREATE_SAML("spCountrySelector.errorCreatingSAML"),
- /**
- * Represents the 'spCountrySelector.destNull' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_DESTNULL("spCountrySelector.destNull"),
- /**
- * Represents the 'spCountrySelector.invalidAttr' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_ATTR("spCountrySelector.invalidAttr"),
- /**
- * Represents the 'spCountrySelector.invalidProviderName' constant error
- * identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_PROVIDER_NAME(
- "spCountrySelector.invalidProviderName"),
- /**
- * Represents the 'spCountrySelector.invalidQaaSPid' constant error
- * identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_QAASPID("spCountrySelector.invalidQaaSPid"),
- /**
- * Represents the 'spCountrySelector.invalidSpId' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_SPID("spCountrySelector.invalidSpId"),
- /**
- * Represents the 'spCountrySelector.invalidSPQAA' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_SPQAA("spCountrySelector.invalidSPQAA"),
- /**
- * Represents the 'spCountrySelector.invalidSpURL' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_SPURL("spCountrySelector.invalidSpURL"),
- /**
- * Represents the 'spCountrySelector.spNotAllowed' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_SPNOTALLOWED("spCountrySelector.spNotAllowed"),
-
- /**
- * Represents the 'sProviderAction.errorCreatingSAML' constant error
- * identifier.
- */
- SPROVIDER_SELECTOR_ERROR_CREATE_SAML("sProviderAction.errorCreatingSAML"),
- /**
- * Represents the 'sProviderAction.attr' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_ATTR("sProviderAction.invalidAttr"),
- /**
- * Represents the 'sProviderAction.country' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_COUNTRY("sProviderAction.invalidCountry"),
- /**
- * Represents the 'sProviderAction.relayState' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_RELAY_STATE("sProviderAction.invalidRelayState"),
- /**
- * Represents the 'sProviderAction.saml' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SAML("sProviderAction.invalidSaml"),
- /**
- * Represents the 'sProviderAction.spAlias' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPALIAS("sProviderAction.invalidSPAlias"),
- /**
- * Represents the 'sProviderAction.spDomain' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPDOMAIN("sProviderAction.invalidSPDomain"),
- /**
- * Represents the 'sProviderAction.spId' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPID("sProviderAction.invalidSPId"),
- /**
- * Represents the 'sProviderAction.spQAA' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPQAA("sProviderAction.invalidSPQAA"),
- /**
- * Represents the 'sProviderAction.spQAAId' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPQAAID("sProviderAction.invalidSPQAAId"),
- /**
- * Represents the 'sProviderAction.spRedirect' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPREDIRECT("sProviderAction.invalidSPRedirect"),
- /**
- * Represents the 'sPPowerValidationAction.invalidSPPVAttrList' constant error identifier.
- */
- SPPOWERVALIDATION_SELECTOR_INVALID_SP_PV_ATTR_LIST("sPPowerValidationAction.invalidSPPVAttrList"),
-
- /**
- * Represents the 'sProviderAction.invalidSPProviderName' constant error
- * identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SP_PROVIDERNAME(
- "sProviderAction.invalidSPProviderName"),
- /**
- * Represents the 'sProviderAction.spNotAllowed' constant error identifier.
- */
- SPROVIDER_SELECTOR_SPNOTALLOWED("sProviderAction.spNotAllowed"),
-
-
- /**
- * Represents the 'internalError' constant error identifier.
- */
- INTERNAL_ERROR("internalError"),
-
- /**
- * Represents the 'colleagueRequest.attrNull' constant error identifier.
- */
- COLLEAGUE_REQ_ATTR_NULL("colleagueRequest.attrNull"),
- /**
- * Represents the 'colleagueRequest.errorCreatingSAML' constant error
- * identifier.
- */
- COLLEAGUE_REQ_ERROR_CREATE_SAML("colleagueRequest.errorCreatingSAML"),
- /**
- * Represents the 'colleagueRequest.invalidCountryCode' constant error
- * identifier.
- */
- COLLEAGUE_REQ_INVALID_COUNTRYCODE("colleagueRequest.invalidCountryCode"),
- /**
- * Represents the 'colleagueRequest.invalidDestUrl' constant error identifier.
- */
- COLLEAGUE_REQ_INVALID_DEST_URL("colleagueRequest.invalidDestUrl"),
- /**
- * Represents the 'colleagueRequest.invalidQaa' constant error identifier.
- */
- COLLEAGUE_REQ_INVALID_QAA("colleagueRequest.invalidQaa"),
- /**
- * Represents the 'colleagueRequest.invalidRedirect' constant error
- * identifier.
- */
- COLLEAGUE_REQ_INVALID_REDIRECT("colleagueRequest.invalidRedirect"),
- /**
- * Represents the 'colleagueRequest.invalidSAML' constant error identifier.
- */
- COLLEAGUE_REQ_INVALID_SAML("colleagueRequest.invalidSAML"),
-
- /**
- * Represents the 'colleaguePVRequest.invalidPVAttrList' constant error identifier.
- */
- COLLEAGUE_PV_REQ_INVALID_PV_ATTR_LIST("colleaguePVRequest.invalidPVAttrList"),
-
-
- /**
- * Represents the 'cpepsRedirectUrl' constant error identifier.
- */
- CPEPS_REDIRECT_URL("cpepsRedirectUrl"),
- /**
- * Represents the 'spepsRedirectUrl' constant error identifier.
- */
- SPEPS_REDIRECT_URL("spepsRedirectUrl"),
- /**
- * Represents the 'sProviderAction.invCountry' constant error identifier.
- */
- SP_ACTION_INV_COUNTRY("sProviderAction.invCountry"),
-
- /**
- * Represents the 'providernameAlias.invalid' constant error identifier.
- */
- PROVIDER_ALIAS_INVALID("providernameAlias.invalid"),
-
-
- /**
- * Represents the 'cPeps.attrNull' constant error identifier.
- */
- CPEPS_ATTR_NULL("cPeps.attrNull"),
-
- /**
- * Represents the 'colleagueResponse.invalidSAML' constant error identifier.
- */
- COLLEAGUE_RESP_INVALID_SAML("colleagueResponse.invalidSAML"),
-
- /**
- * Represents the 'citizenNoConsent.mandatory' constant error identifier.
- */
- CITIZEN_NO_CONSENT_MANDATORY("citizenNoConsent.mandatory"),
- /**
- * Represents the 'citizenResponse.mandatory' constant error identifier.
- */
- CITIZEN_RESPONSE_MANDATORY("citizenResponse.mandatory"),
- /**
- * Represents the 'attVerification.mandatory' constant error identifier.
- */
- ATT_VERIFICATION_MANDATORY("attVerification.mandatory"),
- /**
- * Represents the 'attrValue.verification' constant error identifier.
- */
- ATTR_VALUE_VERIFICATION("attrValue.verification"),
-
- /**
- * Represents the 'audienceRestrictionError' constant error identifier.
- */
- AUDIENCE_RESTRICTION("audienceRestrictionError"),
- /**
- * Represents the 'auRequestIdError' constant error identifier.
- */
- AU_REQUEST_ID("auRequestIdError"),
- /**
- * Represents the 'domain' constant error identifier.
- */
- DOMAIN("domain"),
- /**
- * Represents the 'hash.error' constant error identifier.
- */
- HASH_ERROR("hash.error"),
- /**
- * Represents the 'invalidAttributeList' constant error identifier.
- */
- INVALID_ATTRIBUTE_LIST("invalidAttributeList"),
- /**
- * Represents the 'invalidAttributeValue' constant error identifier.
- */
- INVALID_ATTRIBUTE_VALUE("invalidAttributeValue"),
- /**
- * Represents the 'qaaLevel' constant error identifier.
- */
- QAALEVEL("qaaLevel"),
- /**
- * Represents the 'requests' constant error identifier.
- */
- REQUESTS("requests"),
- /**
- * Represents the 'SPSAMLRequest' constant error identifier.
- */
- SP_SAML_REQUEST("SPSAMLRequest"),
- /**
- * Represents the 'spepsSAMLRequest' constant error identifier.
- */
- SPEPS_SAML_REQUEST("spepsSAMLRequest"),
- /**
- * Represents the 'IdPSAMLResponse' constant error identifier.
- */
- IDP_SAML_RESPONSE("IdPSAMLResponse"),
- /**
- * Represents the 'cpepsSAMLResponse' constant error identifier.
- */
- CPEPS_SAML_RESPONSE("cpepsSAMLResponse"),
- /**
- * Represents the 'cpepsSAMLResponse' constant error identifier.
- */
- SPEPS_SAML_RESPONSE("spepsSAMLResponse"),
- /**
- * Represents the 'session' constant error identifier.
- */
- SESSION("session"),
- /**
- * Represents the 'invalid.session' constant error identifier.
- */
- INVALID_SESSION("invalid.session"),
- /**
- * Represents the 'invalid.sessionId' constant error identifier.
- */
- INVALID_SESSION_ID("invalid.sessionId"),
- /**
- * Represents the 'missing.sessionId' constant error identifier.
- */
- MISSING_SESSION_ID("sessionError"),
- /**
- * Represents the 'missing.mandate' constant error identifier.
- */
- MISSING_MANDATE("missing.mandate"),
- /**
- * Represents the 'AtPSAMLResponse' constant error identifier.
- */
- ATP_SAML_RESPONSE("AtPSAMLResponse"),
-
- /**
- * Represents the 'AtPSAMLResponse' constant error identifier.
- */
- ATP_RESPONSE_ERROR("atp.response.error"),
-
- /**
- * Represents the 'apepsSAMLRequest' constant error identifier.
- */
- APEPS_SAML_REQUEST("apepsSAMLRequest"),
-
- /**
- * Represents the 'apepsSAMLResponse' constant error identifier.
- */
- APEPS_SAML_RESPONSE("apepsSAMLResponse"),
-
- /**
- * Represents the 'invalid.apepsRedirectUrl' constant error identifier.
- */
- INVALID_APEPS_REDIRECT_URL("invalid.apepsRedirectUrl"),
-
- /**
- * Represents the 'invalid.apepsCallbackUrl' constant error identifier.
- */
- INVALID_APEPS_CALLBACK_URL("invalid.apepsCallbackUrl"),
-
- /**
- * Represents the 'colleagueAttributeRequest.invalidSAML' constant error identifier.
- */
- COLLEAGUE_ATTR_REQ_INVALID_SAML("colleagueAttributeRequest.invalidSAML");
-
- /**
- * Represents the constant's value.
- */
- private String error;
-
- /**
- * Solo Constructor.
- *
- * @param nError The Constant error value.
- */
- PEPSErrors(final String nError) {
- this.error = nError;
- }
-
- /**
- * Construct the errorCode Constant value.
- *
- * @return The errorCode Constant.
- */
- public String errorCode() {
- return error + ".code";
- }
-
- /**
- * Construct the errorCode Constant value with the given code text.
- *
- * @param text the code text to append to the constant.
- *
- * @return The errorCode Constant for the given code text.
- */
- public String errorCode(final String text) {
- return error + "." + text + ".code";
- }
-
- /**
- * Construct the errorMessage constant value.
- *
- * @return The errorMessage constant.
- */
- public String errorMessage() {
- return error + ".message";
- }
-
- /**
- * Construct the errorMessage Constant value with the given message text.
- *
- * @param text the message text to append to the constant.
- *
- * @return The errorMessage Constant for the given text.
- */
- public String errorMessage(final String text) {
- return error + "." + text + ".message";
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
- return error;
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSParameters.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSParameters.java.svn-base
deleted file mode 100644
index 15c2ae552..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSParameters.java.svn-base
+++ /dev/null
@@ -1,625 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * This enum class contains all the STORK PEPS, Commons and Specific Parameters.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.13 $, $Date: 2011-07-07 20:48:45 $
- */
-public enum PEPSParameters {
-
- /**
- * Represents the 'apId' parameter constant.
- */
- AP_ID("apId"),
- /**
- * Represents the 'apUrl' parameter constant.
- */
- AP_URL("apUrl"),
- /**
- * Represents the 'ap.number' parameter constant.
- */
- AP_NUMBER("ap.number"),
-
- /**
- * Represents the 'assertionConsumerServiceURL' parameter constant.
- */
- ASSERTION_CONSUMER_S_URL("assertionConsumerServiceURL"),
-
- /**
- * Represents the 'auth' parameter constant.
- */
- AUTHENTICATION("auth"),
-
- /**
- * Represents the 'attr' parameter constant.
- */
- ATTRIBUTE("attr"),
- /**
- * Represents the 'attrName' parameter constant.
- */
- ATTRIBUTE_NAME("attrName"),
- /**
- * Represents the 'attrStatus' parameter constant.
- */
- ATTRIBUTE_STATUS("attrStatus"),
- /**
- * Represents the 'attrType' parameter constant.
- */
- ATTRIBUTE_TYPE("attrType"),
- /**
- * Represents the 'attrValue' parameter constant.
- */
- ATTRIBUTE_VALUE("attrValue"),
- /**
- * Represents the 'attrList' parameter constant.
- */
- ATTRIBUTE_LIST("attrList"),
- /**
- * Represents the 'apMandAttrList' parameter constant.
- */
- AP_MANDATORY_ATTRIBUTE_LIST("apMandAttrList"),
- /**
- * Represents the 'attrTuple' parameter constant.
- */
- ATTRIBUTE_TUPLE("attrTuple"),
- /**
- * Represents the 'attribute-missing' parameter constant.
- */
- ATTRIBUTE_MISSING("attribute-missing"),
- /**
- * Represents the 'attributesNotAllowed' parameter constant.
- */
- ATTRIBUTES_NOT_ALLOWED("attributesNotAllowed"),
- /**
- * Represents the 'authnRequest' parameter constant.
- */
- AUTH_REQUEST("authnRequest"),
-
- /**
- * Represents the 'attrValue.number' parameter constant.
- */
- ATTR_VALUE_NUMBER("attrValue.number"),
-
- /**
- * Represents the 'derivation.date.format' parameter constant.
- */
- DERIVATION_DATE_FORMAT("derivation.date.format"),
- /**
- * Represents the 'deriveAttr.number' parameter constant.
- */
- DERIVE_ATTRIBUTE_NUMBER("deriveAttr.number"),
-
- /**
- * Represents the complex attributes parameter constant.
- */
- COMPLEX_ADDRESS_VALUE("canonicalResidenceAddress"),
- COMPLEX_NEWATTRIBUTE_VALUE("newAttribute2"),
- COMPLEX_HASDEGREE_VALUE("hasDegree"),
- COMPLEX_MANDATECONTENT_VALUE("mandateContent"),
- /**
- * Represents the 'consent-type' parameter constant.
- */
- CONSENT_TYPE("consent-type"),
- /**
- * Represents the 'consent-value' parameter constant.
- */
- CONSENT_VALUE("consent-value"),
- /**
- * Represents the 'country' parameter constant.
- */
- COUNTRY("country"),
- /**
- * Represents the 'countryOrigin' parameter constant.
- */
- COUNTRY_ORIGIN("countryOrigin"),
-
- /**
- * Represents the 'cpepsURL' parameter constant.
- */
- CPEPS_URL("cpepsURL"),
- /**
- * Represents the 'callback' parameter constant.
- */
- CPEPS_CALLBACK("callback"),
- /**
- * Represents the 'peps.specificidpredirect.url' parameter constant.
- */
- CPEPS_IDP_CALLBACK_VALUE("peps.specificidpredirect.url"),
- /**
- * Represents the 'peps.specificapredirect.url' parameter constant.
- */
- CPEPS_AP_CALLBACK_VALUE("peps.specificapredirect.url"),
-
- /**
- * Represents the 'errorCode' parameter constant.
- */
- ERROR_CODE("errorCode"),
- /**
- * Represents the 'subCode' parameter constant.
- */
- ERROR_SUBCODE("subCode"),
- /**
- * Represents the 'errorMessage' parameter constant.
- */
- ERROR_MESSAGE("errorMessage"),
- /**
- * Represents the 'errorRedirectUrl' parameter constant.
- */
- ERROR_REDIRECT_URL("errorRedirectUrl"),
-
- /**
- * errorRedirectUrl Represents the 'external-authentication' parameter
- * constant.
- */
- EXTERNAL_AUTH("external-authentication"),
- /**
- * Represents the 'external-ap' parameter constant.
- */
- EXTERNAL_AP("external-ap"),
- /**
- * Represents the 'external-pv' parameter constant.
- */
- EXTERNAL_PV("external-pv"),
- /**
- * Represents the 'external-sig-module' parameter constant.
- */
- EXT_SIG_CREATOR_MOD("external-sig-module"),
-
- /**
- * Represents the 'http-x-forwarded-for' parameter constant.
- */
- HTTP_X_FORWARDED_FOR("http-x-forwarded-for"),
-
- /**
- * Represents the 'idp.url' parameter constant.
- */
- IDP_URL("idp.url"),
- /**
- * Represents the 'internal-authentication' parameter constant.
- */
- INTERNAL_AUTH("internal-authentication"),
- /**
- * Represents the 'internal-ap' parameter constant.
- */
- INTERNAL_AP("internal-ap"),
- /**
- * Represents the 'internal-pv' parameter constant.
- */
- INTERNAL_PV("internal-pv"),
-
- /**
- * Represents the 'samlIssuer' parameter constant.
- */
- ISSUER("samlIssuer"),
- /**
- * Represents the 'samlIssuer.idp' parameter constant.
- */
- ISSUER_IDP("samlIssuer.idp"),
- /**
- * Represents the 'samlIssuer.atp' parameter constant.
- */
- ISSUER_ATP("samlIssuer.atp"),
-
- /**
- * Represents the 'mandatory' parameter constant.
- */
- MANDATORY("mandatory"),
- /**
- * Represents the 'mandatoryAttributeMissing' parameter constant.
- */
- MANDATORY_ATTR_MISSING("mandatoryAttributeMissing"),
- /**
- * Represents the 'mandatoryConsentAttrMissing' parameter constant.
- */
- MANDATORY_CONSENT_MISSING("mandatoryConsentAttrMissing"),
- /**
- * Represents the 'missing-attrs' parameter constant.
- */
- MISSING_ATTRS("missing-attrs"),
- /**
- * Represents the 'no-more-attrs' parameter constant.
- */
- NO_MORE_ATTRS("no-more-attrs"),
-
- /**
- * Represents the 'optional' parameter constant.
- */
- OPTIONAL("optional"),
-
- /**
- * Represents the 'no-consent-type' parameter constant.
- */
- NO_CONSENT_TYPE("no-consent-type"),
- /**
- * Represents the 'no-consent-value' parameter constant.
- */
- NO_CONSENT_VALUE("no-consent-value"),
-
- /**
- * Represents the 'provider.name' parameter constant.
- */
- PROVIDER_NAME_VALUE("providerName"),
- /**
- * Represents the 'cpeps.askconsent' parameter constant.
- */
- PEPS_ASK_CONSENT("cpeps.askconsent"),
- /**
- * Represents the 'cpeps.askconsentvalue' parameter constant.
- */
- PEPS_ASK_CONSENT_VALUE("cpeps.askconsentvalue"),
- /**
- * Represents the 'pepsAuth' parameter constant.
- */
- PEPS_AUTH_CONSENT("pepsAuth"),
- /**
- * Represents the 'validation.bypass' parameter constant.
- */
- PEPS_BYPASS("validation.bypass"),
- /**
- * Represents the 'cpeps.number' parameter constant.
- */
- PEPS_NUMBER("cpeps.number"),
- /**
- * Represents the 'cpeps.specificapredirect.url' parameter constant.
- */
- PEPS_SPECIFIC_URL("cpeps.specificapredirect.url"),
- /**
- * Represents the 'pv.url' parameter constant.
- */
- PV_URL("pv.url"),
-
- /**
- * Represents the 'qaaLevel' parameter constant.
- */
- QAALEVEL("qaaLevel"),
-
- /**
- * Represents the 'speps.redirectUrl' parameter constant.
- */
- SPEPS_REDIRECT_URL("speps.redirectUrl"),
-
- /**
- * Represents the 'sp.redirectUrl' parameter constant.
- */
- SP_REDIRECT_URL("sp.redirectUrl"),
- /**
- * Represents the 'cpeps.redirectUrl' parameter constant.
- */
- CPEPS_REDIRECT_URL("cpeps.redirectUrl"),
- /**
- * Represents the 'RelayState' parameter constant.
- */
- RELAY_STATE("RelayState"),
- /**
- * Represents the 'remoteAddr' parameter constant.
- */
- REMOTE_ADDR("remoteAddr"),
- /**
- * Represents the 'remoteUser' parameter constant.
- */
- REMOTE_USER("remoteUser"),
-
- /**
- * Represents the 'SAMLRequest' parameter constant.
- */
- SAML_REQUEST("SAMLRequest"),
- /**
- * Represents the 'SAMLResponse' parameter constant.
- */
- SAML_RESPONSE("SAMLResponse"),
- /**
- * Represents the 'SAMLFail' parameter constant.
- */
- SAML_TOKEN_FAIL("SAMLFail"),
- /**
- * Represents the 'TokenId' parameter constant.
- */
- SAML_TOKEN_ID("TokenId"),
- /**
- * Represents the 'inResponseTo' parameter constant.
- */
- SAML_IN_RESPONSE_TO("inResponseTo"),
- /**
- * Represents the 'inResponseTo.idp' parameter constant.
- */
- SAML_IN_RESPONSE_TO_IDP("inResponseTo.idp"),
- /**
- * Represents the 'inResponseTo.atp' parameter constant.
- */
- SAML_IN_RESPONSE_TO_ATP("inResponseTo.atp"),
- /**
- * Represents the 'SignatureResponse' parameter constant.
- */
- SIGNATURE_RESPONSE("SignatureResponse"),
-
- /**
- * Represents the 'cPepsSession' parameter constant.
- */
- SESSION_ID_URL("cPepsSession"),
- /**
- * Represents the 'spId' parameter constant.
- */
- SP_ID("spId"),
- /**
- * Represents the 'spQaaLevel' parameter constant.
- */
- SP_QAALEVEL("spQaaLevel"),
- /**
- * Represents the 'spUrl' parameter constant.
- */
- SP_URL("spUrl"),
-
- /**
- * Represents the 'allow.derivation.all' parameter constant.
- */
- SPECIFIC_ALLOW_DERIVATION_ALL("allow.derivation.all"),
- /**
- * Represents the ''allow.unknowns parameter constant.
- */
- SPECIFIC_ALLOW_UNKNOWNS("allow.unknowns"),
- /**
- * Represents the 'derivation.date.separator' parameter constant.
- */
- SPECIFIC_DERIVATION_DATE_SEP("derivation.date.separator"),
- /**
- * Represents the 'derivation.month.position' parameter constant.
- */
- SPECIFIC_DERIVATION_MONTH_POS("derivation.month.position"),
- /**
- * Represents the 'derivation.day.position' parameter constant.
- */
- SPECIFIC_DERIVATION_DAY_POS("derivation.day.position"),
- /**
- * Represents the 'derivation.year.position' parameter constant.
- */
- SPECIFIC_DERIVATION_YEAR_POS("derivation.year.position"),
-
- /**
- * sp.authorized.parameters Represents the '' parameter constant.
- */
- SPEPS_AUTHORIZED("sp.authorized.parameters"),
-
- /**
- * Represents the 'spSector' constant value.
- */
- SPSECTOR("spSector"),
- /**
- * Represents the 'spApplication' constant value.
- */
- SPAPPLICATION("spApplication"),
- /**
- * Represents the 'spCountry' constant value.
- */
- SPCOUNTRY("spCountry"),
- /**
- * Represents the 'spInstitution' constant value.
- */
- SPINSTITUTION("spInstitution"),
- /**
- * Represents the 'storkAttribute.number' parameter constant.
- */
- STORK_ATTRIBUTE_NUMBER("storkAttribute.number"),
- /**
- * Represents the 'storkAttributeValue.number' parameter constant.
- */
- STORK_ATTRIBUTE_VALUE_NUMBER("storkAttributeValue.number"),
-
- /**
- * Represents the 'username' parameter constant.
- */
- USERNAME("username"),
-
- /**
- * Represents the 'tooManyParameters' parameter constant.
- */
- TOO_MANY_PARAMETERS("tooManyParameters"),
- /**
- * Represents the 'validation.active' parameter constant.
- */
- VALIDATION_ACTIVE("validation.active"),
-
- /**
- * Represents the 'x-forwarded-for' parameter constant.
- */
- X_FORWARDED_FOR("x-forwarded-for"),
- /**
- * Represents the 'x-forwarded-host' parameter constant.
- */
- X_FORWARDED_HOST("x-forwarded-host"),
- /**
- * Represents the 'XMLResponse' parameter constant.
- */
- XML_RESPONSE("XMLResponse"),
-
- /**
- * Represents the 'ap-cpeps.number' parameter constant.
- */
- AP_PEPS_NUMBER("ap-cpeps.number"),
-
- /**
- * Represents the 'atp.number' parameter constant.
- */
- ATTRIBUTE_PROVIDER_NUMBER("atp.number"),
-
- /**
- * Represents the 'atn.number' parameter constant.
- */
- ATTRIBUTE_NAME_NUMBER("atn.number"),
-
- /**
- * Represents the 'apLinker' parameter constant.
- */
- AP_LINKER("apLinker"),
-
- /**
- * Represents the 'prevApLinker' parameter constant.
- */
- PREV_AP_LINKER("prevApLinker"),
-
- /**
- * Represents the 'NOSEL' parameter constant (no attribute provider selected).
- */
- AP_NO_SELECTION("NOSEL"),
-
- /**
- * Represents the 'OCSEL' parameter constant (attribute provider in another country).
- */
- AP_OTHER_COUNTRY("OCSEL"),
-
- /**
- * Represents the '_provider' suffix parameter constant.
- */
- AP_PROVIDER_SELECT_SUFFIX("_provider"),
-
- /**
- * Represents the '_country' suffix parameter constant.
- */
- AP_COUNTRY_SELECT_SUFFIX("_country"),
-
- /**
- * Represents the '_name' suffix parameter constant.
- */
- AP_NAME_SELECT_SUFFIX("_name"),
-
- /**
- * Represents the 'next-ap' parameter constant.
- */
- NEXT_AP("next-ap"),
-
- /**
- * Represents the 'next-apeps' parameter constant.
- */
- NEXT_APEPS("next-apeps"),
-
- /**
- * Represents the 'back-to-apeps' parameter constant.
- */
- BACK_TO_APEPS("back-to-apeps"),
-
- /**
- * Represents the 'is-remote-apeps' parameter constant.
- */
- IS_REMOTE_APEPS("is-remote-apeps"),
-
- /**
- * Represents the 'more-attributes' parameter constant.
- */
- MORE_ATTRIBUTES("more-attributes"),
-
- /**
- * Represents the 'attr-filter.number' parameter constant.
- */
- ATTRIBUTES_FILTER_NUMBER("attr-filter.number"),
-
- /**
- * Represents the 'attr-group' parameter constant.
- */
- ATTRIBUTE_GROUPS("attr-group"),
-
- /**
- * Represents the 'all' parameter constant for attribute groups.
- */
- ATTRIBUTE_GROUPS_ALL("all"),
-
- /**
- * Represents the 'none' parameter constant for attribute groups.
- */
- ATTRIBUTE_GROUPS_NONE("none"),
-
- /**
- * Represents the 'atp.url' parameter constant.
- */
- ATP_URL("atp.url"),
- /**
- * Represents the 'apepsURL' parameter constant.
- */
- APEPS_URL("apepsUrl"),
-
- /**
- * Represents the 'apepsCountry' parameter constant.
- */
- APEPS_COUNTRY("apepsCountry"),
-
- /**
- * Represents the 'apepsAuthRequest' parameter constant.
- */
- APEPS_ATTR_REQUEST("apepsAttrRequest"),
-
- /**
- * Represents the 'isApepsRequest' parameter constant.
- */
- APEPS_REQUEST_COMPLETE("apeps-request-complete"),
-
- /**
- * Represents the 'apeps.callbackUrl' parameter constant.
- */
- APEPS_CALLBACK_URL("apeps.callbackUrl"),
- /**
- * Represents the 'attrListMand' parameter constant.
- */
- ATTR_LIST_MAND("attrListMand"),
-
- /**
- * Represents the 'attrListOpt' parameter constant.
- */
- ATTR_LIST_OPT("attrListOpt"),
-
- /**
- * Represents the 'simpleAttrListMand' parameter constant.
- */
- SIMPLE_ATTR_LIST_MAND("simpleAttrListMand"),
-
- /**
- * Represents the 'simpleAttrListOpt' parameter constant.
- */
- SIMPLE_ATTR_LIST_OPT("simpleAttrListOpt"),
-
- /**
- * Represents the 'complexAttrListMand' parameter constant.
- */
- COMPLEX_ATTR_LIST_MAND("complexAttrListMand"),
-
- /**
- * Represents the 'complexAttrListOpt' parameter constant.
- */
- COMPLEX_ATTR_LIST_OPT("complexAttrListOpt");
-
- /**
- * Represents the constant's value.
- */
- private String value;
-
- /**
- * Solo Constructor.
- *
- * @param nValue The Constant value.
- */
- PEPSParameters(final String nValue) {
- this.value = nValue;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
- return value;
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSUtil.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSUtil.java.svn-base
deleted file mode 100644
index 69729c0bb..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSUtil.java.svn-base
+++ /dev/null
@@ -1,391 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.Properties;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
-import org.bouncycastle.crypto.Digest;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.encoders.UrlBase64;
-
-import eu.stork.peps.auth.commons.exceptions.InternalErrorPEPSException;
-import eu.stork.peps.auth.commons.exceptions.InvalidParameterPEPSException;
-
-/**
- * This class holds static helper methods.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.75 $, $Date: 2010-11-23 00:05:35 $
- */
-public final class PEPSUtil {
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(PEPSUtil.class.getName());
-
- /**
- * Configurations object.
- */
- private static Properties configs;
-
- /**
- * Max prefix.
- */
- private static final String MAX_PARAM_PREFIX = "max.";
-
- /**
- * Code prefix to get error code.
- */
- private static final String CODE_PARAM_SUFFIX = ".code";
-
- /**
- * param's size prefix to get max param size.
- */
- private static final String MAX_PARAM_SUFFIX = ".size";
-
- /**
- * Message prefix to get error message.
- */
- private static final String MSG_PARAM_SUFFIX = ".message";
-
- /**
- * Private constructor. Prevents the class from being instantiated.
- */
- private PEPSUtil() {
- // empty constructor
- }
-
- /**
- * Creates a single instance of this class and sets the properties.
- *
- * @param nConfigs The set of available configurations.
- *
- * @return The created PEPSUtil's class.
- */
- public static PEPSUtil createInstance(final Properties nConfigs) {
- if (nConfigs != null) {
- PEPSUtil.configs = nConfigs;
- }
- return new PEPSUtil();
- }
-
- /**
- * Getter for the Properties.
- *
- * @return configs The properties value.
- */
- public Properties getConfigs() {
- return configs;
- }
-
- /**
- * Setter for the Properties.
- *
- * @param nConfigs The new properties value.
- */
- public static void setConfigs(final Properties nConfigs) {
- if (nConfigs != null) {
- PEPSUtil.configs = nConfigs;
- }
- }
-
- /**
- * Returns the identifier of some configuration given a set of configurations
- * and the corresponding configuration key.
- *
- * @param configKey The key that IDs some configuration.
- *
- * @return The configuration String value.
- */
- public static String getConfig(final String configKey) {
- return configs.getProperty(configKey);
- }
-
- /**
- * Validates the input paramValue identified by the paramName.
- *
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- *
- * @return true if the parameter is valid.
- */
- public static boolean isValidParameter(final String paramName,
- final String paramValue) {
-
- final String validationParam =
- PEPSUtil.getConfig(PEPSParameters.VALIDATION_ACTIVE.toString());
- boolean retVal = true;
-
- final String paramConf = MAX_PARAM_PREFIX + paramName + MAX_PARAM_SUFFIX;
-
- if (PEPSValues.TRUE.toString().equals(validationParam)) {
- final String paramSizeStr = PEPSUtil.getConfig(paramConf);
- // Checking if the parameter size exists and if it's numeric
- if (StringUtils.isNumeric(paramSizeStr)) {
- final int maxParamSize = Integer.valueOf(paramSizeStr);
- if (StringUtils.isEmpty(paramValue)
- || paramValue.length() > maxParamSize) {
- retVal = false;
- LOG.warn("Invalid parameter [" + paramName + "] value " + paramValue);
- }
- } else {
- retVal = false;
- LOG.error("Missing " + paramConf
- + " configuration in the pepsUtils.properties configuration file");
- }
- }
- return retVal;
- }
-
- /**
- * Validates the Parameter and throws an exception if an error occurs. Throws
- * an InvalidParameterPEPSException runtime exception if the parameter is
- * invalid.
- *
- * @param className The Class Name that invoked the method.
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- */
- public static void validateParameter(final String className,
- final String paramName, final Object paramValue) {
-
- if (paramValue == null) {
- PEPSUtil.validateParameter(className, paramName, "");
- } else {
- PEPSUtil.validateParameter(className, paramName, paramValue.toString());
- }
- }
-
- /**
- * Validates the Parameters and throws an exception if an error occurs.
- *
- * @param className The Class Name that invoked the method.
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- */
- public static void validateParameter(final String className,
- final String paramName, final String paramValue) {
-
- PEPSUtil.validateParameter(className, paramName, paramValue,
- PEPSUtil.getErrorCode(paramName), PEPSUtil.getErrorMessage(paramName));
- }
-
- /**
- * Validates the Parameters and throws an exception if an error occurs.
- *
- * @param className The Class Name that invoked the method.
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- * @param error The PEPSError to get error code and messages from configs.
- */
- public static void validateParameter(final String className,
- final String paramName, final String paramValue, final PEPSErrors error) {
-
- PEPSUtil.validateParameter(className, paramName, paramValue,
- PEPSUtil.getConfig(error.errorCode()),
- PEPSUtil.getConfig(error.errorMessage()));
- }
-
- /**
- * Validates the HTTP Parameter and throws an exception if an error occurs.
- * Throws an InvalidParameterPEPSException runtime exception if the parameter
- * is invalid.
- *
- * @param className The Class Name that invoked the method.
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- * @param errorCode The error code to include on the exception.
- * @param errorMessage The error message to include on the exception.
- */
- public static void validateParameter(final String className,
- final String paramName, final String paramValue, final String errorCode,
- final String errorMessage) {
-
- if (!isValidParameter(paramName, paramValue)) {
- LOG.warn("Invalid parameter [" + paramName + "] value found at "
- + className);
- throw new InvalidParameterPEPSException(errorCode, errorMessage);
- }
- }
-
- /**
- * Getter for the error code of some given error related to the input param.
- *
- * @param paramName The name of the parameter associated with the error.
- *
- * @return The code of the error.
- */
- private static String getErrorCode(final String paramName) {
- return getConfig(paramName + CODE_PARAM_SUFFIX);
- }
-
- /**
- * Getter for the error message of some given error related to the input
- * parameter.
- *
- * @param paramName The name of the parameter associated with the message.
- *
- * @return The message for the error.
- */
- private static String getErrorMessage(final String paramName) {
- return getConfig(paramName + MSG_PARAM_SUFFIX);
- }
-
- /**
- * {@link Base64} encodes the input samlToken parameter.
- *
- * @param samlToken the SAML Token to be encoded.
- *
- * @return The Base64 String representing the samlToken.
- *
- * @see Base64#encode
- */
- public static String encodeSAMLToken(final byte[] samlToken) {
- try {
- return new String(Base64.encode(samlToken), "UTF8");
- } catch (final UnsupportedEncodingException e) {
- LOG.error(PEPSErrors.INTERNAL_ERROR.errorMessage(), e);
- return null;
- }
- }
-
- /**
- * Encode samltoken url safe
- * @param samlToken the saml token to encode
- * @return the bas64 encoded string
- */
- public static String encodeSAMLTokenUrlSafe(final byte[] samlToken) {
- try {
- return new String(UrlBase64.encode(samlToken), "UTF8");
- } catch (final UnsupportedEncodingException e) {
- LOG.error(PEPSErrors.INTERNAL_ERROR.errorMessage(), e);
- return null;
- }
- }
-
- /**
- * Decodes the {@link Base64} String input parameter representing a samlToken.
- *
- * @param samlToken the SAML Token to be decoded.
- *
- * @return The samlToken decoded bytes.
- *
- * @see Base64#decode
- */
- public static byte[] decodeSAMLToken(final String samlToken) {
- return Base64.decode(samlToken);
- }
-
- /**
- * Decode URL save base64 saml token
- * @param samlToken the SAML toke to decode
- * @return The decoded bytes
- */
- public static byte[] decodeSAMLTokenUrlSafe(final String samlToken) {
- return UrlBase64.decode(samlToken);
- }
-
- /**
- * Hashes a SAML token. Throws an InternalErrorPEPSException runtime exception
- * if the Cryptographic Engine fails.
- *
- * @param samlToken the SAML Token to be hashed.
- *
- * @return byte[] with the hashed SAML Token.
- */
- public static byte[] hashPersonalToken(final byte[] samlToken) {
- try {
- final String className =
- PEPSUtil.getConfig(PEPSValues.HASH_DIGEST_CLASS.toString());
-
- final Digest digest =
- (Digest) Class.forName(className).getConstructor()
- .newInstance((Object[]) null);
- digest.update(samlToken, 0, samlToken.length);
-
- final int retLength = digest.getDigestSize();
- final byte[] ret = new byte[retLength];
-
- digest.doFinal(ret, 0);
- return ret;
-
- } catch (final Exception e) {
- // For all those exceptions that could be thrown, we always log it and
- // thrown an InternalErrorPEPSException.
- LOG.error(PEPSErrors.HASH_ERROR.errorMessage(), e);
- throw new InternalErrorPEPSException(
- PEPSUtil.getConfig(PEPSErrors.HASH_ERROR.errorCode()),
- PEPSUtil.getConfig(PEPSErrors.HASH_ERROR.errorMessage()), e);
- }
- }
-
- /**
- * Gets the Stork error code in the error message if exists!
- *
- * @param errorMessage The message to get the error code if exists;
- *
- * @return the error code if exists. Returns null otherwise.
- */
- public static String getStorkErrorCode(final String errorMessage) {
- if (StringUtils.isNotBlank(errorMessage)
- && errorMessage.indexOf(PEPSValues.ERROR_MESSAGE_SEP.toString()) >= 0) {
- final String[] msgSplitted =
- errorMessage.split(PEPSValues.ERROR_MESSAGE_SEP.toString());
- if (msgSplitted.length == 2 && StringUtils.isNumeric(msgSplitted[0])) {
- return msgSplitted[0];
- }
- }
- return null;
- }
-
- /**
- * Gets the Stork error message in the saml message if exists!
- *
- * @param errorMessage The message to get in the saml message if exists;
- *
- * @return the error message if exists. Returns the original message
- * otherwise.
- */
- public static String getStorkErrorMessage(final String errorMessage) {
- if (StringUtils.isNotBlank(errorMessage)
- && errorMessage.indexOf(PEPSValues.ERROR_MESSAGE_SEP.toString()) >= 0) {
- final String[] msgSplitted =
- errorMessage.split(PEPSValues.ERROR_MESSAGE_SEP.toString());
- if (msgSplitted.length == 2 && StringUtils.isNumeric(msgSplitted[0])) {
- return msgSplitted[1];
- }
- }
- return errorMessage;
- }
-
- /**
- * Get inputstream from string
- * @param string the string to convert
- * @param codePage the codepage of string
- * @return an inputstream
- * @throws UnsupportedEncodingException
- */
- public static InputStream getStream(final String string, final String codePage) throws UnsupportedEncodingException
- {
- return new ByteArrayInputStream(string.getBytes(codePage));
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSValues.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSValues.java.svn-base
deleted file mode 100644
index 89cf8fa9b..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PEPSValues.java.svn-base
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * This enum class contains all the value constants.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.17 $, $Date: 2011-07-07 20:48:45 $
- */
-public enum PEPSValues {
-
- /**
- * Represents the 'all' constant value.
- */
- ALL("all"),
- /**
- * Represents the 'none' constant value.
- */
- NONE("none"),
- /**
- * Represents the 'true' constant value.
- */
- TRUE("true"),
- /**
- * Represents the 'false' constant value.
- */
- FALSE("false"),
- /**
- * Represents the empty string constant value.
- */
- EMPTY_STRING(""),
-
- /**
- * Represents the ',' separator constant value.
- */
- ATTRIBUTE_VALUE_SEP(","),
- /**
- * Represents the ';' separator constant value.
- */
- ATTRIBUTE_SEP(";"),
- /**
- * Represents the ':' separator constant value.
- */
- ATTRIBUTE_TUPLE_SEP(":"),
- /**
- * Represents the '/' separator constant value.
- */
- EID_SEPARATOR("/"),
- /**
- * Represents the ' - ' separator constant value.
- */
- ERROR_MESSAGE_SEP(" - "),
- /**
- * Represents the '#' parameter constant value.
- */
- LOGGER_SEP("#"),
- /**
- * Represents the 'NOT_AVAILABLE' parameter constant value.
- */
- NOT_AVAILABLE("NotAvailable"),
- /**
- * Represents the ';' parameter constant value.
- */
- SPEPS_AUTHORIZED_SEP(";"),
-
- /**
- * Represents the 'ap' constant value.
- */
- AP("ap"),
- /**
- * Represents the 'C-PEPS' constant value.
- */
- CPEPS("C-PEPS"),
- /**
- * Represents the 'cpeps' constant value.
- */
- CPEPS_PREFIX("cpeps"),
- /**
- * Represents the 'peps' constant value.
- */
- PEPS("peps"),
- /**
- * Represents the '-PEPS' constant value.
- */
- PEPS_SUFFIX("-PEPS"),
- /**
- * Represents the 'SP' constant value.
- */
- SP("SP"),
- /**
- * Represents the 'S-PEPS' constant value.
- */
- SPEPS("S-PEPS"),
- /**
- * Represents the 'speps' constant value.
- */
- SPEPS_PREFIX("speps"),
- /**
- * Represents the 'sp.default.parameters' constant value.
- */
- DEFAULT("sp.default.parameters"),
- /**
- * Represents the default saml id constant value.
- */
- DEFAULT_SAML_ID("1"),
- /**
- * Represents the 'hashDigest.className' constant value.
- */
- HASH_DIGEST_CLASS("hashDigest.className"),
-
- /**
- * Represents the 'eu.stork.communication.requests' constant value.
- */
- STORK_PACKAGE_REQUEST_LOGGER_VALUE("eu.stork.communication.requests"),
- /**
- * Represents the 'eu.stork.communication.responses' constant value.
- */
- STORK_PACKAGE_RESPONSE_LOGGER_VALUE("eu.stork.communication.responses"),
-
- /**
- * Represents the 'S-PEPS receives request from SP' constant value.
- */
- SP_REQUEST("S-PEPS receives request from SP"),
- /**
- * Represents the 'Get Citizen Consent' constant value.
- */
- CITIZEN_CONSENT_LOG("Get Citizen Consent"),
- /**
- * Represents the 'C-PEPS receives request from S-PEPS' constant value.
- */
- CPEPS_REQUEST("C-PEPS receives request from S-PEPS"),
- /**
- * Represents the 'C-PEPS generates response to S-PEPS' constant value.
- */
- CPEPS_RESPONSE("C-PEPS generates response to S-PEPS"),
- /**
- * Represents the 'S-PEPS generates request to C-PEPS' constant value.
- */
- SPEPS_REQUEST("S-PEPS generates request to C-PEPS"),
- /**
- * Represents the 'S-PEPS receives response from C-PEPS' constant value.
- */
- SPEPS_RESPONSE("S-PEPS receives response from C-PEPS"),
- /**
- * Represents the 'S-PEPS generates response to SP' constant value.
- */
- SP_RESPONSE("S-PEPS generates response to SP"),
- /**
- * Represents the 'Success' constant value.
- */
- SUCCESS("Success"),
- /**
- * Represents the December's month number constant value.
- */
- LAST_MONTH("12"),
- /**
- * Represents the yyyyMM constant value.
- */
- NO_DAY_DATE_FORMAT("yyyyMM"),
-
- /**
- * Represents the 'attrValue' constant value.
- */
- ATTRIBUTE("attrValue"),
- /**
- * Represents the 'derivedAttr' constant value.
- */
- DERIVE_ATTRIBUTE("deriveAttr"),
- /**
- * Represents the 'storkAttribute' constant value.
- */
- STORK_ATTRIBUTE("storkAttribute"),
-
- /**
- * Represents the 'properties' constant value.
- */
- PROPERTIES("properties"),
- /**
- * Represents the 'referer' constant value.
- */
- REFERER("referer"),
- /**
- * Represents the 'host' constant value.
- */
- HOST("host"),
- /**
- * Represents the 'spid' constant value.
- */
- SPID("spid"),
- /**
- * Represents the 'domain' constant value.
- */
- DOMAIN("domain"),
- /**
- * Represents the '.validation' constant value.
- */
- VALIDATION_SUFFIX(".validation"),
- /**
- * Represents the 'jsessionid' constant value.
- */
- EQUAL("="),
- /**
- * Represents the 'HttpOnly' constant value.
- */
- HTTP_ONLY("HttpOnly"),
- /**
- * Represents the 'SET-COOKIE' constant value.
- */
- JSSESSION("JSESSIONID"),
- /**
- * Represents the '=' constant value.
- */
- SETCOOKIE("SET-COOKIE"),
- /**
- * Represents the ';' constant value.
- */
- SEMICOLON(";"),
- /**
- * Represents the ' ' constant value.
- */
- SPACE(" "),
- /**
- * Represents the 'atp' constant value.
- */
- APROVIDER_PREFIX("atp"),
- /**
- * Represents the 'atn' constant value.
- */
- ANAME_PREFIX("atn"),
- /**
- * Represents the 'ap-cpeps' constant value.
- */
- AP_CPEPS_PREFIX("ap-cpeps"),
- /**
- * Represents the 'attr-filter' constant value.
- */
- AP_ATTRFILTER_PREFIX("attr-filter");
-
- /**
- * Represents the constant's value.
- */
- private String value;
-
- /**
- * Solo Constructor.
- *
- * @param val The Constant value.
- */
- PEPSValues(final String val) {
-
- this.value = val;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
-
- return value;
- }
-
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".id".
- *
- * @param index the number.
- *
- * @return The concatenated String value.
- */
- public String index(final int index) {
-
- return value + index + ".id";
- }
-
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".value".
- *
- * @param index the number.
- *
- * @return The concatenated string value.
- */
- public String value(final int index) {
-
- return value + index + ".value";
- }
-
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".name".
- *
- * @param index the number.
- *
- * @return The concatenated String value.
- */
- public String name(final int index) {
-
- return value + index + ".name";
- }
-
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".url".
- *
- * @param index the number.
- *
- * @return The concatenated String value.
- */
- public String url(final int index) {
-
- return value + index + ".url";
- }
-
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".allowedGroups".
- *
- * @param index the number.
- *
- * @return The concatenated String value.
- */
- public String allowedGroups(final int index) {
-
- return value + index + ".allowedGroups";
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttribute.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttribute.java.svn-base
deleted file mode 100644
index 5d8281445..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttribute.java.svn-base
+++ /dev/null
@@ -1,348 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.log4j.Logger;
-
-import eu.stork.peps.auth.commons.exceptions.InternalErrorPEPSException;
-
-/**
- * This class is a bean used to store the information relative to the
- * PersonalAttribute.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.22 $, $Date: 2010-11-17 05:15:28 $
- */
-public final class PersonalAttribute implements Serializable, Cloneable {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 2612951678412632174L;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(PersonalAttribute.class
- .getName());
-
- /**
- * Name of the personal attribute.
- */
- private String name;
-
- /**
- * Values of the personal attribute.
- */
- private List<String> value = new ArrayList<String>();
-
- /**
- * Type of the personal attribute.
- */
- private String type;
-
- /**
- * Complex values of the personal attribute.
- */
- private Map<String, String> complexValue = new ConcurrentHashMap<String, String>();
-
- /**
- * Is the personal attribute mandatory?
- */
- private transient boolean required;
-
- /**
- * Returned status of the attribute from the IdP.
- */
- private String status;
-
- /**
- * Name of the personal attribute.
- */
- private String friendlyName;
-
- /**
- * Empty Constructor.
- */
- public PersonalAttribute() {
- super();
- }
-
- /**
- * PersonalAttribute Constructor for complex values.
- *
- * @param attrName The attribute name.
- * @param attrIsRequired The attribute type value.
- * @param attrComplexValue The attribute's value.
- * @param attrStatus The attribute's status value.
- */
- public PersonalAttribute(final String attrName, final boolean attrIsRequired,
- final List<String> attrComplexValue, final String attrStatus) {
- this.setName(attrName);
- this.setIsRequired(attrIsRequired);
- this.setValue(attrComplexValue);
- this.setStatus(attrStatus);
- }
-
- /**
- * PersonalAttribute Constructor for complex values.
- *
- * @param attrName The attribute name.
- * @param attrIsRequired The attribute type value.
- * @param attrComplexValue The attribute's complex value.
- * @param attrStatus The attribute's status value.
- */
- public PersonalAttribute(final String attrName, final boolean attrIsRequired,
- final Map<String, String> attrComplexValue, final String attrStatus) {
- this.setName(attrName);
- this.setIsRequired(attrIsRequired);
- this.setComplexValue(attrComplexValue);
- this.setStatus(attrStatus);
- }
-
- /**
- * {@inheritDoc}
- */
- @SuppressWarnings("unchecked")
- public Object clone() {
-
- try {
- final PersonalAttribute personalAttr = (PersonalAttribute) super.clone();
- personalAttr.setIsRequired(this.isRequired());
- personalAttr.setName(this.getName());
- personalAttr.setStatus(this.getStatus());
- if (!isEmptyValue()) {
- final List<String> val =
- (List<String>) ((ArrayList<String>) this.getValue()).clone();
- personalAttr.setValue(val);
- }
- if (!isEmptyComplexValue()) {
- final Map<String, String> complexVal =
- (Map<String, String>) ((HashMap<String, String>) this
- .getComplexValue()).clone();
- personalAttr.setComplexValue(complexVal);
- }
- return personalAttr;
- } catch (final CloneNotSupportedException e) {
- // assert false;
- LOG.trace("Nothing to do.");
- throw new InternalErrorPEPSException(
- PEPSUtil.getConfig(PEPSErrors.INTERNAL_ERROR.errorCode()),
- PEPSUtil.getConfig(PEPSErrors.INTERNAL_ERROR.errorMessage()), e);
- }
- }
-
- /**
- * Getter for the required value.
- *
- * @return The required value.
- */
- public boolean isRequired() {
- return required;
- }
-
- /**
- * Setter for the required value.
- *
- * @param attrIsRequired this attribute?
- */
- public void setIsRequired(final boolean attrIsRequired) {
- this.required = attrIsRequired;
- }
-
- /**
- * Getter for the name value.
- *
- * @return The name value.
- */
- public String getName() {
- return name;
- }
-
- /**
- * Setter for the name value.
- *
- * @param attrName The personal attribute name.
- */
- public void setName(final String attrName) {
- this.name = attrName;
- }
-
- /**
- * Getter for the value.
- *
- * @return The list of values.
- */
- public List<String> getValue() {
- return value;
- }
-
- /**
- * Setter for the list of values.
- *
- * @param attrValue The personal attribute value.
- */
- public void setValue(final List<String> attrValue) {
- if (attrValue != null) {
- this.value = attrValue;
- }
- }
-
-
- /**
- * Getter for the type value.
- *
- * @return The name value.
- */
- public String getType() {
- return type;
- }
-
- /**
- * Setter for the type value.
- *
- * @param attrName The personal attribute type.
- */
- public void setType(final String attrType) {
- this.type = attrType;
- }
-
- /**
- * Getter for the status.
- *
- * @return The status value.
- */
- public String getStatus() {
- return status;
- }
-
- /**
- * Setter for the status value.
- *
- * @param attrStatus The personal attribute status.
- */
- public void setStatus(final String attrStatus) {
- this.status = attrStatus;
- }
-
- /**
- * Getter for the complex value.
- *
- * @return The complex value.
- */
- public Map<String, String> getComplexValue() {
- return complexValue;
- }
-
- /**
- * Setter for the complex value.
- *
- * @param complexVal The personal attribute Complex value.
- */
- public void setComplexValue(final Map<String, String> complexVal) {
- if (complexVal != null) {
- this.complexValue = complexVal;
- }
- }
-
- /**
- * Getter for the personal's friendly name.
- *
- * @return The personal's friendly name value.
- */
- public String getFriendlyName() {
- return friendlyName;
- }
-
- /**
- * Setter for the personal's friendly name.
- *
- * @param fName The personal's friendly name.
- */
- public void setFriendlyName(final String fName) {
- this.friendlyName = fName;
- }
-
- /**
- * Return true the value is empty.
- *
- * @return True if the value is empty "[]";
- */
- public boolean isEmptyValue() {
- return value.isEmpty() || (value.size() == 1 && value.get(0).length() == 0);
- }
-
- /**
- * Returns true if the Complex Value is empty.
- *
- * @return True if the Complex Value is empty;
- */
- public boolean isEmptyComplexValue() {
- return complexValue.isEmpty();
- }
-
- /**
- * Returns true if the Status is empty.
- *
- * @return True if the Status is empty;
- */
- public boolean isEmptyStatus() {
- return (status == null || status.length() == 0);
- }
-
- /**
- * Prints the PersonalAttribute in the following format.
- * name:required:[v,a,l,u,e,s]|[v=a,l=u,e=s]:status;
- *
- * @return The PersonalAttribute as a string.
- */
- public String toString() {
- final StringBuilder strBuild = new StringBuilder();
-
- AttributeUtil.appendIfNotNull(strBuild, getName());
- strBuild.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
- AttributeUtil.appendIfNotNull(strBuild, String.valueOf(isRequired()));
- strBuild.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
- strBuild.append('[');
-
- if (isEmptyValue()) {
- if (!isEmptyComplexValue()) {
- AttributeUtil.appendIfNotNull(strBuild, AttributeUtil.mapToString(
- getComplexValue(), PEPSValues.ATTRIBUTE_VALUE_SEP.toString()));
- }
- } else {
- AttributeUtil.appendIfNotNull(
- strBuild,
- AttributeUtil.listToString(getValue(),
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()));
- }
-
- strBuild.append(']');
- strBuild.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
- AttributeUtil.appendIfNotNull(strBuild, getStatus());
- strBuild.append(PEPSValues.ATTRIBUTE_SEP.toString());
-
- return strBuild.toString();
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttributeList.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttributeList.java.svn-base
deleted file mode 100644
index 642b249d4..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/PersonalAttributeList.java.svn-base
+++ /dev/null
@@ -1,396 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.StringTokenizer;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
-
-/**
- * This class is a bean used to store the information relative to the
- * PersonalAttributeList.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.27 $, $Date: 2010-11-18 22:54:56 $
- *
- * @see PersonalAttribute
- */
-@SuppressWarnings("PMD")
-public final class PersonalAttributeList extends
- ConcurrentHashMap<String, PersonalAttribute> implements IPersonalAttributeList{
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger
- .getLogger(PersonalAttributeList.class.getName());
-
- /**
- * Serial id.
- */
- private static final long serialVersionUID = 7375127363889975062L;
-
- /**
- * Hash with the latest fetched attribute name alias.
- */
- private final transient Map<String, Integer> latestAttrAlias =
- new HashMap<String, Integer>();
-
- /**
- * Hash with mapping number of alias or the attribute name.
- */
- private final transient Map<String, Integer> attrAliasNumber =
- new HashMap<String, Integer>();
-
- /**
- * Default constructor.
- */
- public PersonalAttributeList() {
- // The best practices recommend to call the super constructor.
- super();
- }
-
- /**
- * Constructor with initial capacity for the PersonalAttributeList size.
- *
- * @param capacity The initial capacity for the PersonalAttributeList.
- */
- public PersonalAttributeList(final int capacity) {
- super(capacity);
- }
-
- /**
- * {@inheritDoc}
- */
- public Iterator<PersonalAttribute> iterator() {
- return this.values().iterator();
- }
-
- /**
- * {@inheritDoc}
- */
- public PersonalAttribute get(final Object key) {
- String attrName = (String) key;
-
- if (this.latestAttrAlias.containsKey(key)) {
- attrName = attrName + this.latestAttrAlias.get(key);
- } else {
- if (this.attrAliasNumber.containsKey(key)) {
- this.latestAttrAlias.put(attrName, this.attrAliasNumber.get(key));
- }
- }
- return super.get(attrName);
- }
-
- /**
- * {@inheritDoc}
- */
- public void add(final PersonalAttribute value) {
- if (value != null) {
- this.put(value.getName(), value);
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public PersonalAttribute put(final String key, final PersonalAttribute val) {
- if (StringUtils.isNotEmpty(key) && val != null) {
- // Validate if attribute name already exists!
- String attrAlias = key;
- if (this.containsKey(attrAlias)) {
- //TODO isAgeOver should not be hardcoded, a better way of handling multipe isAgeOver requests should be implemented.
- if (!val.isEmptyValue() && StringUtils.isNumeric(val.getValue().get(0)) && "isAgeOver".equals( val.getName() ) ) {
- final String attrValue = val.getValue().get(0);
- attrAlias = key + attrValue;
- this.attrAliasNumber.put(key, Integer.valueOf(attrValue));
- } else {
- final PersonalAttribute attr = super.get(key);
- if (!attr.isEmptyValue()
- && StringUtils.isNumeric(attr.getValue().get(0))) {
- attrAlias = key + attr.getValue().get(0);
- super.put(key, (PersonalAttribute) attr);
- this.attrAliasNumber.put(key, null);
- }
- }
- }
- return super.put(attrAlias, val);
- } else {
- return null;
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public void populate(final String attrList) {
- final StringTokenizer strToken =
- new StringTokenizer(attrList, PEPSValues.ATTRIBUTE_SEP.toString());
-
- while (strToken.hasMoreTokens()) {
- final PersonalAttribute persAttr = new PersonalAttribute();
- String[] tuples =
- strToken.nextToken().split(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString(),
- AttributeConstants.NUMBER_TUPLES.intValue());
-
- // Convert to the new format if needed!
- tuples = convertFormat(tuples);
-
- if (AttributeUtil.hasValidTuples(tuples)) {
- final int attrValueIndex =
- AttributeConstants.ATTR_VALUE_INDEX.intValue();
- final String tmpAttrValue =
- tuples[attrValueIndex].substring(1,
- tuples[attrValueIndex].length() - 1);
- final String[] vals =
- tmpAttrValue.split(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- persAttr.setName(tuples[AttributeConstants.ATTR_NAME_INDEX.intValue()]);
- persAttr.setIsRequired(Boolean
- .valueOf(tuples[AttributeConstants.ATTR_TYPE_INDEX.intValue()]));
-
- // check if it is a complex value
- if (isComplexValue(vals)) {
- persAttr.setComplexValue(createComplexValue(vals));
- }
- else
- {
- persAttr.setValue(createValues(vals));
- }
-
- if (tuples.length == AttributeConstants.NUMBER_TUPLES.intValue()) {
- persAttr.setStatus(tuples[AttributeConstants.ATTR_STATUS_INDEX
- .intValue()]);
- }
- this.put(tuples[AttributeConstants.ATTR_NAME_INDEX.intValue()],
- persAttr);
-
- } else {
- LOG.warn("Invalid personal attribute list tuples");
- }
-
- }
- }
-
- /**
- * Returns a copy of this <tt>IPersonalAttributeList</tt> instance.
- *
- * @return The copy of this IPersonalAttributeList.
- */
- public Object clone() {
- try {
- return (PersonalAttributeList) super.clone();
- } catch (CloneNotSupportedException e) {
- return null;
- }
- }
-
- /**
- * Creates a string in the following format.
- *
- * attrName:attrType:[attrValue1,attrValue2=attrComplexValue]:attrStatus;
- *
- * @return {@inheritDoc}
- */
- @Override
- public String toString() {
- final Iterator<Entry<String, PersonalAttribute>> itAttrs =
- this.entrySet().iterator();
- final StringBuilder strBuilder = new StringBuilder();
-
- while (itAttrs.hasNext()) {
- final Entry<String, PersonalAttribute> attrEntry = itAttrs.next();
- final PersonalAttribute attr = attrEntry.getValue();
- //strBuilder.append(attr.toString());
- strBuilder.insert(0, attr.toString());
- }
-
- return strBuilder.toString();
- }
-
- /**
- * Validates and creates the attribute's complex values.
- *
- * @param values The complex values.
- *
- * @return The {@link Map} with the complex values.
- *
- * @see Map
- */
- private Map<String, String> createComplexValue(final String[] values) {
- final Map<String, String> complexValue = new HashMap<String, String>();
- for (final String val : values) {
- final String[] tVal = val.split("=");
- if (StringUtils.isNotEmpty(val) && tVal.length == 2) {
- complexValue.put(tVal[0], AttributeUtil.unescape(tVal[1]));
- }
- }
- return complexValue;
- }
-
- /**
- * Checks if value is complex or not
- * @param values The values to check
- * @return True if succesful
- */
- private boolean isComplexValue(final String[] values) {
- boolean isComplex = false;
- if (values.length > 0) {
- final String[] tVal = values[0].split("=");
- if (StringUtils.isNotEmpty(values[0]) && tVal.length == 2) {
- isComplex = true;
- }
- }
- return isComplex;
- }
-
- /**
- * Validates and creates the attribute values.
- *
- * @param vals The attribute values.
- *
- * @return The {@link List} with the attribute values.
- *
- * @see List
- */
- private List<String> createValues(final String[] vals) {
- final List<String> values = new ArrayList<String>();
- for (final String val : vals) {
- if (StringUtils.isNotEmpty(val)) {
- values.add(AttributeUtil.unescape(val));
- }
- }
- return values;
- }
-
- /**
- * Converts the attribute tuple (attrName:attrType...) to the new format.
- *
- * @param tuples The attribute tuples to convert.
- *
- * @return The attribute tuples in the new format.
- */
- private String[] convertFormat(final String[] tuples) {
- final String[] newFormatTuples =
- new String[AttributeConstants.NUMBER_TUPLES.intValue()];
- if (tuples != null) {
- System.arraycopy(tuples, 0, newFormatTuples, 0, tuples.length);
-
- for (int i = tuples.length; i < newFormatTuples.length; i++) {
- if (i == AttributeConstants.ATTR_VALUE_INDEX.intValue()) {
- newFormatTuples[i] = "[]";
- } else {
- newFormatTuples[i] = "";
- }
- }
- }
- return newFormatTuples;
- }
-
- /**
- * Returns a IPersonalAttributeList of the complex attributes in this map.
- *
- * @return an IPersonalAttributeList of the complex attributes contained in this map.
- */
- public IPersonalAttributeList getComplexAttributes() {
- LOG.info("get complex attributes");
- IPersonalAttributeList attrList = new PersonalAttributeList();
- for(PersonalAttribute attr: this) {
- if(!attr.getComplexValue().isEmpty()) {
- attrList.put(attr.getName(), attr);
- LOG.info("adding complex attribute:"+attr.getName());
- }
- }
- return attrList;
- }
-
- /**
- * Returns a IPersonalAttributeList of the mandatory attributes in this map.
- *
- * @return an IPersonalAttributeList of the mandatory attributes contained in this map.
- */
- public IPersonalAttributeList getSimpleValueAttributes() {
- LOG.info("get simple attributes");
- IPersonalAttributeList attrList = new PersonalAttributeList();
- for(PersonalAttribute attr: this) {
- if(attr.getComplexValue().isEmpty()) {
- attrList.put(attr.getName(), attr);
- LOG.info("adding simple attribute:"+attr.getName());
- }
- }
- return attrList;
- }
-
-
-
- /**
- * Returns a IPersonalAttributeList of the mandatory attributes in this map.
- *
- * @return an IPersonalAttributeList of the mandatory attributes contained in this map.
- */
- public IPersonalAttributeList getMandatoryAttributes() {
- return getAttributesByParam(true);
- }
-
-
- /**
- * Returns a IPersonalAttributeList of the attributes in this map by parameter value.
- *
- * @param compareValue The boolean to get mandatory (true) or optional (false) attributes.
- *
- * @return an IPersonalAttributeList of the mandatory attributes contained in this map if compareValue is true or optional otherwise.
- */
- private IPersonalAttributeList getAttributesByParam(final boolean compareValue) {
- LOG.info("get attributes by param :"+compareValue);
- IPersonalAttributeList attrList = new PersonalAttributeList();
- for(PersonalAttribute attr: this) {
- if(attr.isRequired() == compareValue) {
- attrList.put(attr.getName(), attr);
- LOG.info("adding attribute:"+attr.getName());
- }
- }
- return attrList;
- }
-
-
- /**
- * Returns a IPersonalAttributeList of the optional attributes in this map.
- *
- * @return an IPersonalAttributeList of the optional attributes contained in this map.
- */
- public IPersonalAttributeList getOptionalAttributes() {
- return getAttributesByParam(false);
- }
-
- /**
- * {@inheritDoc}
- */
- public boolean hasMissingValues() {
- for(PersonalAttribute attr: this) {
- if(attr.isEmptyValue() && attr.isEmptyComplexValue()) {
- return true;
- }
- }
- return false;
- }
-} \ No newline at end of file
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryRequest.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryRequest.java.svn-base
deleted file mode 100644
index 65936f1a8..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryRequest.java.svn-base
+++ /dev/null
@@ -1,447 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-
-import org.apache.log4j.Logger;
-
-public class STORKAttrQueryRequest implements Serializable, Cloneable {
-
- /** The Constant serialVersionUID. */
- private static final long serialVersionUID = 4778480781609392750L;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(STORKAttrQueryRequest.class
- .getName());
-
- /** The samlId. */
- private String samlId;
-
- /** The destination. */
- private String destination;
-
- /** The assertion consumer service url. */
- private String serviceURL;
-
- /** The distinguished name. */
- private String distinguishedName;
-
- /** The e id sector share. */
- private boolean eIDSectorShare;
-
- /** The e id cross sector share. */
- private boolean eIDCrossSectorShare;
-
- /** The e id cross border share. */
- private boolean eIDCrossBorderShare;
-
- /** The personal attribute list. */
- private IPersonalAttributeList attributeList = new PersonalAttributeList();
-
- /** The qaa. */
- private int qaa;
-
- /** The token saml. */
- private byte[] tokenSaml = new byte[0];
-
- /** The issuer. */
- private String issuer;
-
- /** The service provider sector. */
- private String spSector;
-
- /** The service provider institution. */
- private String spInstitution;
-
- /** The service provider application. */
- private String spApplication;
-
- /** The service provider country. */
- private String spCountry;
-
- /** The country. */
- private String country;
-
- /** The citizen country code. */
- private String citizenCountry;
-
- /** The Service Provider ID. */
- private String sPID;
-
- /** The Alias used at the keystore for saving this certificate. */
- private String alias;
-
- /**
- * Gets the SP's Certificate Alias.
- *
- * @return alias The SP's Certificate Alias.
- */
- public String getAlias() {
- return alias;
- }
-
- /**
- * Sets the SP's Certificate Alias.
- *
- * @param nAlias The SP's Certificate Alias.
- */
- public void setAlias(final String nAlias) {
- this.alias = nAlias;
- }
-
- /**
- * Gets the SP ID.
- *
- * @return sPID The SP ID.
- */
- public String getSPID() {
- return sPID;
- }
-
- /**
- * Sets the SP ID.
- *
- * @param sPId The new sp samlId.
- */
- public void setSPID(final String sPId) {
- this.sPID = sPId;
- }
-
- /**
- * Gets the citizen country code.
- *
- * @return The citizen country code value.
- */
- public String getCitizenCountryCode() {
- return citizenCountry;
- }
-
- /**
- * Sets the citizen country code.
- *
- * @param countryCode the new citizen country code value.
- */
- public void setCitizenCountryCode(final String countryCode) {
- this.citizenCountry = countryCode;
- }
-
- /**
- * Gets the sp country.
- *
- * @return The sp country value.
- */
- public String getSpCountry() {
- return spCountry;
- }
-
- /**
- * Sets the sp country.
- *
- * @param sPCountry the new sp country value.
- */
- public void setSpCountry(final String sPCountry) {
- this.spCountry = sPCountry;
- }
-
- /**
- * Gets the issuer.
- *
- * @return The issuer value.
- */
- public String getIssuer() {
- return issuer;
- }
-
- /**
- * Sets the issuer.
- *
- * @param samlIssuer the new issuer value.
- */
- public void setIssuer(final String samlIssuer) {
- this.issuer = samlIssuer;
- }
-
- /**
- * Gets the SAML Token.
- *
- * @return The SAML Token value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Sets the SAML Token.
- *
- * @param samlToken The new SAML Token value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Gets the country.
- *
- * @return The country value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Sets the country.
- *
- * @param nCountry the new country value.
- */
- public void setCountry(final String nCountry) {
- this.country = nCountry;
- }
-
- /**
- * Getter for the qaa value.
- *
- * @return The qaa value value.
- */
- public int getQaa() {
- return qaa;
- }
-
- /**
- * Setter for the qaa value.
- *
- * @param qaaLevel The new qaa value.
- */
- public void setQaa(final int qaaLevel) {
- this.qaa = qaaLevel;
- }
-
- /**
- * Getter for the serviceURL value.
- *
- * @return The serviceURL value.
- */
- public String getAssertionConsumerServiceURL() {
- return serviceURL;
- }
-
- /**
- * Setter for the serviceURL value.
- *
- * @param newServiceURL the assertion consumer service URL.
- */
- public void setAssertionConsumerServiceURL(final String newServiceURL) {
- this.serviceURL = newServiceURL;
- }
-
- /**
- * Getter for the destination value.
- *
- * @return The destination value.
- */
- public String getDestination() {
- return destination;
- }
-
- /**
- * Setter for the destination value.
- *
- * @param detination the new destination value.
- */
- public void setDestination(final String detination) {
- this.destination = detination;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param newSamlId the new samlId value.
- */
- public void setSamlId(final String newSamlId) {
- this.samlId = newSamlId;
- }
-
-
- /**
- * Getter for the attributeList value.
- *
- * @return The attributeList value.
- *
- * @see IPersonalAttributeList
- */
- public IPersonalAttributeList getPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) attributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the attributeList value.
- *
- * @param attrList the personal attribute list value.
- *
- * @see IPersonalAttributeList
- */
- public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.attributeList = attrList;
- }
- }
-
- /**
- * Getter for the distinguishedName value.
- *
- * @return The distinguishedName value.
- */
- public String getDistinguishedName() {
- return distinguishedName;
- }
-
- /**
- * Setter for the distinguishedName value.
- *
- * @param certDN the distinguished name value.
- */
- public void setDistinguishedName(final String certDN) {
- this.distinguishedName = certDN;
- }
-
- /**
- * Gets the service provider sector.
- *
- * @return The service provider sector value.
- */
- public String getSpSector() {
- return spSector;
- }
-
- /**
- * Sets the service provider sector.
- *
- * @param samlSPSector the new service provider sector value.
- */
- public void setSpSector(final String samlSPSector) {
- this.spSector = samlSPSector;
- }
-
- /**
- * Gets the service provider institution.
- *
- * @return The service provider institution value.
- */
- public String getSpInstitution() {
- return spInstitution;
- }
-
- /**
- * Sets the service provider institution.
- *
- * @param samlSPInst the new service provider institution value.
- */
- public void setSpInstitution(final String samlSPInst) {
- this.spInstitution = samlSPInst;
- }
-
- /**
- * Gets the service provider application.
- *
- * @return The service provider application value.
- */
- public String getSpApplication() {
- return spApplication;
- }
-
- /**
- * Sets the service provider application.
- *
- * @param samlSPApp the new service provider application value.
- */
- public void setSpApplication(final String samlSPApp) {
- this.spApplication = samlSPApp;
- }
-
- /**
- * Checks if is eId sector share.
- *
- * @return true, if is eId sector share.
- */
- public boolean isEIDSectorShare() {
- return eIDSectorShare;
- }
-
- /**
- * Sets the eId sector share.
- *
- * @param eIdSectorShare the new eId sector share value.
- */
- public void setEIDSectorShare(final boolean eIdSectorShare) {
- this.eIDSectorShare = eIdSectorShare;
- }
-
- /**
- * Checks if is eId cross sector share.
- *
- * @return true, if is eId cross sector share.
- */
- public boolean isEIDCrossSectorShare() {
- return eIDCrossSectorShare;
- }
-
- /**
- * Sets the eId cross sector share.
- *
- * @param eIdCrossSectorShare the new eId cross sector share value.
- */
- public void setEIDCrossSectorShare(final boolean eIdCrossSectorShare) {
- this.eIDCrossSectorShare = eIdCrossSectorShare;
- }
-
- /**
- * Checks if is eId cross border share.
- *
- * @return true, if is eId cross border share.
- */
- public boolean isEIDCrossBorderShare() {
- return eIDCrossBorderShare;
- }
-
- /**
- * Sets the eId cross border share.
- *
- * @param eIdCrossBorderShare the new eId cross border share value.
- */
- public void setEIDCrossBorderShare(final boolean eIdCrossBorderShare) {
- this.eIDCrossBorderShare = eIdCrossBorderShare;
- }
-
- /**
- * Returns a copy of this <tt>STORKAttrQueryRequest</tt> instance.
- *
- * @return The copy of this STORKAttrQueryRequest.
- * @throws CloneNotSupportedException on clone exception
- */
- @Override
- public Object clone() throws CloneNotSupportedException{
- STORKAttrQueryRequest storkAttrQueryReq = null;
- storkAttrQueryReq = (STORKAttrQueryRequest) super.clone();
- storkAttrQueryReq.setPersonalAttributeList(getPersonalAttributeList());
- storkAttrQueryReq.setTokenSaml(getTokenSaml());
- return storkAttrQueryReq;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryResponse.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryResponse.java.svn-base
deleted file mode 100644
index 4e40d6d01..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAttrQueryResponse.java.svn-base
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.joda.time.DateTime;
-import org.opensaml.saml2.core.Assertion;
-
-public class STORKAttrQueryResponse {
-
- /** Response Id. */
- private String samlId;
-
- /** Request failed? */
- private boolean fail;
-
- /** Status code. */
- private String statusCode;
-
- /** Secondary status code. */
- private String subStatusCode;
-
- /** Audience restriction. */
- private transient String audienceRest;
-
- /** Error message. */
- private String message;
-
- /** Id of the request that originated this response. */
- private String inResponseTo;
-
- /** Expiration date. */
- private DateTime notOnOrAfter;
-
- /** Creation date. */
- private DateTime notBefore;
-
- /** The SAML token. */
- private byte[] tokenSaml = new byte[0];
-
- /** Country. */
- private String country;
-
- /** The complete assertion **/
- private Assertion assertion;
-
- /** List of all assertions in response **/
- private List<Assertion> assertions;
-
- /** The complete list from all assertions **/
- private transient IPersonalAttributeList totalAttributeList = new PersonalAttributeList();
-
- /** All personal attribute lists **/
- private List<IPersonalAttributeList> attributeLists;
-
- /** Citizen's personal attribute list. */
- private transient IPersonalAttributeList attributeList = new PersonalAttributeList();
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(STORKAttrQueryResponse.class.getName());
-
- /**
- * Getter for the subStatusCode.
- *
- * @return The subStatusCode value.
- */
- public String getSubStatusCode() {
- return subStatusCode;
- }
-
- /**
- * Setter for the subStatusCode.
- *
- * @param samlSubStatusCode the new subStatusCode value.
- */
- public void setSubStatusCode(final String samlSubStatusCode) {
- this.subStatusCode = samlSubStatusCode;
- }
-
- /**
- * Getter for audienceRest.
- *
- * @return The audienceRest value.
- */
- public String getAudienceRestriction() {
- return audienceRest;
- }
-
- /**
- * Setter for audienceRest.
- *
- * @param audRest the new audienceRest value.
- */
- public void setAudienceRestriction(final String audRest) {
- this.audienceRest = audRest;
- }
-
- /**
- * Getter for the samlToken.
- *
- * @return The samlToken value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Setter for samlToken.
- *
- * @param samlToken the new tokenSaml value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Getter for the country name.
- *
- * @return The country name value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Setter for the country name.
- *
- * @param cCountry the new country name value.
- */
- public void setCountry(final String cCountry) {
- this.country = cCountry;
- }
-
- /**
- * Getter for pal value.
- *
- * @return The pal value.
- *
- * @see PersonalAttributeList
- */
- public IPersonalAttributeList getPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) attributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.attributeList = attrList;
- }
- }
-
- /**
- * Getter for the inResponseTo value.
- *
- * @return The inResponseTo value.
- */
- public String getInResponseTo() {
- return inResponseTo;
- }
-
- /**
- * Setter for the inResponseTo value.
- *
- * @param samlInResponseTo the new inResponseTo value.
- */
- public void setInResponseTo(final String samlInResponseTo) {
- this.inResponseTo = samlInResponseTo;
- }
-
- /**
- * Getter for the fail value.
- *
- * @return The fail value.
- */
- public boolean isFail() {
- return fail;
- }
-
- /**
- * Setter for the fail value.
- *
- * @param failVal the new fail value.
- */
- public void setFail(final boolean failVal) {
- this.fail = failVal;
- }
-
- /**
- * Getter for the message value.
- *
- * @return The message value.
- */
- public String getMessage() {
- return message;
- }
-
- /**
- * Setter for the message value.
- *
- * @param msg the new message value.
- */
- public void setMessage(final String msg) {
- this.message = msg;
- }
-
- /**
- * Getter for the statusCode value.
- *
- * @return The statusCode value.
- */
- public String getStatusCode() {
- return statusCode;
- }
-
- /**
- * Setter for the statusCode value.
- *
- * @param status the new statusCode value.
- */
- public void setStatusCode(final String status) {
- this.statusCode = status;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param nSamlId the new samlId value.
- */
- public void setSamlId(final String nSamlId) {
- this.samlId = nSamlId;
- }
-
- /**
- * Getter for the notOnOrAfter value.
- *
- * @return The notOnOrAfter value.
- *
- * @see DateTime
- */
- public DateTime getNotOnOrAfter() {
- return this.notOnOrAfter;
- }
-
- /**
- * Setter for the notOnOrAfter value.
- *
- * @param nOnOrAfter the new notOnOrAfter value.
- *
- * @see DateTime
- */
- public void setNotOnOrAfter(final DateTime nOnOrAfter) {
- this.notOnOrAfter = nOnOrAfter;
- }
-
- /**
- * Getter for the notBefore value.
- *
- * @return The notBefore value.
- *
- * @see DateTime
- */
- public DateTime getNotBefore() {
- return notBefore;
- }
-
- /**
- * Setter for the notBefore value.
- *
- * @param nBefore the new notBefore value.
- *
- * @see DateTime
- */
- public void setNotBefore(final DateTime nBefore) {
- this.notBefore = nBefore;
- }
-
- /** Get the assertion from the response **/
- public Assertion getAssertion() {
- return assertion;
- }
-
- /** Set the assertion in the response **/
- public void setAssertion(final Assertion nAssertion) {
- this.assertion = nAssertion;
- }
-
- public void setAssertions(List<Assertion> newAssert) {
- this.assertions = newAssert;
- }
-
- public List<Assertion> getAssertions() {
- return assertions;
- }
-
- /**
- * Getter for the toal pal value.
- *
- * @return The total pal value.
- *
- * @see PersonalAttributeList
- */
- public IPersonalAttributeList getTotalPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) totalAttributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the total Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setTotalPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.totalAttributeList = attrList;
- }
- }
-
- /**
- * Getter for personal attribute lists
- *
- * @return The lists
- *
- * @see PersonalAttributeList
- */
- public List<IPersonalAttributeList> getPersonalAttributeLists() {
- return attributeLists;
- }
-
- /**
- * Setter for the Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setPersonalAttributeLists(final List<IPersonalAttributeList> attrLists) {
- if (attrLists != null) {
- this.attributeLists = attrLists;
- }
- }
-
-}
-
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnRequest.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnRequest.java.svn-base
deleted file mode 100644
index 2354d0eb1..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnRequest.java.svn-base
+++ /dev/null
@@ -1,495 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-
-import org.apache.log4j.Logger;
-
-/**
- * This class is a bean used to store the information relative to the
- * STORKAuthnRequest (SAML Token Request).
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.21 $, $Date: 2011-02-17 22:44:34 $
- */
-public final class STORKAuthnRequest implements Serializable, Cloneable {
-
- /** The Constant serialVersionUID. */
- private static final long serialVersionUID = 4778480781609392750L;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(STORKAuthnRequest.class
- .getName());
-
- /** The samlId. */
- private String samlId;
-
- /** The assertion consumer service url. */
- private String serviceURL;
-
- /** The destination. */
- private String destination;
-
- /** The provider name. */
- private String providerName;
-
- /** The distinguished name. */
- private String distinguishedName;
-
- /** The e id sector share. */
- private boolean eIDSectorShare;
-
- /** The e id cross sector share. */
- private boolean eIDCrossSectorShare;
-
- /** The e id cross border share. */
- private boolean eIDCrossBorderShare;
-
- /** The personal attribute list. */
- private IPersonalAttributeList attributeList = new PersonalAttributeList();
-
- /** The qaa. */
- private int qaa;
-
- /** The token saml. */
- private byte[] tokenSaml = new byte[0];
-
- /** The issuer. */
- private String issuer;
-
- /** The service provider sector. */
- private String spSector;
-
- /** The service provider institution. */
- private String spInstitution;
-
- /** The service provider application. */
- private String spApplication;
-
- /** The service provider country. */
- private String spCountry;
-
- /** The country. */
- private String country;
-
- /** The citizen country code. */
- private String citizenCountry;
-
- /** The Service Provider ID. */
- private String sPID;
-
- /** The Alias used at the keystore for saving this certificate. */
- private String alias;
-
- /**
- * Gets the SP's Certificate Alias.
- *
- * @return alias The SP's Certificate Alias.
- */
- public String getAlias() {
- return alias;
- }
-
- /**
- * Sets the SP's Certificate Alias.
- *
- * @param nAlias The SP's Certificate Alias.
- */
- public void setAlias(final String nAlias) {
- this.alias = nAlias;
- }
-
- /**
- * Gets the SP ID.
- *
- * @return sPID The SP ID.
- */
- public String getSPID() {
- return sPID;
- }
-
- /**
- * Sets the SP ID.
- *
- * @param sPId The new sp samlId.
- */
- public void setSPID(final String sPId) {
- this.sPID = sPId;
- }
-
- /**
- * Gets the citizen country code.
- *
- * @return The citizen country code value.
- */
- public String getCitizenCountryCode() {
- return citizenCountry;
- }
-
- /**
- * Sets the citizen country code.
- *
- * @param countryCode the new citizen country code value.
- */
- public void setCitizenCountryCode(final String countryCode) {
- this.citizenCountry = countryCode;
- }
-
- /**
- * Gets the sp country.
- *
- * @return The sp country value.
- */
- public String getSpCountry() {
- return spCountry;
- }
-
- /**
- * Sets the sp country.
- *
- * @param sPCountry the new sp country value.
- */
- public void setSpCountry(final String sPCountry) {
- this.spCountry = sPCountry;
- }
-
- /**
- * Gets the issuer.
- *
- * @return The issuer value.
- */
- public String getIssuer() {
- return issuer;
- }
-
- /**
- * Sets the issuer.
- *
- * @param samlIssuer the new issuer value.
- */
- public void setIssuer(final String samlIssuer) {
- this.issuer = samlIssuer;
- }
-
- /**
- * Gets the SAML Token.
- *
- * @return The SAML Token value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Sets the SAML Token.
- *
- * @param samlToken The new SAML Token value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Gets the country.
- *
- * @return The country value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Sets the country.
- *
- * @param nCountry the new country value.
- */
- public void setCountry(final String nCountry) {
- this.country = nCountry;
- }
-
- /**
- * Getter for the qaa value.
- *
- * @return The qaa value value.
- */
- public int getQaa() {
- return qaa;
- }
-
- /**
- * Setter for the qaa value.
- *
- * @param qaaLevel The new qaa value.
- */
- public void setQaa(final int qaaLevel) {
- this.qaa = qaaLevel;
- }
-
- /**
- * Getter for the serviceURL value.
- *
- * @return The serviceURL value.
- */
- public String getAssertionConsumerServiceURL() {
- return serviceURL;
- }
-
- /**
- * Setter for the serviceURL value.
- *
- * @param newServiceURL the assertion consumer service URL.
- */
- public void setAssertionConsumerServiceURL(final String newServiceURL) {
- this.serviceURL = newServiceURL;
- }
-
- /**
- * Getter for the destination value.
- *
- * @return The destination value.
- */
- public String getDestination() {
- return destination;
- }
-
- /**
- * Setter for the destination value.
- *
- * @param detination the new destination value.
- */
- public void setDestination(final String detination) {
- this.destination = detination;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param newSamlId the new samlId value.
- */
- public void setSamlId(final String newSamlId) {
- this.samlId = newSamlId;
- }
-
- /**
- * Getter for the providerName value.
- *
- * @return The provider name value.
- */
- public String getProviderName() {
- return providerName;
- }
-
- /**
- * Setter for the providerName value.
- *
- * @param samlProvider the provider name value.
- */
- public void setProviderName(final String samlProvider) {
- this.providerName = samlProvider;
- }
-
- /**
- * Getter for the attributeList value.
- *
- * @return The attributeList value.
- *
- * @see IPersonalAttributeList
- */
- public IPersonalAttributeList getPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) attributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the attributeList value.
- *
- * @param attrList the personal attribute list value.
- *
- * @see IPersonalAttributeList
- */
- public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.attributeList = attrList;
- }
- }
-
- /**
- * Getter for the distinguishedName value.
- *
- * @return The distinguishedName value.
- */
- public String getDistinguishedName() {
- return distinguishedName;
- }
-
- /**
- * Setter for the distinguishedName value.
- *
- * @param certDN the distinguished name value.
- */
- public void setDistinguishedName(final String certDN) {
- this.distinguishedName = certDN;
- }
-
- /**
- * Gets the service provider sector.
- *
- * @return The service provider sector value.
- */
- public String getSpSector() {
- return spSector;
- }
-
- /**
- * Sets the service provider sector.
- *
- * @param samlSPSector the new service provider sector value.
- */
- public void setSpSector(final String samlSPSector) {
- this.spSector = samlSPSector;
- }
-
- /**
- * Gets the service provider institution.
- *
- * @return The service provider institution value.
- */
- public String getSpInstitution() {
- return spInstitution;
- }
-
- /**
- * Sets the service provider institution.
- *
- * @param samlSPInst the new service provider institution value.
- */
- public void setSpInstitution(final String samlSPInst) {
- this.spInstitution = samlSPInst;
- }
-
- /**
- * Gets the service provider application.
- *
- * @return The service provider application value.
- */
- public String getSpApplication() {
- return spApplication;
- }
-
- /**
- * Sets the service provider application.
- *
- * @param samlSPApp the new service provider application value.
- */
- public void setSpApplication(final String samlSPApp) {
- this.spApplication = samlSPApp;
- }
-
- /**
- * Checks if is eId sector share.
- *
- * @return true, if is eId sector share.
- */
- public boolean isEIDSectorShare() {
- return eIDSectorShare;
- }
-
- /**
- * Sets the eId sector share.
- *
- * @param eIdSectorShare the new eId sector share value.
- */
- public void setEIDSectorShare(final boolean eIdSectorShare) {
- this.eIDSectorShare = eIdSectorShare;
- }
-
- /**
- * Checks if is eId cross sector share.
- *
- * @return true, if is eId cross sector share.
- */
- public boolean isEIDCrossSectorShare() {
- return eIDCrossSectorShare;
- }
-
- /**
- * Sets the eId cross sector share.
- *
- * @param eIdCrossSectorShare the new eId cross sector share value.
- */
- public void setEIDCrossSectorShare(final boolean eIdCrossSectorShare) {
- this.eIDCrossSectorShare = eIdCrossSectorShare;
- }
-
- /**
- * Checks if is eId cross border share.
- *
- * @return true, if is eId cross border share.
- */
- public boolean isEIDCrossBorderShare() {
- return eIDCrossBorderShare;
- }
-
- /**
- * Sets the eId cross border share.
- *
- * @param eIdCrossBorderShare the new eId cross border share value.
- */
- public void setEIDCrossBorderShare(final boolean eIdCrossBorderShare) {
- this.eIDCrossBorderShare = eIdCrossBorderShare;
- }
-
- /**
- * Returns a copy of this <tt>STORKAuthnRequest</tt> instance.
- *
- * @return The copy of this STORKAuthnRequest.
- * @throws CloneNotSupportedException on clone exception
- */
- @Override
- public Object clone() throws CloneNotSupportedException{
- STORKAuthnRequest storkAuthnReq = null;
- try {
- storkAuthnReq = (STORKAuthnRequest) super.clone();
- storkAuthnReq.setPersonalAttributeList(getPersonalAttributeList());
- storkAuthnReq.setTokenSaml(getTokenSaml());
- } catch (final CloneNotSupportedException e) {
- // assert false;
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
-
- return storkAuthnReq;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnResponse.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnResponse.java.svn-base
deleted file mode 100644
index 84fadd023..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKAuthnResponse.java.svn-base
+++ /dev/null
@@ -1,383 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.joda.time.DateTime;
-import org.opensaml.saml2.core.Assertion;
-
-/**
- * This class is a bean used to store the information relative to the
- * STORKAuthnResponse.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.15 $, $Date: 2010-11-17 05:15:28 $
- */
-public final class STORKAuthnResponse {
-
- /** Response Id. */
- private String samlId;
-
- /** Authentication failed? */
- private boolean fail;
-
- /** Status code. */
- private String statusCode;
-
- /** Secondary status code. */
- private String subStatusCode;
-
- /** Audience restriction. */
- private transient String audienceRest;
-
- /** Error message. */
- private String message;
-
- /** Id of the request that originated this response. */
- private String inResponseTo;
-
- /** Expiration date. */
- private DateTime notOnOrAfter;
-
- /** Creation date. */
- private DateTime notBefore;
-
- /** The SAML token. */
- private byte[] tokenSaml = new byte[0];
-
- /** Country. */
- private String country;
-
- /** Citizen's personal attribute list. */
- private transient IPersonalAttributeList attributeList = new PersonalAttributeList();
-
- /** List of all assertions in response **/
- private List<Assertion> assertions;
-
- /** The complete list from all assertions **/
- private transient IPersonalAttributeList totalAttributeList = new PersonalAttributeList();
-
- /** All personal attribute lists **/
- private List<IPersonalAttributeList> attributeLists;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(STORKAuthnResponse.class.getName());
-
- /**
- * Getter for the subStatusCode.
- *
- * @return The subStatusCode value.
- */
- public String getSubStatusCode() {
- return subStatusCode;
- }
-
- /**
- * Setter for the subStatusCode.
- *
- * @param samlSubStatusCode the new subStatusCode value.
- */
- public void setSubStatusCode(final String samlSubStatusCode) {
- this.subStatusCode = samlSubStatusCode;
- }
-
- /**
- * Getter for audienceRest.
- *
- * @return The audienceRest value.
- */
- public String getAudienceRestriction() {
- return audienceRest;
- }
-
- /**
- * Setter for audienceRest.
- *
- * @param audRest the new audienceRest value.
- */
- public void setAudienceRestriction(final String audRest) {
- this.audienceRest = audRest;
- }
-
- /**
- * Getter for the samlToken.
- *
- * @return The samlToken value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Setter for samlToken.
- *
- * @param samlToken the new tokenSaml value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Getter for the country name.
- *
- * @return The country name value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Setter for the country name.
- *
- * @param cCountry the new country name value.
- */
- public void setCountry(final String cCountry) {
- this.country = cCountry;
- }
-
- /**
- * Getter for pal value.
- *
- * @return The pal value.
- *
- * @see PersonalAttributeList
- */
- public IPersonalAttributeList getPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) attributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.attributeList = attrList;
- }
- }
-
- /**
- * Getter for the inResponseTo value.
- *
- * @return The inResponseTo value.
- */
- public String getInResponseTo() {
- return inResponseTo;
- }
-
- /**
- * Setter for the inResponseTo value.
- *
- * @param samlInResponseTo the new inResponseTo value.
- */
- public void setInResponseTo(final String samlInResponseTo) {
- this.inResponseTo = samlInResponseTo;
- }
-
- /**
- * Getter for the fail value.
- *
- * @return The fail value.
- */
- public boolean isFail() {
- return fail;
- }
-
- /**
- * Setter for the fail value.
- *
- * @param failVal the new fail value.
- */
- public void setFail(final boolean failVal) {
- this.fail = failVal;
- }
-
- /**
- * Getter for the message value.
- *
- * @return The message value.
- */
- public String getMessage() {
- return message;
- }
-
- /**
- * Setter for the message value.
- *
- * @param msg the new message value.
- */
- public void setMessage(final String msg) {
- this.message = msg;
- }
-
- /**
- * Getter for the statusCode value.
- *
- * @return The statusCode value.
- */
- public String getStatusCode() {
- return statusCode;
- }
-
- /**
- * Setter for the statusCode value.
- *
- * @param status the new statusCode value.
- */
- public void setStatusCode(final String status) {
- this.statusCode = status;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param nSamlId the new samlId value.
- */
- public void setSamlId(final String nSamlId) {
- this.samlId = nSamlId;
- }
-
- /**
- * Getter for the notOnOrAfter value.
- *
- * @return The notOnOrAfter value.
- *
- * @see DateTime
- */
- public DateTime getNotOnOrAfter() {
- return this.notOnOrAfter;
- }
-
- /**
- * Setter for the notOnOrAfter value.
- *
- * @param nOnOrAfter the new notOnOrAfter value.
- *
- * @see DateTime
- */
- public void setNotOnOrAfter(final DateTime nOnOrAfter) {
- this.notOnOrAfter = nOnOrAfter;
- }
-
- /**
- * Getter for the notBefore value.
- *
- * @return The notBefore value.
- *
- * @see DateTime
- */
- public DateTime getNotBefore() {
- return notBefore;
- }
-
- /**
- * Setter for the notBefore value.
- *
- * @param nBefore the new notBefore value.
- *
- * @see DateTime
- */
- public void setNotBefore(final DateTime nBefore) {
- this.notBefore = nBefore;
- }
-
- public void setAssertions(List<Assertion> newAssert) {
- this.assertions = newAssert;
- }
-
- public List<Assertion> getAssertions() {
- return assertions;
- }
-
- /**
- * Getter for the toal pal value.
- *
- * @return The total pal value.
- *
- * @see PersonalAttributeList
- */
- public IPersonalAttributeList getTotalPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) totalAttributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the total Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setTotalPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.totalAttributeList = attrList;
- }
- }
-
- /**
- * Getter for personal attribute lists
- *
- * @return The lists
- *
- * @see PersonalAttributeList
- */
- public List<IPersonalAttributeList> getPersonalAttributeLists() {
- return attributeLists;
- }
-
- /**
- * Setter for the Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setPersonalAttributeLists(final List<IPersonalAttributeList> attrLists) {
- if (attrLists != null) {
- this.attributeLists = attrLists;
- }
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutRequest.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutRequest.java.svn-base
deleted file mode 100644
index 44811aee2..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutRequest.java.svn-base
+++ /dev/null
@@ -1,197 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-
-public class STORKLogoutRequest implements Serializable, Cloneable {
- private static final long serialVersionUID = 4778480781609392750L;
-
- /** The samlId. */
- private String samlId;
-
- /** The destination. */
- private String destination;
-
- /** The distinguished name. */
- private String distinguishedName;
-
- /** The qaa. */
- private int qaa;
-
- /** The token saml. */
- private byte[] tokenSaml = new byte[0];
-
- /** The issuer. */
- private String issuer;
-
- /** The country. */
- private String country;
-
- /** The Alias used at the keystore for saving this certificate. */
- private String alias;
-
- /** The ID of principal as known to SP **/
- private String spProvidedId;
-
- /**
- * Gets the SP's Certificate Alias.
- *
- * @return alias The SP's Certificate Alias.
- */
- public String getAlias() {
- return alias;
- }
-
- /**
- * Sets the SP's Certificate Alias.
- *
- * @param nAlias The SP's Certificate Alias.
- */
- public void setAlias(final String nAlias) {
- this.alias = nAlias;
- }
-
- /**
- * Gets the issuer.
- *
- * @return The issuer value.
- */
- public String getIssuer() {
- return issuer;
- }
-
- /**
- * Sets the issuer.
- *
- * @param samlIssuer the new issuer value.
- */
- public void setIssuer(final String samlIssuer) {
- this.issuer = samlIssuer;
- }
-
- /**
- * Gets the SAML Token.
- *
- * @return The SAML Token value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Sets the SAML Token.
- *
- * @param samlToken The new SAML Token value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Gets the country.
- *
- * @return The country value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Sets the country.
- *
- * @param nCountry the new country value.
- */
- public void setCountry(final String nCountry) {
- this.country = nCountry;
- }
-
- /**
- * Getter for the qaa value.
- *
- * @return The qaa value value.
- */
- public int getQaa() {
- return qaa;
- }
-
- /**
- * Setter for the qaa value.
- *
- * @param qaaLevel The new qaa value.
- */
- public void setQaa(final int qaaLevel) {
- this.qaa = qaaLevel;
- }
-
- /**
- * Getter for the destination value.
- *
- * @return The destination value.
- */
- public String getDestination() {
- return destination;
- }
-
- /**
- * Setter for the destination value.
- *
- * @param detination the new destination value.
- */
- public void setDestination(final String detination) {
- this.destination = detination;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param newSamlId the new samlId value.
- */
- public void setSamlId(final String newSamlId) {
- this.samlId = newSamlId;
- }
-
- /**
- * Getter for the distinguishedName value.
- *
- * @return The distinguishedName value.
- */
- public String getDistinguishedName() {
- return distinguishedName;
- }
-
- /**
- * Setter for the distinguishedName value.
- *
- * @param certDN the distinguished name value.
- */
- public void setDistinguishedName(final String certDN) {
- this.distinguishedName = certDN;
- }
-
- /** Getter for spProvidedId **/
- public String getSpProvidedId() {
- return spProvidedId;
- }
-
- public void setSpProvidedId(final String nSpProvidedId) {
- this.spProvidedId = nSpProvidedId;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException{
- STORKLogoutRequest storkLogoutRequest = null;
- storkLogoutRequest = (STORKLogoutRequest) super.clone();
- storkLogoutRequest.setTokenSaml(getTokenSaml());
- return storkLogoutRequest;
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutResponse.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutResponse.java.svn-base
deleted file mode 100644
index 21b53a652..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKLogoutResponse.java.svn-base
+++ /dev/null
@@ -1,250 +0,0 @@
-package eu.stork.peps.auth.commons;
-
-import java.io.Serializable;
-
-public class STORKLogoutResponse implements Serializable, Cloneable {
- private static final long serialVersionUID = 4778480781609392750L;
-
- /** The samlId. */
- private String samlId;
-
- /** The destination. */
- private String destination;
-
- /** The distinguished name. */
- private String distinguishedName;
-
- /** The token saml. */
- private byte[] tokenSaml = new byte[0];
-
- /** The issuer. */
- private String issuer;
-
- /** The country. */
- private String country;
-
- /** The Alias used at the keystore for saving this certificate. */
- private String alias;
-
- /** Status code. */
- private String statusCode;
-
- /** Secondary status code. */
- private String subStatusCode;
-
- /** Status message. */
- private String statusMessage;
-
- /** Logout failed? */
- private boolean fail;
-
- /**
- * Gets the SP's Certificate Alias.
- *
- * @return alias The SP's Certificate Alias.
- */
- public String getAlias() {
- return alias;
- }
-
- /**
- * Sets the SP's Certificate Alias.
- *
- * @param nAlias The SP's Certificate Alias.
- */
- public void setAlias(final String nAlias) {
- this.alias = nAlias;
- }
-
- /**
- * Gets the issuer.
- *
- * @return The issuer value.
- */
- public String getIssuer() {
- return issuer;
- }
-
- /**
- * Sets the issuer.
- *
- * @param samlIssuer the new issuer value.
- */
- public void setIssuer(final String samlIssuer) {
- this.issuer = samlIssuer;
- }
-
- /**
- * Gets the SAML Token.
- *
- * @return The SAML Token value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Sets the SAML Token.
- *
- * @param samlToken The new SAML Token value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Gets the country.
- *
- * @return The country value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Sets the country.
- *
- * @param nCountry the new country value.
- */
- public void setCountry(final String nCountry) {
- this.country = nCountry;
- }
-
- /**
- * Getter for the destination value.
- *
- * @return The destination value.
- */
- public String getDestination() {
- return destination;
- }
-
- /**
- * Setter for the destination value.
- *
- * @param detination the new destination value.
- */
- public void setDestination(final String detination) {
- this.destination = detination;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param newSamlId the new samlId value.
- */
- public void setSamlId(final String newSamlId) {
- this.samlId = newSamlId;
- }
-
- /**
- * Getter for the distinguishedName value.
- *
- * @return The distinguishedName value.
- */
- public String getDistinguishedName() {
- return distinguishedName;
- }
-
- /**
- * Setter for the distinguishedName value.
- *
- * @param certDN the distinguished name value.
- */
- public void setDistinguishedName(final String certDN) {
- this.distinguishedName = certDN;
- }
-
-
- /**
- * Getter for the fail value.
- *
- * @return The fail value.
- */
- public boolean isFail() {
- return fail;
- }
-
- /**
- * Setter for the fail value.
- *
- * @param failVal the new fail value.
- */
- public void setFail(final boolean failVal) {
- this.fail = failVal;
- }
-
- /**
- * Getter for the statusCode value.
- *
- * @return The statusCode value.
- */
- public String getStatusCode() {
- return statusCode;
- }
-
- /**
- * Getter for the subStatusCode.
- *
- * @return The subStatusCode value.
- */
- public String getSubStatusCode() {
- return subStatusCode;
- }
-
- /**
- * Setter for the subStatusCode.
- *
- * @param samlSubStatusCode the new subStatusCode value.
- */
- public void setSubStatusCode(final String samlSubStatusCode) {
- this.subStatusCode = samlSubStatusCode;
- }
-
- /**
- * Setter for the statusMessage value.
- *
- * @param status the new statusMessage value.
- */
- public void setStatusMessage(final String status) {
- this.statusMessage = status;
- }
-
- /**
- * Getter for the statusMessage value.
- *
- * @return The statusMessage value.
- */
- public String getStatusMessage() {
- return statusMessage;
- }
-
- /**
- * Setter for the statusCode value.
- *
- * @param status the new statusCode value.
- */
- public void setStatusCode(final String status) {
- this.statusCode = status;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException{
- STORKLogoutResponse storkLogoutResponse = null;
- storkLogoutResponse = (STORKLogoutResponse) super.clone();
- storkLogoutResponse.setTokenSaml(getTokenSaml());
- return storkLogoutResponse;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKStatusCode.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKStatusCode.java.svn-base
deleted file mode 100644
index a9c4a156b..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKStatusCode.java.svn-base
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * This enum class contains the SAML Token Status Code.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.13 $, $Date: 2010-11-17 05:15:28 $
- */
-public enum STORKStatusCode {
-
- /** URI for Requester status code. */
- REQUESTER_URI("urn:oasis:names:tc:SAML:2.0:status:Requester"),
-
- /** URI for Responder status code. */
- RESPONDER_URI("urn:oasis:names:tc:SAML:2.0:status:Responder"),
-
- /** URI for Success status code. */
- SUCCESS_URI("urn:oasis:names:tc:SAML:2.0:status:Success"),
-
- /** Attribute is Available. */
- STATUS_AVAILABLE("Available"),
-
- /** Attribute is NotAvailable. */
- STATUS_NOT_AVAILABLE("NotAvailable"),
-
- /** Attribute is Withheld. */
- STATUS_WITHHELD("Withheld");
-
- /**
- * Represents the constant's value.
- */
- private String value;
-
- /**
- * Solo Constructor.
- *
- * @param val The Constant value.
- */
- private STORKStatusCode(final String val) {
-
- this.value = val;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
-
- return value;
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKSubStatusCode.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKSubStatusCode.java.svn-base
deleted file mode 100644
index 0a711c9b7..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/STORKSubStatusCode.java.svn-base
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons;
-
-/**
- * This enum class contains the SAML Token Sub Status Code.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.7 $, $Date: 2010-11-17 05:15:28 $
- */
-public enum STORKSubStatusCode {
-
- /** URI for AuthnFailed status code. */
- AUTHN_FAILED_URI("urn:oasis:names:tc:SAML:2.0:status:AuthnFailed"),
-
- /** URI for InvalidAttrNameOrValue status code. */
- INVALID_ATTR_NAME_VALUE_URI(
- "urn:oasis:names:tc:SAML:2.0:status:InvalidAttrNameOrValue"),
-
- /** URI for InvalidNameIDPolicy status code. */
- INVALID_NAMEID_POLICY_URI(
- "urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy"),
-
- /** URI for VersionMismatch status code. */
- VERSION_MISMATCH_URI("urn:oasis:names:tc:SAML:2.0:status:VersionMismatch"),
-
- /** URI for RequestDenied status code. */
- REQUEST_DENIED_URI("urn:oasis:names:tc:SAML:2.0:status:RequestDenied"),
-
- /** URI for QaaNotSupported status code. */
- QAA_NOT_SUPPORTED(
- "http://www.stork.gov.eu/saml20/statusCodes/QAANotSupported");
-
- /**
- * Represents the constant's value.
- */
- private String value;
-
- /**
- * Solo Constructor.
- *
- * @param val The Constant value.
- */
- private STORKSubStatusCode(final String val) {
-
- this.value = val;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
-
- return value;
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/package-info.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/package-info.java.svn-base
deleted file mode 100644
index 19d45aaa2..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/.svn/text-base/package-info.java.svn-base
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * Common Authentication Service functionalities to be deployed in every PEPS
- * is contained in this package.
- * In particular, it contains the SAML Engine that implements the SAML messages
- * management
- *
- * @since 1.0
- */
-package eu.stork.peps.auth.commons;
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeConstants.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeConstants.java
index 09769641c..4d13c2d92 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeConstants.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeConstants.java
@@ -14,59 +14,57 @@
package eu.stork.peps.auth.commons;
/**
- * This enum class contains all the STORK PEPS, Commons and Specific errors
- * constant identifiers.
+ * This enum class contains all the STORK PEPS, Commons and Specific errors constant identifiers.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.2 $, $Date: 2010-11-17 05:15:28 $
*/
public enum AttributeConstants {
-
- /**
- * Represents the attribute's name index.
- */
- ATTR_NAME_INDEX(0),
- /**
- * Represents the attribute's type index.
- */
- ATTR_TYPE_INDEX(1),
- /**
- * Represents the attribute's value index.
- */
- ATTR_VALUE_INDEX(2),
- /**
- * Represents the attribute's status index.
- */
- ATTR_STATUS_INDEX(3),
- /**
- * Represents the number of allowed tuples.
- */
- NUMBER_TUPLES(4);
-
- /**
- * Represents the constant's value.
- */
- private int attribute;
-
- /**
- * Solo Constructor.
- *
- * @param attr The Attribute Constant value.
- */
- AttributeConstants(final int attr) {
-
- this.attribute = attr;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public int intValue() {
-
- return attribute;
- }
+
+ /**
+ * Represents the attribute's name index.
+ */
+ ATTR_NAME_INDEX(0),
+ /**
+ * Represents the attribute's type index.
+ */
+ ATTR_TYPE_INDEX(1),
+ /**
+ * Represents the attribute's value index.
+ */
+ ATTR_VALUE_INDEX(2),
+ /**
+ * Represents the attribute's status index.
+ */
+ ATTR_STATUS_INDEX(3),
+ /**
+ * Represents the number of allowed tuples.
+ */
+ NUMBER_TUPLES(4);
+
+ /**
+ * Represents the constant's value.
+ */
+ private int attribute;
+
+ /**
+ * Solo Constructor.
+ *
+ * @param attr
+ * The Attribute Constant value.
+ */
+ AttributeConstants(final int attr) {
+
+ this.attribute = attr;
+ }
+
+ /**
+ * Return the Constant Value.
+ *
+ * @return The constant value.
+ */
+ public int intValue() {
+
+ return attribute;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeName.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeName.java
index a44768c7e..28115ae62 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeName.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeName.java
@@ -1,74 +1,85 @@
package eu.stork.peps.auth.commons;
+import java.io.Serializable;
+
/**
* This class is a bean used to store information relative to Attribute Names.
- *
+ *
* @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
*
* @version $Revision: 1.00 $, $Date: 2013-11-26 $
*/
-public final class AttributeName {
-
- /**
- * Attribute Id.
- */
- private String attributeId;
-
- /**
- * Attribute Name.
- */
- private String attributeName;
-
- /**
- * Attribute Name Constructor.
- *
- * @param aId Id of the Attribute Name.
- * @param aName Name of the Attribute Name.
- */
- public AttributeName(final String aId, final String aName) {
-
- this.attributeId = aId;
- this.attributeName = aName;
- }
-
- /**
- * Getter for the attributeId value.
- *
- * @return The attributeId value.
- */
- public String getAttributeId() {
-
- return attributeId;
- }
-
- /**
- * Setter for the attributeId value.
- *
- * @param aId Id of the Attribute Name.
- */
- public void setAttributeId(final String aId) {
-
- this.attributeId = aId;
- }
-
- /**
- * Getter for the attributeName value.
- *
- * @return The attributeName value.
- */
- public String getAttributeName() {
-
- return attributeName;
- }
-
- /**
- * Setter for the attributeName value.
- *
- * @param name Name of the Attribute Name.
- */
- public void setAttributeName(final String name) {
-
- this.attributeName = name;
- }
-
+public final class AttributeName implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -3537736618869722308L;
+
+ /**
+ * Attribute Id.
+ */
+ private String attributeId;
+
+ /**
+ * Attribute Name.
+ */
+ private String attributeName;
+
+ /**
+ * Attribute Name Constructor.
+ *
+ * @param aId
+ * Id of the Attribute Name.
+ * @param aName
+ * Name of the Attribute Name.
+ */
+ public AttributeName(final String aId, final String aName) {
+
+ this.attributeId = aId;
+ this.attributeName = aName;
+ }
+
+ /**
+ * Getter for the attributeId value.
+ *
+ * @return The attributeId value.
+ */
+ public String getAttributeId() {
+
+ return attributeId;
+ }
+
+ /**
+ * Setter for the attributeId value.
+ *
+ * @param aId
+ * Id of the Attribute Name.
+ */
+ public void setAttributeId(final String aId) {
+
+ this.attributeId = aId;
+ }
+
+ /**
+ * Getter for the attributeName value.
+ *
+ * @return The attributeName value.
+ */
+ public String getAttributeName() {
+
+ return attributeName;
+ }
+
+ /**
+ * Setter for the attributeName value.
+ *
+ * @param name
+ * Name of the Attribute Name.
+ */
+ public void setAttributeName(final String name) {
+
+ this.attributeName = name;
+ }
+
} \ No newline at end of file
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvider.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvider.java
index 575732e27..08265e8f0 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvider.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvider.java
@@ -11,113 +11,119 @@ import java.util.List;
* @version $Revision: 1.01 $, $Date: 2014-01-13 $
*/
public final class AttributeProvider implements Serializable {
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 7210186241917444559L;
-
- /**
- * Provider Id.
- */
- private String providerId;
-
- /**
- * Provider Name.
- */
- private String providerName;
-
- /**
- * Allowed groups of attribute names.
- */
- private List<String> allowedGroups;
-
- /**
- * Attribute Provider Constructor.
- *
- * @param pId Id of the Attribute Provider.
- * @param pName Name of the Attribute Provider.
- */
- public AttributeProvider(final String pId, final String pName, final List<String> pAllowedGroups) {
-
- this.providerId = pId;
- this.providerName = pName;
- this.allowedGroups = pAllowedGroups;
- }
-
- /**
- * Getter for the providerId value.
- *
- * @return The providerId value.
- */
- public String getProviderId() {
-
- return providerId;
- }
-
- /**
- * Setter for the providerId value.
- *
- * @param pId Id of the Attribute Provider.
- */
- public void setProviderId(final String pId) {
-
- this.providerId = pId;
- }
-
- /**
- * Getter for the providerName value.
- *
- * @return The providerName value.
- */
- public String getProviderName() {
-
- return providerName;
- }
-
- /**
- * Setter for the providerName value.
- *
- * @param name Name of the Attribute Provider.
- */
- public void setProviderName(final String name) {
-
- this.providerName = name;
- }
-
- /**
- * Getter for the allowedGroups value.
- *
- * @return The allowedGroups value.
- */
- public List<String> getAllowedGroups() {
-
- return allowedGroups;
- }
-
- /**
- * Setter for the allowedGroups value.
- *
- * @param name AllowedGroups of the Attribute Provider.
- */
- public void setAllowedGroups(final List<String> pAllowedGroups) {
-
- this.allowedGroups = pAllowedGroups;
- }
-
- /**
- * Check if an attribute name is allowed for this Attribute Provider
- *
- * @param pAttrName the Attribute Name to check
- * @return true if the name is allowed, false otherwise
- */
- public boolean isAttributeNameAllowed(final String pAttrName) {
- if ( allowedGroups==null || pAttrName==null )
- return false;
- else if ( allowedGroups.contains(PEPSParameters.ATTRIBUTE_GROUPS_ALL.toString()) )
- return true;
- else if ( allowedGroups.contains(PEPSParameters.ATTRIBUTE_GROUPS_NONE.toString()) )
- return false;
- else
- return allowedGroups.contains(pAttrName);
- }
+ /**
+ * Unique identifier.
+ */
+ private static final long serialVersionUID = 7210186241917444559L;
+
+ /**
+ * Provider Id.
+ */
+ private String providerId;
+
+ /**
+ * Provider Name.
+ */
+ private String providerName;
+
+ /**
+ * Allowed groups of attribute names.
+ */
+ private List<String> allowedGroups;
+
+ /**
+ * Attribute Provider Constructor.
+ *
+ * @param pId
+ * Id of the Attribute Provider.
+ * @param pName
+ * Name of the Attribute Provider.
+ */
+ public AttributeProvider(final String pId, final String pName, final List<String> pAllowedGroups) {
+
+ this.providerId = pId;
+ this.providerName = pName;
+ this.allowedGroups = pAllowedGroups;
+ }
+
+ /**
+ * Getter for the providerId value.
+ *
+ * @return The providerId value.
+ */
+ public String getProviderId() {
+
+ return providerId;
+ }
+
+ /**
+ * Setter for the providerId value.
+ *
+ * @param pId
+ * Id of the Attribute Provider.
+ */
+ public void setProviderId(final String pId) {
+
+ this.providerId = pId;
+ }
+
+ /**
+ * Getter for the providerName value.
+ *
+ * @return The providerName value.
+ */
+ public String getProviderName() {
+
+ return providerName;
+ }
+
+ /**
+ * Setter for the providerName value.
+ *
+ * @param name
+ * Name of the Attribute Provider.
+ */
+ public void setProviderName(final String name) {
+
+ this.providerName = name;
+ }
+
+ /**
+ * Getter for the allowedGroups value.
+ *
+ * @return The allowedGroups value.
+ */
+ public List<String> getAllowedGroups() {
+
+ return allowedGroups;
+ }
+
+ /**
+ * Setter for the allowedGroups value.
+ *
+ * @param name
+ * AllowedGroups of the Attribute Provider.
+ */
+ public void setAllowedGroups(final List<String> pAllowedGroups) {
+
+ this.allowedGroups = pAllowedGroups;
+ }
+
+ /**
+ * Check if an attribute name is allowed for this Attribute Provider
+ *
+ * @param pAttrName
+ * the Attribute Name to check
+ * @return true if the name is allowed, false otherwise
+ */
+ public boolean isAttributeNameAllowed(final String pAttrName) {
+ if (allowedGroups == null || pAttrName == null)
+ return false;
+ else if (allowedGroups.contains(PEPSParameters.ATTRIBUTE_GROUPS_ALL.toString()))
+ return true;
+ else if (allowedGroups.contains(PEPSParameters.ATTRIBUTE_GROUPS_NONE.toString()))
+ return false;
+ else
+ return allowedGroups.contains(pAttrName);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvidersMap.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvidersMap.java
index 85aec2625..c59109092 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvidersMap.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeProvidersMap.java
@@ -14,13 +14,12 @@ import org.apache.log4j.Logger;
*
* @see LinkedHashMap
*/
-public class AttributeProvidersMap extends LinkedHashMap<AttributeSource, IPersonalAttributeList>
- implements IAttributeProvidersMap {
+public class AttributeProvidersMap extends LinkedHashMap<AttributeSource, IPersonalAttributeList> implements IAttributeProvidersMap {
/**
* Logger object.
*/
private static final Logger LOG = Logger.getLogger(AttributeProvidersMap.class.getName());
-
+
/**
* Unique identifier.
*/
@@ -72,10 +71,9 @@ public class AttributeProvidersMap extends LinkedHashMap<AttributeSource, IPerso
LOG.trace("Source details: type [" + source.getSourceType() + "], URL [" + source.getProviderURL() + "]");
- if(source.getSourceType() == AttributeSource.SOURCE_LOCAL_APROVIDER) {
+ if (source.getSourceType() == AttributeSource.SOURCE_LOCAL_APROVIDER) {
LOG.trace("-> Attribute Provider: ID [" + source.getProvider().getProviderId() + "], name [" + source.getProvider().getProviderName() + "]");
- }
- else {
+ } else {
LOG.trace("-> Country: ID [" + source.getCountry().getCountryId() + "], name [" + source.getCountry().getCountryName() + "]");
}
@@ -93,4 +91,22 @@ public class AttributeProvidersMap extends LinkedHashMap<AttributeSource, IPerso
}
LOG.trace("END\n=======================");
}
+
+ public void mergeWith(IAttributeProvidersMap aPMap) {
+ Iterator<AttributeSource> maKeys = aPMap.keyIterator();
+ while (maKeys.hasNext()) {
+ AttributeSource key = maKeys.next();
+ IPersonalAttributeList l2 = aPMap.get(key);
+ if (containsKey(key)) {
+ IPersonalAttributeList l1 = get(key);
+ for (PersonalAttribute pa : l2) {
+ if (!l1.containsKey(pa.getName())) {
+ l1.add(pa);
+ }
+ }
+ } else {
+ put(key, l2);
+ }
+ }
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeSource.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeSource.java
index 846f54f67..eb5e3ded4 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeSource.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeSource.java
@@ -12,177 +12,186 @@ import org.apache.log4j.Logger;
* @version $Revision: 1.10 $, $Date: 2013-11-29 $
*/
public final class AttributeSource implements Serializable {
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 432243595968469014L;
-
- public static final int SOURCE_LOCAL_APROVIDER = 1;
- public static final int SOURCE_REMOTE_COUNTRY = 2;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(AttributeSource.class.getName());
-
- /**
- * Provider source.
- */
- private int sourceType;
-
- /**
- * Provider URL.
- */
- private String providerURL;
-
- /**
- * The local Attribute Provider.
- */
- private AttributeProvider provider;
-
- /**
- * The remote Country.
- */
- private Country country;
-
- /**
- * Attribute Source Constructor.
- *
- * @param provider The local Attribute Provider.
- * @param pURL URL of the Attribute Provider.
- */
- public AttributeSource(final AttributeProvider provider, final String pURL) {
- this.setSourceType(SOURCE_LOCAL_APROVIDER);
-
- this.setProvider(provider);
- this.setProviderURL(pURL);
- }
-
- /**
- * Attribute Source Constructor.
- *
- * @param country The remote Country.
- * @param pURL URL of the Country.
- */
- public AttributeSource(final Country country, final String pURL) {
- this.setSourceType(SOURCE_REMOTE_COUNTRY);
-
- this.setCountry(country);
- this.setProviderURL(pURL);
- }
-
- /**
- * @param sourceType the sourceType to set
- */
- public void setSourceType(final int sourceType) {
- this.sourceType = sourceType;
- }
-
- /**
- * @return the sourceType
- */
- public int getSourceType() {
- return sourceType;
- }
-
- /**
- * @param providerURL the providerURL to set
- */
- public void setProviderURL(final String providerURL) {
- this.providerURL = providerURL;
- }
-
- /**
- * @return the providerURL
- */
- public String getProviderURL() {
- return providerURL;
- }
-
- /**
- * @param provider the provider to set
- */
- public void setProvider(final AttributeProvider provider) {
- this.setSourceType(SOURCE_LOCAL_APROVIDER);
-
- this.provider = provider;
- }
-
- /**
- * @return the provider
- */
- public AttributeProvider getProvider() {
- return provider;
- }
-
- /**
- * @param country the country to set
- */
- public void setCountry(final Country country) {
- this.setSourceType(SOURCE_REMOTE_COUNTRY);
-
- this.country = country;
- }
-
- /**
- * @return the country
- */
- public Country getCountry() {
- return country;
- }
-
- /**
- * {@inheritDoc}
- */
- public boolean equals(Object obj) {
- boolean outcome = false;
-
- LOG.debug("Calling equals with Object.");
- if ( obj instanceof AttributeSource ) {
- LOG.debug("Calling equals with AttributeSource.");
- outcome = this.equals((AttributeSource)obj);
- }
-
- LOG.debug("Object equals outcome: " + outcome);
- return outcome;
- }
-
- /**
- * Compare the given AttributeSource with the current object in order to determinine
- * if they are equal.
- *
- * @param obj The AttributeSource to compare to
- *
- * @return true if the two objects are equal
- */
- public boolean equals(AttributeSource obj) {
- boolean outcome = false;
-
- if ( this.sourceType==obj.getSourceType() ) {
- if ( this.sourceType==AttributeSource.SOURCE_LOCAL_APROVIDER ) {
- if ( this.provider.getProviderId().equals(obj.getProvider().getProviderId()) )
- outcome = true;
- }
- else if ( this.sourceType==AttributeSource.SOURCE_REMOTE_COUNTRY ) {
- if ( this.country.getCountryId().equals(obj.getCountry().getCountryId()) )
- outcome = true;
- }
- }
-
- LOG.debug("AttributeSource equals outcome: " + outcome);
- return outcome;
- }
-
- /**
- * {@inheritDoc}
- */
- public int hashCode() {
- int hash = 1;
- hash = hash * 17 + this.sourceType;
- if ( this.sourceType==AttributeSource.SOURCE_LOCAL_APROVIDER )
- hash = hash * 31 + this.provider.getProviderName().hashCode();
- else
- hash = hash * 31 + this.country.getCountryName().hashCode();
- return hash;
- }
+ /**
+ * Unique identifier.
+ */
+ private static final long serialVersionUID = 432243595968469014L;
+
+ public static final int SOURCE_LOCAL_APROVIDER = 1;
+ public static final int SOURCE_REMOTE_COUNTRY = 2;
+
+ /**
+ * Logger object.
+ */
+ private static final Logger LOG = Logger.getLogger(AttributeSource.class.getName());
+
+ /**
+ * Provider source.
+ */
+ private int sourceType;
+
+ /**
+ * Provider URL.
+ */
+ private String providerURL;
+
+ /**
+ * The local Attribute Provider.
+ */
+ private AttributeProvider provider;
+
+ /**
+ * The remote Country.
+ */
+ private Country country;
+
+ /**
+ * Attribute Source Constructor.
+ *
+ * @param provider
+ * The local Attribute Provider.
+ * @param pURL
+ * URL of the Attribute Provider.
+ */
+ public AttributeSource(final AttributeProvider provider, final String pURL) {
+ this.setSourceType(SOURCE_LOCAL_APROVIDER);
+
+ this.setProvider(provider);
+ this.setProviderURL(pURL);
+ }
+
+ /**
+ * Attribute Source Constructor.
+ *
+ * @param country
+ * The remote Country.
+ * @param pURL
+ * URL of the Country.
+ */
+ public AttributeSource(final Country country, final String pURL) {
+ this.setSourceType(SOURCE_REMOTE_COUNTRY);
+
+ this.setCountry(country);
+ this.setProviderURL(pURL);
+ }
+
+ /**
+ * @param sourceType
+ * the sourceType to set
+ */
+ public void setSourceType(final int sourceType) {
+ this.sourceType = sourceType;
+ }
+
+ /**
+ * @return the sourceType
+ */
+ public int getSourceType() {
+ return sourceType;
+ }
+
+ /**
+ * @param providerURL
+ * the providerURL to set
+ */
+ public void setProviderURL(final String providerURL) {
+ this.providerURL = providerURL;
+ }
+
+ /**
+ * @return the providerURL
+ */
+ public String getProviderURL() {
+ return providerURL;
+ }
+
+ /**
+ * @param provider
+ * the provider to set
+ */
+ public void setProvider(final AttributeProvider provider) {
+ this.setSourceType(SOURCE_LOCAL_APROVIDER);
+
+ this.provider = provider;
+ }
+
+ /**
+ * @return the provider
+ */
+ public AttributeProvider getProvider() {
+ return provider;
+ }
+
+ /**
+ * @param country
+ * the country to set
+ */
+ public void setCountry(final Country country) {
+ this.setSourceType(SOURCE_REMOTE_COUNTRY);
+
+ this.country = country;
+ }
+
+ /**
+ * @return the country
+ */
+ public Country getCountry() {
+ return country;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean equals(Object obj) {
+ boolean outcome = false;
+
+ LOG.debug("Calling equals with Object.");
+ if (obj instanceof AttributeSource) {
+ LOG.debug("Calling equals with AttributeSource.");
+ outcome = this.innerEquals((AttributeSource) obj);
+ }
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Object equals outcome: " + outcome);
+ }
+ return outcome;
+ }
+
+ /**
+ * Compare the given AttributeSource with the current object in order to determinine if they are equal.
+ *
+ * @param obj
+ * The AttributeSource to compare to
+ *
+ * @return true if the two objects are equal
+ */
+ public boolean innerEquals(AttributeSource obj) {
+ boolean outcome = false;
+
+ if (this.sourceType == obj.getSourceType()) {
+ if (this.sourceType == AttributeSource.SOURCE_LOCAL_APROVIDER) {
+ if (this.provider.getProviderId().equals(obj.getProvider().getProviderId()))
+ outcome = true;
+ } else if (this.sourceType == AttributeSource.SOURCE_REMOTE_COUNTRY) {
+ if (this.country.getCountryId().equals(obj.getCountry().getCountryId()))
+ outcome = true;
+ }
+ }
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("AttributeSource equals outcome: " + outcome);
+ }
+ return outcome;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public int hashCode() {
+ int hash = 1;
+ hash = hash * 17 + this.sourceType;
+ if (this.sourceType == AttributeSource.SOURCE_LOCAL_APROVIDER)
+ hash = hash * 31 + this.provider.getProviderName().hashCode();
+ else
+ hash = hash * 31 + this.country.getCountryName().hashCode();
+ return hash;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeUtil.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeUtil.java
index af7ab6cf3..f49986aaf 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeUtil.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/AttributeUtil.java
@@ -23,209 +23,196 @@ import org.apache.commons.lang.StringUtils;
/**
* This class holds static helper methods.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.5 $, $Date: 2010-12-15 23:19:59 $
*/
public final class AttributeUtil {
-
- /**
- * Private constructor. Prevents the class from being instantiated.
- */
- private AttributeUtil() {
- // empty constructor
- }
-
- /**
- * Safe escape any given string.
- *
- * @param value The HTTP Value to escaped.
- *
- * @return The value escaped value.
- */
- public static String escape(final String value) {
-
- final String attrSep = PEPSValues.ATTRIBUTE_SEP.toString();
- final String attrTupleSep = PEPSValues.ATTRIBUTE_TUPLE_SEP.toString();
- final String attrValueSep = PEPSValues.ATTRIBUTE_VALUE_SEP.toString();
-
- final String escAttrSep = "%" + (int) attrSep.charAt(0);
- final String escAttrTupleSep = "%" + (int) attrTupleSep.charAt(0);
- final String escAttrValueSep = "%" + (int) attrValueSep.charAt(0);
-
- return value.replace(attrSep, escAttrSep)
- .replace(attrTupleSep, escAttrTupleSep)
- .replace(attrValueSep, escAttrValueSep);
- }
-
- /**
- * Unescape any given string.
- *
- * @param value The HTTP Value to be unescaped.
- *
- * @return The value unescaped value.
- */
- public static String unescape(final String value) {
- final String attrSep = PEPSValues.ATTRIBUTE_SEP.toString();
- final String attrTupleSep = PEPSValues.ATTRIBUTE_TUPLE_SEP.toString();
- final String attrValueSep = PEPSValues.ATTRIBUTE_VALUE_SEP.toString();
-
- final String escAttrSep = "%" + (int) attrSep.charAt(0);
- final String escAttrTupleSep = "%" + (int) attrTupleSep.charAt(0);
- final String escAttrValueSep = "%" + (int) attrValueSep.charAt(0);
-
- return value.replace(escAttrSep, attrSep)
- .replace(escAttrTupleSep, attrTupleSep)
- .replace(escAttrValueSep, attrValueSep);
- }
-
- /**
- * Appends the string representation of an object to a StringBuilder.
- *
- * @param strBuilder The StringBuilder to append to.
- * @param val The string representation of an object.
- */
- public static void appendIfNotNull(final StringBuilder strBuilder,
- final Object val) {
-
- if (val != null) {
- strBuilder.append(val);
- }
- }
-
- /**
- * Given a separator and a list of strings, joins the list, as a string,
- * separated by the separator string.
- *
- * @param list The list of strings to join.
- * @param separator The separator string.
- * @return the list, as a string, separated by the separator string.
- */
- public static String listToString(final List<String> list,
- final String separator) {
-
- final StringBuilder strBuilder = new StringBuilder();
- for (final String s : list) {
- if (!StringUtils.isEmpty(s)) {
- strBuilder.append(AttributeUtil.escape(s) + separator);
- }
- }
- return strBuilder.toString();
- }
-
- /**
- * Given a separator and a map of strings to strings, joins the map, as a
- * string, separated by the separator string with the pair key/value
- * concatenated with a '='.
- *
- * @param map The map of strings to join.
- * @param separator The separator string.
- *
- * @return the map of strings, as a string, separated by the separator string
- * with the pair key/value concatenated with a '='.
- */
- public static String mapToString(final Map<String, String> map,
- final String separator) {
-
- final StringBuilder strBuilder = new StringBuilder();
- final Iterator<Entry<String, String>> valuesIt = map.entrySet().iterator();
- while (valuesIt.hasNext()) {
- final Entry<String, String> entry = valuesIt.next();
- strBuilder.append(entry.getKey());
- strBuilder.append('=');
- strBuilder.append(AttributeUtil.escape(entry.getValue()));
- strBuilder.append(separator);
- }
- return strBuilder.toString();
- }
-
- /**
- * Validates the attribute value format.
- *
- * @param value The attribute value to validate.
- *
- * @return true if value has a valid format.
- */
- public static boolean isValidValue(final String value) {
- boolean retVal = false;
- if (value != null && value.charAt(0) == '[' && value.endsWith("]")) {
- final String tmpAttrValue = value.substring(1, value.length() - 1);
- final String[] vals =
- tmpAttrValue.split(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- if (tmpAttrValue.length() >= 0
- || (vals.length > 0 && vals[0].length() > 0)) {
- retVal = true;
- }
- }
- return retVal;
- }
-
- /**
- * Validates the attribute type value. It's case insensitive. E.g. return true
- * value to: a) "true", "TRUE", "True", ... b) "false", "FALSE", "False", ...
- *
- * @param type The attribute type value.
- *
- * @return true if type has a true or false (case insensitive) value.
- */
- public static boolean isValidType(final String type) {
- return StringUtils.isNotEmpty(type) && (PEPSValues.TRUE.toString().equalsIgnoreCase(type) || PEPSValues.FALSE.toString().equalsIgnoreCase(type)) ;
- }
-
- /**
- * Validates the Personal attribute tuple. E.g. name:type:[value]:status
- *
- * @param tuples The Personal attribute's tuple.
- *
- * @return true if the tuples' format is valid.
- *
- * @see PEPSUtil#validateParameter(String, String, String)
- * @see String#equalsIgnoreCase(String)
- */
- public static boolean hasValidTuples(final String[] tuples) {
- boolean retVal = false;
-
- final int numberTuples = AttributeConstants.NUMBER_TUPLES.intValue();
- if (tuples != null && tuples.length == numberTuples) {
- // validate attrName
- final int attrNameIndex = AttributeConstants.ATTR_NAME_INDEX.intValue();
- final int attrTypeIndex = AttributeConstants.ATTR_TYPE_INDEX.intValue();
- final int attrValueIndex = AttributeConstants.ATTR_VALUE_INDEX.intValue();
-
- retVal =
- StringUtils.isNotEmpty(tuples[attrNameIndex])
- && StringUtils.isNotEmpty(tuples[attrTypeIndex])
- && StringUtils.isNotEmpty(tuples[attrValueIndex])
- && AttributeUtil.isValidType(tuples[attrTypeIndex])
- && AttributeUtil.isValidValue(tuples[attrValueIndex]);
- }
- return retVal;
- }
-
- /**
- * Check if all mandatory attributes have values.
- *
- * @param personalAttrList The Personal Attributes List.
- *
- * @return true if all mandatory attributes have values, false if at least one
- * attribute doesn't have value.
- */
- public static boolean checkMandatoryAttributes(
- final IPersonalAttributeList personalAttrList) {
-
- final Iterator<PersonalAttribute> itAttributes =
- personalAttrList.values().iterator();
- boolean retVal = true;
- while (itAttributes.hasNext() && retVal) {
- final PersonalAttribute attr = itAttributes.next();
- if (attr.isRequired()
- && !STORKStatusCode.STATUS_AVAILABLE.toString()
- .equals(attr.getStatus())) {
- retVal = false;
- }
- }
- return retVal;
- }
+
+ /**
+ * Private constructor. Prevents the class from being instantiated.
+ */
+ private AttributeUtil() {
+ // empty constructor
+ }
+
+ /**
+ * Safe escape any given string.
+ *
+ * @param value
+ * The HTTP Value to escaped.
+ *
+ * @return The value escaped value.
+ */
+ public static String escape(final String value) {
+
+ final String attrSep = PEPSValues.ATTRIBUTE_SEP.toString();
+ final String attrTupleSep = PEPSValues.ATTRIBUTE_TUPLE_SEP.toString();
+ final String attrValueSep = PEPSValues.ATTRIBUTE_VALUE_SEP.toString();
+
+ final String escAttrSep = "%" + (int) attrSep.charAt(0);
+ final String escAttrTupleSep = "%" + (int) attrTupleSep.charAt(0);
+ final String escAttrValueSep = "%" + (int) attrValueSep.charAt(0);
+
+ return value.replace(attrSep, escAttrSep).replace(attrTupleSep, escAttrTupleSep).replace(attrValueSep, escAttrValueSep);
+ }
+
+ /**
+ * Unescape any given string.
+ *
+ * @param value
+ * The HTTP Value to be unescaped.
+ *
+ * @return The value unescaped value.
+ */
+ public static String unescape(final String value) {
+ final String attrSep = PEPSValues.ATTRIBUTE_SEP.toString();
+ final String attrTupleSep = PEPSValues.ATTRIBUTE_TUPLE_SEP.toString();
+ final String attrValueSep = PEPSValues.ATTRIBUTE_VALUE_SEP.toString();
+
+ final String escAttrSep = "%" + (int) attrSep.charAt(0);
+ final String escAttrTupleSep = "%" + (int) attrTupleSep.charAt(0);
+ final String escAttrValueSep = "%" + (int) attrValueSep.charAt(0);
+
+ return value.replace(escAttrSep, attrSep).replace(escAttrTupleSep, attrTupleSep).replace(escAttrValueSep, attrValueSep);
+ }
+
+ /**
+ * Appends the string representation of an object to a StringBuilder.
+ *
+ * @param strBuilder
+ * The StringBuilder to append to.
+ * @param val
+ * The string representation of an object.
+ */
+ public static void appendIfNotNull(final StringBuilder strBuilder, final Object val) {
+
+ if (val != null) {
+ strBuilder.append(val);
+ }
+ }
+
+ /**
+ * Given a separator and a list of strings, joins the list, as a string, separated by the separator string.
+ *
+ * @param list
+ * The list of strings to join.
+ * @param separator
+ * The separator string.
+ * @return the list, as a string, separated by the separator string.
+ */
+ public static String listToString(final List<String> list, final String separator) {
+
+ final StringBuilder strBuilder = new StringBuilder();
+ for (final String s : list) {
+ if (!StringUtils.isEmpty(s)) {
+ strBuilder.append(AttributeUtil.escape(s) + separator);
+ }
+ }
+ return strBuilder.substring(0, strBuilder.length() - 1).toString();
+ }
+
+ /**
+ * Given a separator and a map of strings to strings, joins the map, as a string, separated by the separator string with the pair key/value concatenated with a '='.
+ *
+ * @param map
+ * The map of strings to join.
+ * @param separator
+ * The separator string.
+ *
+ * @return the map of strings, as a string, separated by the separator string with the pair key/value concatenated with a '='.
+ */
+ public static String mapToString(final Map<String, String> map, final String separator) {
+
+ final StringBuilder strBuilder = new StringBuilder();
+ final Iterator<Entry<String, String>> valuesIt = map.entrySet().iterator();
+ while (valuesIt.hasNext()) {
+ final Entry<String, String> entry = valuesIt.next();
+ strBuilder.append(entry.getKey());
+ strBuilder.append('=');
+ strBuilder.append(AttributeUtil.escape(entry.getValue()));
+ strBuilder.append(separator);
+ }
+ return strBuilder.substring(0, strBuilder.length() - 1).toString();
+ }
+
+ /**
+ * Validates the attribute value format.
+ *
+ * @param value
+ * The attribute value to validate.
+ *
+ * @return true if value has a valid format.
+ */
+ public static boolean isValidValue(final String value) {
+ boolean retVal = false;
+ if (value != null && value.charAt(0) == '[' && value.endsWith("]")) {
+ final String tmpAttrValue = value.substring(1, value.length() - 1);
+ final String[] vals = tmpAttrValue.split(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
+
+ if (tmpAttrValue.length() >= 0 || (vals.length > 0 && vals[0].length() > 0)) {
+ retVal = true;
+ }
+ }
+ return retVal;
+ }
+
+ /**
+ * Validates the attribute type value. It's case insensitive. E.g. return true value to: a) "true", "TRUE", "True", ... b) "false", "FALSE", "False", ...
+ *
+ * @param type
+ * The attribute type value.
+ *
+ * @return true if type has a true or false (case insensitive) value.
+ */
+ public static boolean isValidType(final String type) {
+ return StringUtils.isNotEmpty(type) && (PEPSValues.TRUE.toString().equalsIgnoreCase(type) || PEPSValues.FALSE.toString().equalsIgnoreCase(type));
+ }
+
+ /**
+ * Validates the Personal attribute tuple. E.g. name:type:[value]:status
+ *
+ * @param tuples
+ * The Personal attribute's tuple.
+ *
+ * @return true if the tuples' format is valid.
+ *
+ * @see PEPSUtil#validateParameter(String, String, String)
+ * @see String#equalsIgnoreCase(String)
+ */
+ public static boolean hasValidTuples(final String[] tuples) {
+ boolean retVal = false;
+
+ final int numberTuples = AttributeConstants.NUMBER_TUPLES.intValue();
+ if (tuples != null && tuples.length == numberTuples) {
+ // validate attrName
+ final int attrNameIndex = AttributeConstants.ATTR_NAME_INDEX.intValue();
+ final int attrTypeIndex = AttributeConstants.ATTR_TYPE_INDEX.intValue();
+ final int attrValueIndex = AttributeConstants.ATTR_VALUE_INDEX.intValue();
+
+ retVal = StringUtils.isNotEmpty(tuples[attrNameIndex]) && StringUtils.isNotEmpty(tuples[attrTypeIndex]) && StringUtils.isNotEmpty(tuples[attrValueIndex])
+ && AttributeUtil.isValidType(tuples[attrTypeIndex]) && AttributeUtil.isValidValue(tuples[attrValueIndex]);
+ }
+ return retVal;
+ }
+
+ /**
+ * Check if all mandatory attributes have values.
+ *
+ * @param personalAttrList
+ * The Personal Attributes List.
+ *
+ * @return true if all mandatory attributes have values, false if at least one attribute doesn't have value.
+ */
+ public static boolean checkMandatoryAttributes(final IPersonalAttributeList personalAttrList) {
+
+ final Iterator<PersonalAttribute> itAttributes = personalAttrList.values().iterator();
+ boolean retVal = true;
+ while (itAttributes.hasNext() && retVal) {
+ final PersonalAttribute attr = itAttributes.next();
+ if (attr.isRequired() && !STORKStatusCode.STATUS_AVAILABLE.toString().equals(attr.getStatus())) {
+ retVal = false;
+ }
+ }
+ return retVal;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/CitizenConsent.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/CitizenConsent.java
index 9ebcfbd5a..a1b6c5a53 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/CitizenConsent.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/CitizenConsent.java
@@ -17,107 +17,105 @@ import java.util.ArrayList;
import java.util.List;
/**
- * This class is a bean used to store the information relative to the Citizen
- * Consent.
+ * This class is a bean used to store the information relative to the Citizen Consent.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.15 $, $Date: 2010-11-17 05:15:28 $
*/
public final class CitizenConsent {
-
- /**
- * Mandatory attributes list.
- */
- private List<String> mandatoryList;
-
- /**
- * Optional attributes list.
- */
- private List<String> optionalList;
-
- /**
- * Citizen Consent default Constructor.
- */
- public CitizenConsent() {
- this.mandatoryList = new ArrayList<String>();
- this.optionalList = new ArrayList<String>();
- }
-
- /**
- * Getter for the mandatoryList value.
- *
- * @return The mandatoryList value.
- */
- public List<String> getMandatoryList() {
- return this.mandatoryList;
- }
-
- /**
- * Setter for the mandatoryList value.
- *
- * @param mandatoryAttrList Mandatory parameters list.
- */
- public void setMandatoryList(final List<String> mandatoryAttrList) {
- this.mandatoryList = mandatoryAttrList;
- }
-
- /**
- * Setter for some mandatoryAttribute. Adds the input parameter to the
- * mandatoryList.
- *
- * @param mandatoryAttr Attribute to add to the mandatoryList.
- */
- public void setMandatoryAttribute(final String mandatoryAttr) {
- this.mandatoryList.add(mandatoryAttr);
- }
-
- /**
- * Getter for the optionalList value.
- *
- * @return The optionalList value.
- */
- public List<String> getOptionalList() {
- return optionalList;
- }
-
- /**
- * Setter for the optionalList value.
- *
- * @param optAttrList Optional parameters list.
- */
- public void setOptionalList(final List<String> optAttrList) {
- this.optionalList = optAttrList;
- }
-
- /**
- * Setter for some optionalAttr. Adds the input parameter to the optionalList.
- *
- * @param optionalAttr Attribute to add to the optionalList.
- */
- public void setOptionalAttribute(final String optionalAttr) {
- this.optionalList.add(optionalAttr);
- }
-
- /**
- * Returns a string in the following format. "Mandatory attributes:
- * mandatoryAttr1;mandatoryAttr2;mandatoryAttrN Optional attributes:
- * optionalAttr1;optionalAttr2;optionalAttrN"
- *
- * @return {@inheritDoc}
- */
- public String toString() {
- final StringBuilder strbldr = new StringBuilder(46);
- strbldr.append("Mandatory attributes: ");
- for (final String str : mandatoryList) {
- strbldr.append(str).append(';');
- }
- strbldr.append(" Optional attributes: ");
- for (final String str : optionalList) {
- strbldr.append(str).append(';');
- }
- return strbldr.toString();
- }
-
+
+ /**
+ * Mandatory attributes list.
+ */
+ private List<String> mandatoryList;
+
+ /**
+ * Optional attributes list.
+ */
+ private List<String> optionalList;
+
+ /**
+ * Citizen Consent default Constructor.
+ */
+ public CitizenConsent() {
+ this.mandatoryList = new ArrayList<String>();
+ this.optionalList = new ArrayList<String>();
+ }
+
+ /**
+ * Getter for the mandatoryList value.
+ *
+ * @return The mandatoryList value.
+ */
+ public List<String> getMandatoryList() {
+ return this.mandatoryList;
+ }
+
+ /**
+ * Setter for the mandatoryList value.
+ *
+ * @param mandatoryAttrList
+ * Mandatory parameters list.
+ */
+ public void setMandatoryList(final List<String> mandatoryAttrList) {
+ this.mandatoryList = mandatoryAttrList;
+ }
+
+ /**
+ * Setter for some mandatoryAttribute. Adds the input parameter to the mandatoryList.
+ *
+ * @param mandatoryAttr
+ * Attribute to add to the mandatoryList.
+ */
+ public void setMandatoryAttribute(final String mandatoryAttr) {
+ this.mandatoryList.add(mandatoryAttr);
+ }
+
+ /**
+ * Getter for the optionalList value.
+ *
+ * @return The optionalList value.
+ */
+ public List<String> getOptionalList() {
+ return optionalList;
+ }
+
+ /**
+ * Setter for the optionalList value.
+ *
+ * @param optAttrList
+ * Optional parameters list.
+ */
+ public void setOptionalList(final List<String> optAttrList) {
+ this.optionalList = optAttrList;
+ }
+
+ /**
+ * Setter for some optionalAttr. Adds the input parameter to the optionalList.
+ *
+ * @param optionalAttr
+ * Attribute to add to the optionalList.
+ */
+ public void setOptionalAttribute(final String optionalAttr) {
+ this.optionalList.add(optionalAttr);
+ }
+
+ /**
+ * Returns a string in the following format. "Mandatory attributes: mandatoryAttr1;mandatoryAttr2;mandatoryAttrN Optional attributes: optionalAttr1;optionalAttr2;optionalAttrN"
+ *
+ * @return {@inheritDoc}
+ */
+ public String toString() {
+ final StringBuilder strbldr = new StringBuilder(46);
+ strbldr.append("Mandatory attributes: ");
+ for (final String str : mandatoryList) {
+ strbldr.append(str).append(';');
+ }
+ strbldr.append(" Optional attributes: ");
+ for (final String str : optionalList) {
+ strbldr.append(str).append(';');
+ }
+ return strbldr.toString();
+ }
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/Country.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/Country.java
index 001f9317a..7bef0c628 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/Country.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/Country.java
@@ -18,78 +18,80 @@ import java.io.Serializable;
/**
* This class is a bean used to store the information relative to the Country.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.10 $, $Date: 2010-11-17 05:15:28 $
*/
public final class Country implements Serializable {
-
- /**
+
+ /**
*
*/
private static final long serialVersionUID = 1135994036496370993L;
-/**
- * Country Id.
- */
- private String countryId;
-
- /**
- * Country Name.
- */
- private String countryName;
-
- /**
- * Country Constructor.
- *
- * @param cId Id of the Country.
- * @param cName Name of the Country.
- */
- public Country(final String cId, final String cName) {
-
- this.countryId = cId;
- this.countryName = cName;
- }
-
- /**
- * Getter for the countryId value.
- *
- * @return The countryId value.
- */
- public String getCountryId() {
-
- return countryId;
- }
-
- /**
- * Setter for the countryId value.
- *
- * @param cId Id of the Country.
- */
- public void setCountryId(final String cId) {
-
- this.countryId = cId;
- }
-
- /**
- * Getter for the countryName value.
- *
- * @return The countryName value.
- */
- public String getCountryName() {
-
- return countryName;
- }
-
- /**
- * Setter for the countryName value.
- *
- * @param name Name of the Country.
- */
- public void setCountryName(final String name) {
-
- this.countryName = name;
- }
-
+ /**
+ * Country Id.
+ */
+ private String countryId;
+
+ /**
+ * Country Name.
+ */
+ private String countryName;
+
+ /**
+ * Country Constructor.
+ *
+ * @param cId
+ * Id of the Country.
+ * @param cName
+ * Name of the Country.
+ */
+ public Country(final String cId, final String cName) {
+
+ this.countryId = cId;
+ this.countryName = cName;
+ }
+
+ /**
+ * Getter for the countryId value.
+ *
+ * @return The countryId value.
+ */
+ public String getCountryId() {
+
+ return countryId;
+ }
+
+ /**
+ * Setter for the countryId value.
+ *
+ * @param cId
+ * Id of the Country.
+ */
+ public void setCountryId(final String cId) {
+
+ this.countryId = cId;
+ }
+
+ /**
+ * Getter for the countryName value.
+ *
+ * @return The countryName value.
+ */
+ public String getCountryName() {
+
+ return countryName;
+ }
+
+ /**
+ * Setter for the countryName value.
+ *
+ * @param name
+ * Name of the Country.
+ */
+ public void setCountryName(final String name) {
+
+ this.countryName = name;
+ }
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/CountryCodes.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/CountryCodes.java
index 54345f3ea..5cf7a9751 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/CountryCodes.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/CountryCodes.java
@@ -19,61 +19,43 @@ import java.util.List;
/**
* This class contains all the ISO 3166-1 Alpha 3 Country Codes.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.2 $, $Date: 2011-04-14 00:24:56 $
*/
public final class CountryCodes {
-
- /**
- * Private Constructor.
- */
- private CountryCodes() {
-
- }
-
- /**
- * ISO 3166-1 Alpha 3 Country Codes.
- */
- private static List<String> countrysAlpha3 = Arrays.asList("ABW", "AFG",
- "AGO", "AIA", "ALA", "ALB", "AND", "ANT", "ARE", "ARG", "ARM", "ASM",
- "ATA", "ATF", "ATG", "AUS", "AUT", "AZE", "BDI", "BEL", "BEN", "BES",
- "BFA", "BGD", "BGR", "BHR", "BHS", "BIH", "BLM", "BLR", "BLZ", "BMU",
- "BOL", "BRA", "BRB", "BRN", "BTN", "BUR", "BVT", "BWA", "BYS", "CAF",
- "CAN", "CCK", "CHE", "CHL", "CHN", "CIV", "CMR", "COD", "COG", "COK",
- "COL", "COM", "CPV", "CRI", "CSK", "CUB", "CUW", "CXR", "CYM", "CYP",
- "CZE", "DEU", "DJI", "DMA", "DNK", "DOM", "DZA", "ECU", "EGY", "ERI",
- "ESH", "ESP", "EST", "ETH", "FIN", "FJI", "FLK", "FRA", "FRO", "FSM",
- "GAB", "GBR", "GEO", "GGY", "GHA", "GIB", "GIN", "GLP", "GMB", "GNB",
- "GNQ", "GRC", "GRD", "GRL", "GTM", "GUF", "GUM", "GUY", "HKG", "HMD",
- "HND", "HRV", "HTI", "HUN", "IDN", "IMN", "IND", "IOT", "IRL", "IRN",
- "IRQ", "ISL", "ISR", "ITA", "JAM", "JEY", "JOR", "JPN", "KAZ", "KEN",
- "KGZ", "KHM", "KIR", "KNA", "KOR", "KWT", "LAO", "LBN", "LBR", "LBY",
- "LCA", "LIE", "LKA", "LSO", "LTU", "LUX", "LVA", "MAC", "MAF", "MAR",
- "MCO", "MDA", "MDG", "MDV", "MEX", "MHL", "MKD", "MLI", "MLT", "MMR",
- "MNE", "MNG", "MNP", "MOZ", "MRT", "MSR", "MTQ", "MUS", "MWI", "MYS",
- "MYT", "NAM", "NCL", "NER", "NFK", "NGA", "NIC", "NIU", "NLD", "NOR",
- "NPL", "NRU", "NZL", "OMN", "PAK", "PAN", "PCN", "PER", "PHL", "PLW",
- "PNG", "POL", "PRI", "PRK", "PRT", "PRY", "PSE", "PYF", "QAT", "REU",
- "ROM", "ROU", "RUS", "RWA", "SAU", "SCG", "SDN", "SEN", "SGP", "SGS",
- "SHN", "SJM", "SLB", "SLE", "SLV", "SMR", "SOM", "SPM", "SRB", "STP",
- "SUR", "SVK", "SVN", "SXW", "SWE", "SWZ", "SYC", "SYR", "TCA", "TCD",
- "TGO", "THA", "TJK", "TKL", "TKM", "TLS", "TMP", "TON", "TTO", "TUN",
- "TUR", "TUV", "TWN", "TZA", "UGA", "UKR", "UMI", "URY", "USA", "UZB",
- "VAT", "VCT", "VEN", "VGB", "VIR", "VNM", "VUT", "WLF", "WSM", "YEM",
- "YUG", "ZAF", "ZAR", "ZMB", "ZWE");
-
- /**
- * Searches the CountryCode (3166-1 alpha3 format) an return true if it
- * exists.
- *
- * @param countryCode The Country code to search.
- *
- * @return true if the CountryCode exists, false otherwise.
- */
- public static boolean hasCountryCodeAlpha3(final String countryCode) {
-
- return CountryCodes.countrysAlpha3.contains(countryCode);
- }
+
+ /**
+ * Private Constructor.
+ */
+ private CountryCodes() {
+
+ }
+
+ /**
+ * ISO 3166-1 Alpha 3 Country Codes.
+ */
+ private static List<String> countrysAlpha3 = Arrays.asList("ABW", "AFG", "AGO", "AIA", "ALA", "ALB", "AND", "ANT", "ARE", "ARG", "ARM", "ASM", "ATA", "ATF", "ATG", "AUS", "AUT", "AZE", "BDI",
+ "BEL", "BEN", "BES", "BFA", "BGD", "BGR", "BHR", "BHS", "BIH", "BLM", "BLR", "BLZ", "BMU", "BOL", "BRA", "BRB", "BRN", "BTN", "BUR", "BVT", "BWA", "BYS", "CAF", "CAN", "CCK", "CHE",
+ "CHL", "CHN", "CIV", "CMR", "COD", "COG", "COK", "COL", "COM", "CPV", "CRI", "CSK", "CUB", "CUW", "CXR", "CYM", "CYP", "CZE", "DEU", "DJI", "DMA", "DNK", "DOM", "DZA", "ECU", "EGY",
+ "ERI", "ESH", "ESP", "EST", "ETH", "FIN", "FJI", "FLK", "FRA", "FRO", "FSM", "GAB", "GBR", "GEO", "GGY", "GHA", "GIB", "GIN", "GLP", "GMB", "GNB", "GNQ", "GRC", "GRD", "GRL", "GTM",
+ "GUF", "GUM", "GUY", "HKG", "HMD", "HND", "HRV", "HTI", "HUN", "IDN", "IMN", "IND", "IOT", "IRL", "IRN", "IRQ", "ISL", "ISR", "ITA", "JAM", "JEY", "JOR", "JPN", "KAZ", "KEN", "KGZ",
+ "KHM", "KIR", "KNA", "KOR", "KWT", "LAO", "LBN", "LBR", "LBY", "LCA", "LIE", "LKA", "LSO", "LTU", "LUX", "LVA", "MAC", "MAF", "MAR", "MCO", "MDA", "MDG", "MDV", "MEX", "MHL", "MKD",
+ "MLI", "MLT", "MMR", "MNE", "MNG", "MNP", "MOZ", "MRT", "MSR", "MTQ", "MUS", "MWI", "MYS", "MYT", "NAM", "NCL", "NER", "NFK", "NGA", "NIC", "NIU", "NLD", "NOR", "NPL", "NRU", "NZL",
+ "OMN", "PAK", "PAN", "PCN", "PER", "PHL", "PLW", "PNG", "POL", "PRI", "PRK", "PRT", "PRY", "PSE", "PYF", "QAT", "REU", "ROM", "ROU", "RUS", "RWA", "SAU", "SCG", "SDN", "SEN", "SGP",
+ "SGS", "SHN", "SJM", "SLB", "SLE", "SLV", "SMR", "SOM", "SPM", "SRB", "STP", "SUR", "SVK", "SVN", "SXW", "SWE", "SWZ", "SYC", "SYR", "TCA", "TCD", "TGO", "THA", "TJK", "TKL", "TKM",
+ "TLS", "TMP", "TON", "TTO", "TUN", "TUR", "TUV", "TWN", "TZA", "UGA", "UKR", "UMI", "URY", "USA", "UZB", "VAT", "VCT", "VEN", "VGB", "VIR", "VNM", "VUT", "WLF", "WSM", "YEM", "YUG",
+ "ZAF", "ZAR", "ZMB", "ZWE");
+
+ /**
+ * Searches the CountryCode (3166-1 alpha3 format) an return true if it exists.
+ *
+ * @param countryCode
+ * The Country code to search.
+ *
+ * @return true if the CountryCode exists, false otherwise.
+ */
+ public static boolean hasCountryCodeAlpha3(final String countryCode) {
+
+ return CountryCodes.countrysAlpha3.contains(countryCode);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/DateUtil.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/DateUtil.java
index 9c0bd6775..0c59e117f 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/DateUtil.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/DateUtil.java
@@ -27,143 +27,134 @@ import eu.stork.peps.auth.commons.exceptions.SecurityPEPSException;
/**
* This class holds static helper methods for Date Operations.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.4 $, $Date: 2010-11-17 05:15:28 $
*/
public final class DateUtil {
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(DateUtil.class.getName());
-
- /**
- * yyyy Date format size.
- */
- private static final int YEAR_DATE_SIZE = 4;
-
- /**
- * yyyyMM Date format size.
- */
- private static final int MONTH_DATE_SIZE = 6;
-
- /**
- * Private constructor. Prevents the class from being instantiated.
- */
- private DateUtil() {
- // empty constructor
- }
-
- /**
- * Fulfils dateValue with a valid date. The following roles are applied: a) If
- * the dateValue only contains the year then fulfils with last year's day.
- * e.g. this method returns 19951231 to the 1995 dateValue. b) If the
- * dateValue contains the year and the month then fulfils with last month's
- * day. e.g. this method returns 19950630 to the 199505 dateValue.
- *
- * @param dateValue The date to be fulfilled.
- *
- * @return The dateValue fulfilled.
- */
- private static String fulfilDate(final String dateValue) {
-
- final StringBuffer strBuf = new StringBuffer();
- strBuf.append(dateValue);
- // if the IdP just provides the year then we must fullfil the date.
- if (dateValue.length() == YEAR_DATE_SIZE) {
- strBuf.append(PEPSValues.LAST_MONTH.toString());
- }
- // if the IdP provides the year and the month then we must fullfil the
- // date.
- if (dateValue.length() == MONTH_DATE_SIZE
- || strBuf.length() == MONTH_DATE_SIZE) {
- // IdP doesn't provide the day, so we will use DateTime to
- // calculate it.
- final String noDayCons = PEPSValues.NO_DAY_DATE_FORMAT.toString();
- final DateTimeFormatter fmt = DateTimeFormat.forPattern(noDayCons);
- final DateTime dateTime = fmt.parseDateTime(strBuf.toString());
- // Append the last month's day.
- strBuf.append(dateTime.dayOfMonth().withMaximumValue().getDayOfMonth());
- }
-
- return strBuf.toString();
- }
-
- /**
- * Validates the dateValue format: a) if has a valid size; b) if has a numeric
- * value; Note: dateValue must have the format yyyyMMdd.
- *
- * @param dateValueTmp The date to be validated.
- * @param pattern The accepted date format.
- *
- * @return true if the date has a valid format.
- */
- public static boolean isValidFormatDate(final String dateValueTmp,
- final String pattern) {
-
- boolean retVal = true;
- try {
- final String dateValue = DateUtil.fulfilDate(dateValueTmp);
-
- final DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern);
- fmt.parseDateTime(dateValue);
- } catch (final Exception e) {
- // We catch Exception because we only have to return false
- // value!
- retVal = false;
- }
- return retVal;
- }
-
- /**
- * Calculates the age for a given date string.
- *
- * @param dateVal The date to be validated.
- * @param now The current date.
- * @param pattern The date pattern.
- *
- * @return The age value.
- */
- public static int calculateAge(final String dateVal, final DateTime now,
- final String pattern) {
-
- if (DateUtil.isValidFormatDate(dateVal, pattern)) {
- try {
- final String dateValueTemp = DateUtil.fulfilDate(dateVal);
- final DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern);
- final DateTime dateTime = fmt.parseDateTime(dateValueTemp);
- // Calculating age
- final Years age = Years.yearsBetween(dateTime, now);
-
- return age.getYears();
- } catch (final IllegalArgumentException e) {
- LOG.warn("Invalid date format (" + pattern
- + ") or an invalid dateValue.");
- throw new SecurityPEPSException(
- PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorCode()),
- PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorMessage()),
- e);
- }
- } else {
- LOG.warn("Couldn't calculate Age, invalid date!");
- throw new SecurityPEPSException(
- PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorCode()),
- PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorMessage()));
- }
-
- }
-
- /**
- * Generates the current timestamp.
- *
- * @return timestamp The current timestamp
- */
- public static Timestamp currentTimeStamp() {
- final GregorianCalendar cal = new GregorianCalendar();
- final long millis = cal.getTimeInMillis();
- return new Timestamp(millis);
- }
-
+
+ /**
+ * Logger object.
+ */
+ private static final Logger LOG = Logger.getLogger(DateUtil.class.getName());
+
+ /**
+ * yyyy Date format size.
+ */
+ private static final int YEAR_DATE_SIZE = 4;
+
+ /**
+ * yyyyMM Date format size.
+ */
+ private static final int MONTH_DATE_SIZE = 6;
+
+ /**
+ * Private constructor. Prevents the class from being instantiated.
+ */
+ private DateUtil() {
+ // empty constructor
+ }
+
+ /**
+ * Fulfils dateValue with a valid date. The following roles are applied: a) If the dateValue only contains the year then fulfils with last year's day. e.g. this method returns 19951231 to the 1995
+ * dateValue. b) If the dateValue contains the year and the month then fulfils with last month's day. e.g. this method returns 19950630 to the 199505 dateValue.
+ *
+ * @param dateValue
+ * The date to be fulfilled.
+ *
+ * @return The dateValue fulfilled.
+ */
+ private static String fulfilDate(final String dateValue) {
+
+ final StringBuffer strBuf = new StringBuffer();
+ strBuf.append(dateValue);
+ // if the IdP just provides the year then we must fullfil the date.
+ if (dateValue.length() == YEAR_DATE_SIZE) {
+ strBuf.append(PEPSValues.LAST_MONTH.toString());
+ }
+ // if the IdP provides the year and the month then we must fullfil the
+ // date.
+ if (dateValue.length() == MONTH_DATE_SIZE || strBuf.length() == MONTH_DATE_SIZE) {
+ // IdP doesn't provide the day, so we will use DateTime to
+ // calculate it.
+ final String noDayCons = PEPSValues.NO_DAY_DATE_FORMAT.toString();
+ final DateTimeFormatter fmt = DateTimeFormat.forPattern(noDayCons);
+ final DateTime dateTime = fmt.parseDateTime(strBuf.toString());
+ // Append the last month's day.
+ strBuf.append(dateTime.dayOfMonth().withMaximumValue().getDayOfMonth());
+ }
+
+ return strBuf.toString();
+ }
+
+ /**
+ * Validates the dateValue format: a) if has a valid size; b) if has a numeric value; Note: dateValue must have the format yyyyMMdd.
+ *
+ * @param dateValueTmp
+ * The date to be validated.
+ * @param pattern
+ * The accepted date format.
+ *
+ * @return true if the date has a valid format.
+ */
+ public static boolean isValidFormatDate(final String dateValueTmp, final String pattern) {
+
+ boolean retVal = true;
+ try {
+ final String dateValue = DateUtil.fulfilDate(dateValueTmp);
+
+ final DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern);
+ fmt.parseDateTime(dateValue);
+ } catch (final Exception e) {
+ // We catch Exception because we only have to return false
+ // value!
+ retVal = false;
+ }
+ return retVal;
+ }
+
+ /**
+ * Calculates the age for a given date string.
+ *
+ * @param dateVal
+ * The date to be validated.
+ * @param now
+ * The current date.
+ * @param pattern
+ * The date pattern.
+ *
+ * @return The age value.
+ */
+ public static int calculateAge(final String dateVal, final DateTime now, final String pattern) {
+
+ if (DateUtil.isValidFormatDate(dateVal, pattern)) {
+ try {
+ final String dateValueTemp = DateUtil.fulfilDate(dateVal);
+ final DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern);
+ final DateTime dateTime = fmt.parseDateTime(dateValueTemp);
+ // Calculating age
+ final Years age = Years.yearsBetween(dateTime, now);
+
+ return age.getYears();
+ } catch (final IllegalArgumentException e) {
+ LOG.warn("Invalid date format (" + pattern + ") or an invalid dateValue.");
+ throw new SecurityPEPSException(PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorCode()), PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorMessage()), e);
+ }
+ } else {
+ LOG.warn("Couldn't calculate Age, invalid date!");
+ throw new SecurityPEPSException(PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorCode()), PEPSUtil.getConfig(PEPSErrors.INVALID_ATTRIBUTE_VALUE.errorMessage()));
+ }
+
+ }
+
+ /**
+ * Generates the current timestamp.
+ *
+ * @return timestamp The current timestamp
+ */
+ public static Timestamp currentTimeStamp() {
+ final GregorianCalendar cal = new GregorianCalendar();
+ final long millis = cal.getTimeInMillis();
+ return new Timestamp(millis);
+ }
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeListProcessor.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeListProcessor.java
index b13c70f04..bdcf58fec 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeListProcessor.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeListProcessor.java
@@ -13,136 +13,191 @@ import java.util.Map;
* @see IPersonalAttributeList
*/
public interface IAttributeListProcessor {
-
- /**
- * Checks if attribute list only contains allowed attributes.
- *
- * @param attrList the requested attribute list
- * @param attributes the allowed attributes
- *
- * @return true is all the attributes are allowed.
- *
- * @see IPersonalAttributeList
- */
- boolean hasAllowedAttributes(final IPersonalAttributeList attrList, final List<String> attributes);
-
- /**
- * Lookup for business attribute.
- *
- * @param attrList the requested attribute list
- * @param normalAttributes the normal attributes
- *
- * @return true is at least one business attribute was requested.
- *
- * @see IPersonalAttributeList
- */
- boolean hasBusinessAttributes(final IPersonalAttributeList attrList, final List<String> normalAttributes);
-
- /**
- * Lookup for business attribute in normal attribute list (loaded by
- * implementation).
- *
- * @param attrList the requested attribute list
- *
- * @return true is at least one business attribute was requested.
- *
- * @see IPersonalAttributeList
- */
- boolean hasBusinessAttributes(final IPersonalAttributeList attrList);
-
- /**
- * Adds eIdentifier, name, surname, and DateOfBirth attributes to get business
- * attributes from some AP.
- *
- * @param attrList the requested attribute list
- * @param attributes the list of attributes to add (eIdentifier, name,
- * surname, and DateOfBirth).
- *
- * @return the requested attribute list and the new attributes added
- * (eIdentifier, name, surname, and DateOfBirth).
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList addAPMandatoryAttributes(final IPersonalAttributeList attrList, final List<String> attributes);
-
- /**
- * Adds eIdentifier, name, surname, and DateOfBirth attributes, loaded by
- * implementation, to get business attributes from some AP.
- *
- * @param attrList the requested attribute list
- *
- * @return the requested attribute list and the new attributes added
- * (eIdentifier, name, surname, and DateOfBirth).
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList addAPMandatoryAttributes(final IPersonalAttributeList attrList);
-
- /**
- * Removes from attribute list the given list of attributes.
- *
- * @param attrList the requested attribute list
- * @param attributes the list of attributes to remove.
- *
- * @return the requested attribute list and the attributes removed.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList removeAPMandatoryAttributes(final IPersonalAttributeList attrList, final List<String> attributes);
-
- /**
- * Removes from attribute list the given list of attributes and change
- * attributes status if attribute was optional in the request.
- *
- * @param attrList the requested attribute list
- * @param attributes the map of attributes (attribute name, mandatory/optional) to remove.
- *
- * @return the requested attribute list and the attributes removed
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList removeAPMandatoryAttributes(IPersonalAttributeList attrList, Map<String, Boolean> attributes);
-
- /**
- * Checks if mandate attribute exist in the requested Attribute List. Power
- * attribute name to lookup is loaded by implementation.
- *
- * @param attrList the requested attribute list.
- *
- * @return true if mandate attribute exists or false otherwise.
- *
- * @see IPersonalAttributeList
- */
- boolean hasPowerAttribute(final IPersonalAttributeList attrList);
-
- /**
- * Checks if attribute name was requested and has value.
- *
- * @param attrList the requested attribute list.
- * @param attrName the attribute name to lookup for .
- *
- * @return true if attribute was requested and has value or false otherwise.
- *
- * @see IPersonalAttributeList
- */
- boolean hasAttributeValue(final IPersonalAttributeList attrList, final String attrName);
-
- /**
- * Checks if attribute has value.
- *
- * @param attr the attribute to check.
- *
- * @return true if has value;
- *
- * @see PersonalAttribute
- */
- boolean hasAttributeValue(final PersonalAttribute attr);
-
- /**
- * Gets a map (attribute name, attribute isRequired) of attributes added to attribute list.
- *
- * @return the Map of attributes added and if is required to attribute list.
- */
- Map<String, Boolean> getNormalAttributesAdded();
-
-} \ No newline at end of file
+
+ /**
+ * Checks if attribute list only contains allowed attributes.
+ *
+ * @param attrList
+ * the requested attribute list
+ * @param attributes
+ * the allowed attributes
+ *
+ * @return true is all the attributes are allowed.
+ *
+ * @see IPersonalAttributeList
+ */
+ boolean hasAllowedAttributes(final IPersonalAttributeList attrList, final List<String> attributes);
+
+ /**
+ * Lookup for business attribute.
+ *
+ * @param attrList
+ * the requested attribute list
+ * @param normalAttributes
+ * the normal attributes
+ *
+ * @return true is at least one business attribute was requested.
+ *
+ * @see IPersonalAttributeList
+ */
+ boolean hasBusinessAttributes(final IPersonalAttributeList attrList, final List<String> normalAttributes);
+
+ /**
+ * Lookup for business attribute in normal attribute list (loaded by implementation).
+ *
+ * @param attrList
+ * the requested attribute list
+ *
+ * @return true is at least one business attribute was requested.
+ *
+ * @see IPersonalAttributeList
+ */
+ boolean hasBusinessAttributes(final IPersonalAttributeList attrList);
+
+ /**
+ * Adds eIdentifier, name, surname, and DateOfBirth attributes to get business attributes from some AP.
+ *
+ * @param attrList
+ * the requested attribute list
+ * @param attributes
+ * the list of attributes to add (eIdentifier, name, surname, and DateOfBirth).
+ *
+ * @return the requested attribute list and the new attributes added (eIdentifier, name, surname, and DateOfBirth).
+ *
+ * @see IPersonalAttributeList
+ */
+ IPersonalAttributeList addAPMandatoryAttributes(final IPersonalAttributeList attrList, final List<String> attributes);
+
+ /**
+ * Adds eIdentifier, name, surname, and DateOfBirth attributes, loaded by implementation, to get business attributes from some AP.
+ *
+ * @param attrList
+ * the requested attribute list
+ *
+ * @return the requested attribute list and the new attributes added (eIdentifier, name, surname, and DateOfBirth).
+ *
+ * @see IPersonalAttributeList
+ */
+ IPersonalAttributeList addAPMandatoryAttributes(final IPersonalAttributeList attrList);
+
+ /**
+ * Removes from attribute list the given list of attributes.
+ *
+ * @param attrList
+ * the requested attribute list
+ * @param attributes
+ * the list of attributes to remove.
+ *
+ * @return the requested attribute list and the attributes removed.
+ *
+ * @see IPersonalAttributeList
+ */
+ IPersonalAttributeList removeAPMandatoryAttributes(final IPersonalAttributeList attrList, final List<String> attributes);
+
+ /**
+ * Removes from attribute list the given list of attributes and change attributes status if attribute was optional in the request.
+ *
+ * @param attrList
+ * the requested attribute list
+ * @param attributes
+ * the map of attributes (attribute name, mandatory/optional) to remove.
+ *
+ * @return the requested attribute list and the attributes removed
+ *
+ * @see IPersonalAttributeList
+ */
+ IPersonalAttributeList removeAPMandatoryAttributes(IPersonalAttributeList attrList, Map<String, Boolean> attributes);
+
+ /**
+ * Removes from attribute list the Stork list of attributes.
+ *
+ * @param attrList
+ * the requested attribute list
+ *
+ * @return the attribute list without rejected attributes.
+ *
+ * @see IPersonalAttributeList
+ */
+ IPersonalAttributeList removeAPRejectedAttributes(IPersonalAttributeList attrList);
+
+ /**
+ * Checks if mandate attribute exist in the requested Attribute List. Power attribute name to lookup is loaded by implementation.
+ *
+ * @param attrList
+ * the requested attribute list.
+ *
+ * @return true if mandate attribute exists or false otherwise.
+ *
+ * @see IPersonalAttributeList
+ */
+ boolean hasPowerAttribute(final IPersonalAttributeList attrList);
+
+ /**
+ * Checks if attribute name was requested and has value.
+ *
+ * @param attrList
+ * the requested attribute list.
+ * @param attrName
+ * the attribute name to lookup for .
+ *
+ * @return true if attribute was requested and has value or false otherwise.
+ *
+ * @see IPersonalAttributeList
+ */
+ boolean hasAttributeValue(final IPersonalAttributeList attrList, final String attrName);
+
+ /**
+ * Checks if attribute has value.
+ *
+ * @param attr
+ * the attribute to check.
+ *
+ * @return true if has value;
+ *
+ * @see PersonalAttribute
+ */
+ boolean hasAttributeValue(final PersonalAttribute attr);
+
+ /**
+ * Gets a map (attribute name, attribute isRequired) of attributes added to attribute list.
+ *
+ * @return the Map of attributes added and if is required to attribute list.
+ */
+ Map<String, Boolean> getNormalAttributesAdded();
+
+ /**
+ * Adds normal attributes to personal attribute list if exist in original list (allAttrList).
+ *
+ * @param attrList
+ * the list which will be updated
+ * @param allAttrList
+ * the list to check if attributes are to be included.
+ *
+ *
+ * @return the attributes list updated.
+ */
+ IPersonalAttributeList addNormalAttributes(IPersonalAttributeList attrList, IPersonalAttributeList allAttrList);
+
+ /**
+ * Updates list by filtering any attribute that must be requested instead of using a value obtained from cache (business and legal attrs)
+ *
+ * @param attrList
+ * the list which will be updated
+ * @return the filtered list
+ */
+ IPersonalAttributeList filterAttrList(IPersonalAttributeList attrList);
+
+ /**
+ * Updates the list of cached attrs by inserting the business and/or legal attrs requested by the user
+ *
+ * @param cachedAttrList
+ * @param requestedAttrsList
+ */
+ void updateAttrList(IPersonalAttributeList cachedAttrList, IPersonalAttributeList requestedAttrsList);
+
+ /**
+ * Verifies if normal attribute list contains any attribute that we must always request (usually business attributes)
+ */
+ boolean hasAlwaysRequestAttributes(IPersonalAttributeList attributeList);
+
+}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeProvidersMap.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeProvidersMap.java
index 733399ca3..cc5fe977f 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeProvidersMap.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeProvidersMap.java
@@ -10,73 +10,79 @@ import java.util.Iterator;
* @version $Revision: 1.00 $, $Date: 2013-09-20 $
*/
public interface IAttributeProvidersMap {
-
- /**
- * Returns the object associated the the given key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return The object associated the the given key.
- */
- IPersonalAttributeList get(AttributeSource key);
-
- /**
- * Associates a key to a value, and inserts them in the session object.
- *
- * @param key with which the specified value is to be associated.
- * @param value to be associated with the specified key.
- *
- * @return previous value associated with specified key, or null if there was
- * no mapping for key. A null return can also indicate that the map
- * previously associated null with the specified key.
- */
- Object put(AttributeSource key, IPersonalAttributeList value);
-
- /**
- * Removes the mapping for this key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return previous value associated with specified key, or null if there was
- * no mapping for key. A null return can also indicate that the map
- * previously associated null with the specified key.
- */
- IPersonalAttributeList remove(AttributeSource key);
-
- /**
- * Returns the number of key-value mappings in this map.
- *
- * @return the number of key-value mappings in this map.
- */
- int size();
-
- /**
- * Returns true if this map contains a mapping for the specified key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return true if this map contains a mapping for the specified key.
- */
- boolean containsKey(AttributeSource key);
-
- /**
- * Removes all mappings from this map.
- */
- void clear();
-
- /**
- * Returns true if this map contains no key-value mappings.
- *
- * @return true if this map contains no key-value mappings.
- */
- boolean isEmpty();
- /**
- * Returns an Iterator of the keys contained in this map. The implementation must
- * take care in order for the Iterator to have predictable order of the returned
- * keys.
- *
- * @return an iterator of the keys contained in this map
- */
- Iterator<AttributeSource> keyIterator();
+ /**
+ * Returns the object associated the the given key.
+ *
+ * @param key
+ * with which the specified value is to be associated.
+ *
+ * @return The object associated the the given key.
+ */
+ IPersonalAttributeList get(AttributeSource key);
+
+ /**
+ * Associates a key to a value, and inserts them in the session object.
+ *
+ * @param key
+ * with which the specified value is to be associated.
+ * @param value
+ * to be associated with the specified key.
+ *
+ * @return previous value associated with specified key, or null if there was no mapping for key. A null return can also indicate that the map previously associated null with the specified key.
+ */
+ Object put(AttributeSource key, IPersonalAttributeList value);
+
+ /**
+ * Removes the mapping for this key.
+ *
+ * @param key
+ * with which the specified value is to be associated.
+ *
+ * @return previous value associated with specified key, or null if there was no mapping for key. A null return can also indicate that the map previously associated null with the specified key.
+ */
+ IPersonalAttributeList remove(AttributeSource key);
+
+ /**
+ * Returns the number of key-value mappings in this map.
+ *
+ * @return the number of key-value mappings in this map.
+ */
+ int size();
+
+ /**
+ * Returns true if this map contains a mapping for the specified key.
+ *
+ * @param key
+ * with which the specified value is to be associated.
+ *
+ * @return true if this map contains a mapping for the specified key.
+ */
+ boolean containsKey(AttributeSource key);
+
+ /**
+ * Removes all mappings from this map.
+ */
+ void clear();
+
+ /**
+ * Returns true if this map contains no key-value mappings.
+ *
+ * @return true if this map contains no key-value mappings.
+ */
+ boolean isEmpty();
+
+ /**
+ * Returns an Iterator of the keys contained in this map. The implementation must take care in order for the Iterator to have predictable order of the returned keys.
+ *
+ * @return an iterator of the keys contained in this map
+ */
+ Iterator<AttributeSource> keyIterator();
+
+ /**
+ * Merges this Attribute Providers Map with another providers map changes the contents of this map so it returns null
+ *
+ * @param aPMap
+ */
+ void mergeWith(IAttributeProvidersMap aPMap);
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IPersonalAttributeList.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IPersonalAttributeList.java
index b24c915c0..7eb788461 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IPersonalAttributeList.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IPersonalAttributeList.java
@@ -20,175 +20,179 @@ import java.util.Set;
/**
* Interface for {@link PersonalAttributeList}.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.16 $, $Date: 2010-11-17 05:15:28 $
*
* @see PersonalAttribute
*/
@SuppressWarnings("PMD.CloneMethodMustImplementCloneable")
-public interface IPersonalAttributeList extends Iterable<PersonalAttribute>,
- Cloneable {
-
- /**
- * Associates the specified value with the specified key in this Personal
- * Attribute List.
- *
- * @param key with which the specified value is to be associated.
- * @param value to be associated with the specified key.
- *
- * @return the previous value associated with key, or null if there was no
- * mapping for key.
- *
- * @see PersonalAttribute
- */
- PersonalAttribute put(String key, PersonalAttribute value);
-
- /**
- * Returns the value to which the specified key is mapped, or null if this map
- * contains no mapping for the key.
- *
- * @param key whose associated value is to be returned.
- *
- * @return The value to which the specified key is mapped, or null if this map
- * contains no mapping for the key.
- *
- * @see PersonalAttribute
- */
- PersonalAttribute get(Object key);
-
- /**
- * Adds to the PersonalAttributeList the given PersonalAttribute. It sets the
- * attribute name as the key to the attribute value.
- *
- * @param value PersonalAttribute to add to the PersonalAttributeList
- */
- void add(PersonalAttribute value);
-
- /**
- * Get the size of the Personal Attribute List.
- *
- * @return size of the Personal Attribute List.
- */
- int size();
-
- /**
- * Checks if the Personal Attribute List contains the given key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return true if the Personal Attribute List contains the given key, false
- * otherwise.
- */
- boolean containsKey(Object key);
-
- /**
- * Getter for the iterator of the Personal Attribute List values.
- *
- * @return The iterator for the Personal Attribute List values.
- *
- * @see PersonalAttribute
- */
- Iterator<PersonalAttribute> iterator();
-
- /**
- * Creates a Personal Attribute List from a String representing an Attribute
- * List.
- *
- * @param attrList String Object representing the attribute list.
- */
- void populate(String attrList);
-
- /**
- * Removes the mapping for this key from this map if present.
- *
- * @param key key whose mapping is to be removed from the map.
- * @return previous value associated with specified key, or <tt>null</tt> if
- * there was no mapping for key. A <tt>null</tt> return can also
- * indicate that the map previously associated <tt>null</tt> with the
- * specified key.
- */
- PersonalAttribute remove(Object key);
-
- /**
- * Returns a collection view of the values contained in this map. The
- * collection is backed by the map, so changes to the map are reflected in the
- * collection, and vice-versa. The collection supports element removal, which
- * removes the corresponding mapping from this map, via the
- * <tt>Iterator.remove</tt>, <tt>Collection.remove</tt>, <tt>removeAll</tt>,
- * <tt>retainAll</tt>, and <tt>clear</tt> operations. It does not support the
- * <tt>add</tt> or <tt>addAll</tt> operations.
- *
- * @return a collection view of the values contained in this map.
- */
- Collection<PersonalAttribute> values();
-
- /**
- * Returns a {@link Set} view of the keys contained in this map.
- * The set is backed by the map, so changes to the map are
- * reflected in the set, and vice-versa. If the map is modified
- * while an iteration over the set is in progress (except through
- * the iterator's own <tt>remove</tt> operation), the results of
- * the iteration are undefined. The set supports element removal,
- * which removes the corresponding mapping from the map, via the
- * <tt>Iterator.remove</tt>, <tt>Set.remove</tt>,
- * <tt>removeAll</tt>, <tt>retainAll</tt>, and <tt>clear</tt>
- * operations. It does not support the <tt>add</tt> or <tt>addAll</tt>
- * operations.
- *
- * @return a set view of the keys contained in this map
- */
- Set<String> keySet();
-
-
- /**
- * Returns a IPersonalAttributeList of the complex attributes.
- *
- * @return an IPersonalAttributeList of the complex attributes.
- */
- IPersonalAttributeList getComplexAttributes();
-
- /**
- * Returns a IPersonalAttributeList of the simple value attributes.
- *
- * @return an IPersonalAttributeList of the simple value attributes.
- */
- IPersonalAttributeList getSimpleValueAttributes();
-
- /**
- * Returns a IPersonalAttributeList of the mandatory attributes in this map.
- *
- * @return an IPersonalAttributeList of the mandatory attributes contained in this map.
- */
- IPersonalAttributeList getMandatoryAttributes();
-
- /**
- * Returns a IPersonalAttributeList of the optional attributes in this map.
- *
- * @return an IPersonalAttributeList of the optional attributes contained in this map.
- */
- IPersonalAttributeList getOptionalAttributes();
-
- /**
- * Returns <tt>true</tt> if this map contains no key-value mappings.
- *
- * @return <tt>true</tt> if this map contains no key-value mappings.
- */
- boolean isEmpty();
-
- /**
- * Returns <tt>true</tt> if this map contains at least one element that doesn't have value.
- *
- * @return <tt>true</tt> if this map contains at least one element that doesn't have value.
- */
- boolean hasMissingValues();
-
- /**
- * Returns a copy of this <tt>IPersonalAttributeList</tt> instance.
- *
- * @return The copy of this IPersonalAttributeList.
- */
- Object clone() throws CloneNotSupportedException;
-
+public interface IPersonalAttributeList extends Iterable<PersonalAttribute>, Cloneable {
+
+ /**
+ * Associates the specified value with the specified key in this Personal Attribute List.
+ *
+ * @param key
+ * with which the specified value is to be associated.
+ * @param value
+ * to be associated with the specified key.
+ *
+ * @return the previous value associated with key, or null if there was no mapping for key.
+ *
+ * @see PersonalAttribute
+ */
+ PersonalAttribute put(String key, PersonalAttribute value);
+
+ /**
+ * Replaces the specified value with the specified key in this Personal Attribute List.
+ *
+ * @param key
+ * with which the specified value is to be replaced.
+ * @param value
+ * to be associated with the specified key.
+ *
+ * @return the previous value associated with key, or null if there was no mapping for key.
+ *
+ * @see PersonalAttribute
+ */
+ PersonalAttribute replace(String key, PersonalAttribute value);
+
+ /**
+ * Returns the value to which the specified key is mapped, or null if this map contains no mapping for the key.
+ *
+ * @param key
+ * whose associated value is to be returned.
+ *
+ * @return The value to which the specified key is mapped, or null if this map contains no mapping for the key.
+ *
+ * @see PersonalAttribute
+ */
+ PersonalAttribute get(Object key);
+
+ /**
+ * Adds to the PersonalAttributeList the given PersonalAttribute. It sets the attribute name as the key to the attribute value.
+ *
+ * @param value
+ * PersonalAttribute to add to the PersonalAttributeList
+ */
+ void add(PersonalAttribute value);
+
+ /**
+ * Get the size of the Personal Attribute List.
+ *
+ * @return size of the Personal Attribute List.
+ */
+ int size();
+
+ /**
+ * Checks if the Personal Attribute List contains the given key.
+ *
+ * @param key
+ * with which the specified value is to be associated.
+ *
+ * @return true if the Personal Attribute List contains the given key, false otherwise.
+ */
+ boolean containsKey(Object key);
+
+ /**
+ * Getter for the iterator of the Personal Attribute List values.
+ *
+ * @return The iterator for the Personal Attribute List values.
+ *
+ * @see PersonalAttribute
+ */
+ Iterator<PersonalAttribute> iterator();
+
+ /**
+ * Creates a Personal Attribute List from a String representing an Attribute List.
+ *
+ * @param attrList
+ * String Object representing the attribute list.
+ */
+ void populate(String attrList);
+
+ /**
+ * Removes the mapping for this key from this map if present.
+ *
+ * @param key
+ * key whose mapping is to be removed from the map.
+ * @return previous value associated with specified key, or <tt>null</tt> if there was no mapping for key. A <tt>null</tt> return can also indicate that the map previously associated <tt>null</tt>
+ * with the specified key.
+ */
+ PersonalAttribute remove(Object key);
+
+ /**
+ * Returns a collection view of the values contained in this map. The collection is backed by the map, so changes to the map are reflected in the collection, and vice-versa. The collection
+ * supports element removal, which removes the corresponding mapping from this map, via the <tt>Iterator.remove</tt>, <tt>Collection.remove</tt>, <tt>removeAll</tt>, <tt>retainAll</tt>, and
+ * <tt>clear</tt> operations. It does not support the <tt>add</tt> or <tt>addAll</tt> operations.
+ *
+ * @return a collection view of the values contained in this map.
+ */
+ Collection<PersonalAttribute> values();
+
+ /**
+ * Returns a {@link Set} view of the keys contained in this map. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. If the map is modified while an
+ * iteration over the set is in progress (except through the iterator's own <tt>remove</tt> operation), the results of the iteration are undefined. The set supports element removal, which removes
+ * the corresponding mapping from the map, via the <tt>Iterator.remove</tt>, <tt>Set.remove</tt>, <tt>removeAll</tt>, <tt>retainAll</tt>, and <tt>clear</tt> operations. It does not support the
+ * <tt>add</tt> or <tt>addAll</tt> operations.
+ *
+ * @return a set view of the keys contained in this map
+ */
+ Set<String> keySet();
+
+ /**
+ * Returns a IPersonalAttributeList of the complex attributes.
+ *
+ * @return an IPersonalAttributeList of the complex attributes.
+ */
+ IPersonalAttributeList getComplexAttributes();
+
+ /**
+ * Returns a IPersonalAttributeList of the simple value attributes.
+ *
+ * @return an IPersonalAttributeList of the simple value attributes.
+ */
+ IPersonalAttributeList getSimpleValueAttributes();
+
+ /**
+ * Returns a IPersonalAttributeList of the mandatory attributes in this map.
+ *
+ * @return an IPersonalAttributeList of the mandatory attributes contained in this map.
+ */
+ IPersonalAttributeList getMandatoryAttributes();
+
+ /**
+ * Returns a IPersonalAttributeList merged with provided one.
+ *
+ * @return an IPersonalAttributeList the attribute list to merge with.
+ */
+ IPersonalAttributeList merge(IPersonalAttributeList attrList);
+
+ /**
+ * Returns a IPersonalAttributeList of the optional attributes in this map.
+ *
+ * @return an IPersonalAttributeList of the optional attributes contained in this map.
+ */
+ IPersonalAttributeList getOptionalAttributes();
+
+ /**
+ * Returns <tt>true</tt> if this map contains no key-value mappings.
+ *
+ * @return <tt>true</tt> if this map contains no key-value mappings.
+ */
+ boolean isEmpty();
+
+ /**
+ * Returns <tt>true</tt> if this map contains at least one element that doesn't have value.
+ *
+ * @return <tt>true</tt> if this map contains at least one element that doesn't have value.
+ */
+ boolean hasMissingValues();
+
+ /**
+ * Returns a copy of this <tt>IPersonalAttributeList</tt> instance.
+ *
+ * @return The copy of this IPersonalAttributeList.
+ */
+ Object clone();
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IStorkLogger.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IStorkLogger.java
index 33eb618f0..1bb8cffa8 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IStorkLogger.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IStorkLogger.java
@@ -16,224 +16,234 @@ package eu.stork.peps.auth.commons;
/**
* Interface for stork logging.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.10 $, $Date: 2011-02-17 22:44:34 $
*/
public interface IStorkLogger {
-
- /**
- * Getter for SpApplication.
- *
- * @return The SpApplication value.
- */
- String getSpApplication();
-
- /**
- * Setter for SpApplication.
- *
- * @param spApplication The SP Application.
- */
- void setSpApplication(String spApplication);
-
- /**
- * Getter for ProviderName.
- *
- * @return The ProviderName value.
- */
- String getProviderName();
-
- /**
- * Setter for ProviderName.
- *
- * @param providerName The provider name.
- */
- void setProviderName(String providerName);
-
- /**
- *
- * Getter for Origin.
- *
- * @return The Origin value.
- *
- */
- String getOrigin();
-
- /**
- * Setter for Origin.
- *
- * @param origin The origin.
- */
- void setOrigin(String origin);
-
- /**
- *
- * Getter for QAA Level.
- *
- * @return The QAA Level value.
- *
- */
- int getQaaLevel();
-
- /**
- * Setter for QAA Level.
- *
- * @param qaaLevel The qaa level.
- */
- void setQaaLevel(int qaaLevel);
-
- /**
- *
- * Getter for timestamp.
- *
- * @return The timestamp value.
- *
- */
- String getTimestamp();
-
- /**
- * Setter for timestamp.
- *
- * @param timestamp The request's timestamp.
- */
- void setTimestamp(String timestamp);
-
- /**
- * Getter for InResponseTo.
- *
- * @return The InResponseTo value.
- */
- String getInResponseTo();
-
- /**
- * Setter for InResponseTo.
- *
- * @param inResponseTo The Saml's response id.
- */
- void setInResponseTo(String inResponseTo);
-
- /**
- * Getter for InResponseToSPReq.
- *
- * @return The InResponseToSPReq value.
- */
- String getInResponseToSPReq();
-
- /**
- * Setter for InResponseToSPRequ.
- *
- * @param inResponseToSPReq The Saml's response id.
- */
- void setInResponseToSPReq(String inResponseToSPReq);
-
- /**
- * Getter for opType.
- *
- * @return The opType value.
- */
- String getOpType();
-
- /**
- * Setter for opType.
- *
- * @param opType The operation type.
- */
- void setOpType(String opType);
-
- /**
- * Getter for destination.
- *
- * @return The destination value.
- */
- String getDestination();
-
- /**
- * Setter for destinationIp.
- *
- * @param destination The remote IP.
- */
- void setDestination(String destination);
-
- /**
- * Getter for message or assertion consumer.
- *
- * @return The message or assertion consumer.
- */
- String getMessage();
-
- /**
- * Setter for message or assertion consumer.
- *
- * @param message or assertion consumer.
- */
- void setMessage(String message);
-
- /**
- * Getter for country.
- *
- * @return The country value.
- */
- String getCountry();
-
- /**
- * Setter for country.
- *
- * @param country The country.
- */
- void setCountry(String country);
-
- /**
- * Getter for samlHash.
- *
- * @return The samlHash value.
- */
- byte[] getSamlHash();
-
- /**
- * Setter for samlHash.
- *
- * @param samlHash the encrypted SAML token
- */
- void setSamlHash(byte[] samlHash);
-
- /**
- * Getter for msgId.
- *
- * @return the msgId
- */
- String getMsgId();
-
- /**
- * Setter for msgId.
- *
- * @param msgId the ID of the originator of this message
- */
- void setMsgId(String msgId);
-
- /**
- * Getter for sPMsgId.
- *
- * @return the sPMsgId
- */
- String getSPMsgId();
-
- /**
- * Setter for sPMsgId.
- *
- * @param sPMsgId the ID of the originator of this message
- */
- void setSPMsgId(String sPMsgId);
-
- /**
- * The format of the returned String must be the following:
- * "requestCounter#ddMMMyyyykk:mm:ss#opType#originIp#originName
- * #destinationIp#destinationName#samlHash#[originatorName#msgId#]"
- *
- * The values enclosed in '[]' only apply when logging responses.
- *
- * @return {@inheritDoc}
- */
- @Override
- String toString();
+
+ /**
+ * Getter for SpApplication.
+ *
+ * @return The SpApplication value.
+ */
+ String getSpApplication();
+
+ /**
+ * Setter for SpApplication.
+ *
+ * @param spApplication
+ * The SP Application.
+ */
+ void setSpApplication(String spApplication);
+
+ /**
+ * Getter for ProviderName.
+ *
+ * @return The ProviderName value.
+ */
+ String getProviderName();
+
+ /**
+ * Setter for ProviderName.
+ *
+ * @param providerName
+ * The provider name.
+ */
+ void setProviderName(String providerName);
+
+ /**
+ *
+ * Getter for Origin.
+ *
+ * @return The Origin value.
+ *
+ */
+ String getOrigin();
+
+ /**
+ * Setter for Origin.
+ *
+ * @param origin
+ * The origin.
+ */
+ void setOrigin(String origin);
+
+ /**
+ *
+ * Getter for QAA Level.
+ *
+ * @return The QAA Level value.
+ *
+ */
+ int getQaaLevel();
+
+ /**
+ * Setter for QAA Level.
+ *
+ * @param qaaLevel
+ * The qaa level.
+ */
+ void setQaaLevel(int qaaLevel);
+
+ /**
+ *
+ * Getter for timestamp.
+ *
+ * @return The timestamp value.
+ *
+ */
+ String getTimestamp();
+
+ /**
+ * Setter for timestamp.
+ *
+ * @param timestamp
+ * The request's timestamp.
+ */
+ void setTimestamp(String timestamp);
+
+ /**
+ * Getter for InResponseTo.
+ *
+ * @return The InResponseTo value.
+ */
+ String getInResponseTo();
+
+ /**
+ * Setter for InResponseTo.
+ *
+ * @param inResponseTo
+ * The Saml's response id.
+ */
+ void setInResponseTo(String inResponseTo);
+
+ /**
+ * Getter for InResponseToSPReq.
+ *
+ * @return The InResponseToSPReq value.
+ */
+ String getInResponseToSPReq();
+
+ /**
+ * Setter for InResponseToSPRequ.
+ *
+ * @param inResponseToSPReq
+ * The Saml's response id.
+ */
+ void setInResponseToSPReq(String inResponseToSPReq);
+
+ /**
+ * Getter for opType.
+ *
+ * @return The opType value.
+ */
+ String getOpType();
+
+ /**
+ * Setter for opType.
+ *
+ * @param opType
+ * The operation type.
+ */
+ void setOpType(String opType);
+
+ /**
+ * Getter for destination.
+ *
+ * @return The destination value.
+ */
+ String getDestination();
+
+ /**
+ * Setter for destinationIp.
+ *
+ * @param destination
+ * The remote IP.
+ */
+ void setDestination(String destination);
+
+ /**
+ * Getter for message or assertion consumer.
+ *
+ * @return The message or assertion consumer.
+ */
+ String getMessage();
+
+ /**
+ * Setter for message or assertion consumer.
+ *
+ * @param message
+ * or assertion consumer.
+ */
+ void setMessage(String message);
+
+ /**
+ * Getter for country.
+ *
+ * @return The country value.
+ */
+ String getCountry();
+
+ /**
+ * Setter for country.
+ *
+ * @param country
+ * The country.
+ */
+ void setCountry(String country);
+
+ /**
+ * Getter for samlHash.
+ *
+ * @return The samlHash value.
+ */
+ byte[] getSamlHash();
+
+ /**
+ * Setter for samlHash.
+ *
+ * @param samlHash
+ * the encrypted SAML token
+ */
+ void setSamlHash(byte[] samlHash);
+
+ /**
+ * Getter for msgId.
+ *
+ * @return the msgId
+ */
+ String getMsgId();
+
+ /**
+ * Setter for msgId.
+ *
+ * @param msgId
+ * the ID of the originator of this message
+ */
+ void setMsgId(String msgId);
+
+ /**
+ * Getter for sPMsgId.
+ *
+ * @return the sPMsgId
+ */
+ String getSPMsgId();
+
+ /**
+ * Setter for sPMsgId.
+ *
+ * @param sPMsgId
+ * the ID of the originator of this message
+ */
+ void setSPMsgId(String sPMsgId);
+
+ /**
+ * The format of the returned String must be the following: "requestCounter#ddMMMyyyykk:mm:ss#opType#originIp#originName #destinationIp#destinationName#samlHash#[originatorName#msgId#]"
+ *
+ * The values enclosed in '[]' only apply when logging responses.
+ *
+ * @return {@inheritDoc}
+ */
+ @Override
+ String toString();
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IStorkSession.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IStorkSession.java
index f38b41838..33105c58f 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IStorkSession.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IStorkSession.java
@@ -16,70 +16,69 @@ package eu.stork.peps.auth.commons;
/**
* Interface for stork session.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.9 $, $Date: 2010-11-17 05:15:28 $
*/
public interface IStorkSession {
-
- /**
- * Returns the object associated the the given key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return The object associated the the given key.
- */
- Object get(Object key);
-
- /**
- * Associates a key to a value, and inserts them in the session object.
- *
- * @param key with which the specified value is to be associated.
- * @param value to be associated with the specified key.
- *
- * @return previous value associated with specified key, or null if there was
- * no mapping for key. A null return can also indicate that the map
- * previously associated null with the specified key.
- */
- Object put(String key, Object value);
-
- /**
- * Removes the mapping for this key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return previous value associated with specified key, or null if there was
- * no mapping for key. A null return can also indicate that the map
- * previously associated null with the specified key.
- */
- Object remove(Object key);
-
- /**
- * Returns the number of key-value mappings in this map.
- *
- * @return the number of key-value mappings in this map.
- */
- int size();
-
- /**
- * Returns true if this map contains a mapping for the specified key.
- *
- * @param key with which the specified value is to be associated.
- *
- * @return true if this map contains a mapping for the specified key.
- */
- boolean containsKey(Object key);
-
- /**
- * Removes all mappings from this map.
- */
- void clear();
-
- /**
- * Returns true if this map contains no key-value mappings.
- *
- * @return true if this map contains no key-value mappings.
- */
- boolean isEmpty();
+
+ /**
+ * Returns the object associated the the given key.
+ *
+ * @param key
+ * with which the specified value is to be associated.
+ *
+ * @return The object associated the the given key.
+ */
+ Object get(Object key);
+
+ /**
+ * Associates a key to a value, and inserts them in the session object.
+ *
+ * @param key
+ * with which the specified value is to be associated.
+ * @param value
+ * to be associated with the specified key.
+ *
+ * @return previous value associated with specified key, or null if there was no mapping for key. A null return can also indicate that the map previously associated null with the specified key.
+ */
+ Object put(String key, Object value);
+
+ /**
+ * Removes the mapping for this key.
+ *
+ * @param key
+ * with which the specified value is to be associated.
+ *
+ * @return previous value associated with specified key, or null if there was no mapping for key. A null return can also indicate that the map previously associated null with the specified key.
+ */
+ Object remove(Object key);
+
+ /**
+ * Returns the number of key-value mappings in this map.
+ *
+ * @return the number of key-value mappings in this map.
+ */
+ int size();
+
+ /**
+ * Returns true if this map contains a mapping for the specified key.
+ *
+ * @param key
+ * with which the specified value is to be associated.
+ *
+ * @return true if this map contains a mapping for the specified key.
+ */
+ boolean containsKey(Object key);
+
+ /**
+ * Removes all mappings from this map.
+ */
+ void clear();
+
+ /**
+ * Returns true if this map contains no key-value mappings.
+ *
+ * @return true if this map contains no key-value mappings.
+ */
+ boolean isEmpty();
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/Linker.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/Linker.java
index 94882de77..f326ccfe9 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/Linker.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/Linker.java
@@ -5,15 +5,14 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
+import java.util.Map;
import org.apache.log4j.Logger;
/**
- * This class is a bean used to store the information of Attribute Providers, the Attribute
- * List to be requested, the Assertions returned by the Attribute Providers and the values
- * that each Attribute has. This information along with the current status of the Linker (the
- * attribute providers that were queried and the remaining providers) is used by the PEPS
- * actions in order to complete the Attribute gathering.
+ * This class is a bean used to store the information of Attribute Providers, the Attribute List to be requested, the Assertions returned by the Attribute Providers and the values that each Attribute
+ * has. This information along with the current status of the Linker (the attribute providers that were queried and the remaining providers) is used by the PEPS actions in order to complete the
+ * Attribute gathering.
*
* @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
*
@@ -38,7 +37,7 @@ public final class Linker implements Serializable {
/**
* Assertion map.
*/
- private LinkedHashMap<AttributeSource, STORKAttrQueryResponse> assertions;
+ private Map<AttributeSource, List<STORKAttrQueryResponse>> assertions;
/**
* The current index of local (domestic) Attribute Providers.
@@ -56,8 +55,8 @@ public final class Linker implements Serializable {
public Linker() {
localIndex = 0;
remoteIndex = 0;
-
- assertions = new LinkedHashMap<AttributeSource, STORKAttrQueryResponse>();
+
+ assertions = new LinkedHashMap<AttributeSource, List<STORKAttrQueryResponse>>();
}
/**
@@ -74,13 +73,13 @@ public final class Linker implements Serializable {
found = null;
- if ( attributeProvidersMap!=null && !attributeProvidersMap.isEmpty() ) {
+ if (attributeProvidersMap != null && !attributeProvidersMap.isEmpty()) {
iterator = attributeProvidersMap.keyIterator();
while (iterator.hasNext()) {
source = iterator.next();
- if ( source.getSourceType()==AttributeSource.SOURCE_LOCAL_APROVIDER ) {
- if ( curIndex>=localIndex ) {
+ if (source.getSourceType() == AttributeSource.SOURCE_LOCAL_APROVIDER) {
+ if (curIndex >= localIndex) {
found = source;
break;
@@ -108,13 +107,13 @@ public final class Linker implements Serializable {
found = null;
- if ( attributeProvidersMap !=null && !attributeProvidersMap.isEmpty() ) {
+ if (attributeProvidersMap != null && !attributeProvidersMap.isEmpty()) {
iterator = attributeProvidersMap.keyIterator();
while (iterator.hasNext()) {
source = iterator.next();
- if ( source.getSourceType()==AttributeSource.SOURCE_REMOTE_COUNTRY ) {
- if ( curIndex>=remoteIndex ) {
+ if (source.getSourceType() == AttributeSource.SOURCE_REMOTE_COUNTRY) {
+ if (curIndex >= remoteIndex) {
found = source;
break;
@@ -129,28 +128,35 @@ public final class Linker implements Serializable {
}
/**
- * It updates the Linker with the values returned by the Attribute Source. It also advances
- * to the next index in order to mark this attribute source as completed.
+ * It updates the Linker with the values returned by the Attribute Source. It also advances to the next index in order to mark this attribute source as completed.
*
- * @param source The Attribute Source that was queried for attribute values.
- * @param attrResponse The attrResponse returned by the Attribute Source that contains the attribute values.
+ * @param source
+ * The Attribute Source that was queried for attribute values.
+ * @param attrResponse
+ * The attrResponse returned by the Attribute Source that contains the attribute values.
*
* @see AttributeSource, STORKAttrQueryResponse
*/
public void setProviderReponse(AttributeSource source, STORKAttrQueryResponse attrResponse) {
- if ( source.getSourceType()==AttributeSource.SOURCE_REMOTE_COUNTRY )
+ if (source.getSourceType() == AttributeSource.SOURCE_REMOTE_COUNTRY)
remoteIndex++;
else
localIndex++;
- //Assertion storage
- this.assertions.put(source, attrResponse);
- // previously: getTotalPersonalAttributeList() in both cases
- if ( source.getSourceType()==AttributeSource.SOURCE_REMOTE_COUNTRY )
+ // Assertion storage
+ if (this.assertions.containsKey(source)) {
+ this.assertions.get(source).add(attrResponse);
+ } else {
+ List<STORKAttrQueryResponse> temp = new ArrayList<STORKAttrQueryResponse>();
+ temp.add(attrResponse);
+ this.assertions.put(source, temp);
+ }
+
+ if (source.getSourceType() == AttributeSource.SOURCE_REMOTE_COUNTRY) {
this.attributeProvidersMap.put(source, attrResponse.getTotalPersonalAttributeList());
- else
- this.attributeProvidersMap.put(source, attrResponse.getPersonalAttributeList());
- //this.attributeProvidersMap.put(source, attrResponse.getTotalPersonalAttributeList());
+ } else {
+ this.attributeProvidersMap.put(source, attrResponse.getPersonalAttributeList());
+ }
}
/**
@@ -170,7 +176,8 @@ public final class Linker implements Serializable {
/**
* Setter for attributeProvidersMap.
*
- * @param attributeProvidersMap The attributeProvidersMap to set.
+ * @param attributeProvidersMap
+ * The attributeProvidersMap to set.
*/
public void setAttributeProvidersMap(IAttributeProvidersMap attributeProvidersMap) {
this.attributeProvidersMap = attributeProvidersMap;
@@ -188,14 +195,15 @@ public final class Linker implements Serializable {
/**
* Returns the Personal Attribute list of the provided Attribute Source.
*
- * @param source The attributeSource in reference
+ * @param source
+ * The attributeSource in reference
*
* @return The IPersonalAttributeList assosiated with this source or null if empty
*
* @see IPersonalAttributeList
*/
public IPersonalAttributeList getProviderAttributes(AttributeSource source) {
- if ( attributeProvidersMap.containsKey(source) )
+ if (attributeProvidersMap.containsKey(source))
return attributeProvidersMap.get(source);
else
return null;
@@ -215,7 +223,7 @@ public final class Linker implements Serializable {
merged = null;
- if ( attributeProvidersMap !=null && !attributeProvidersMap.isEmpty() ) {
+ if (attributeProvidersMap != null && !attributeProvidersMap.isEmpty()) {
iterator = attributeProvidersMap.keyIterator();
merged = new PersonalAttributeList();
@@ -233,29 +241,25 @@ public final class Linker implements Serializable {
}
/**
- * Returns a List with all the assertions gathered by the AAS-PEPS module
- * returned both by local APs or remote A-PEPS.
+ * Returns a List with all the assertions gathered by the AAS-PEPS module returned both by local APs or remote A-PEPS.
*
* @return The assertions returned from the APs and A-PEPS
*/
public List<STORKAttrQueryResponse> getAttrQueryResponseList() {
List<STORKAttrQueryResponse> originalAssertions;
-
- originalAssertions = new ArrayList<STORKAttrQueryResponse>();
- //Gather all assertions
- for (STORKAttrQueryResponse element : this.assertions.values()) {
- originalAssertions.add(element);
- }
+ originalAssertions = new ArrayList<STORKAttrQueryResponse>();
+ // Gather all assertions
+ for (List<STORKAttrQueryResponse> element : this.assertions.values()) {
+ originalAssertions.addAll(element);
+ }
return originalAssertions;
}
/**
- * Checks the internal state of the Linker and if all Attribute Sources where visited
- * returns true, otherwise it returns false. So if you go directly from AtPLinkerAction
- * to MoreAttributesAction the call will have, since the method setProviderReponse
- * was not executed from every Attribute Source.
+ * Checks the internal state of the Linker and if all Attribute Sources where visited returns true, otherwise it returns false. So if you go directly from AtPLinkerAction to MoreAttributesAction
+ * the call will have, since the method setProviderReponse was not executed from every Attribute Source.
*
* @return true if everything is OK, false otherwise
*/
@@ -263,11 +267,10 @@ public final class Linker implements Serializable {
boolean outcome = false;
LOG.debug("Check if linkder is complete: R[" + remoteIndex + "], L[" + localIndex + "], S[" + attributeProvidersMap.size() + "]");
- if ( attributeProvidersMap !=null && !attributeProvidersMap.isEmpty() ) {
- if ( (remoteIndex + localIndex)==attributeProvidersMap.size() )
+ if (attributeProvidersMap != null && !attributeProvidersMap.isEmpty()) {
+ if ((remoteIndex + localIndex) == attributeProvidersMap.size())
outcome = true;
- }
- else {
+ } else {
outcome = true;
}
@@ -275,33 +278,33 @@ public final class Linker implements Serializable {
}
/**
- * Merge the two Linker objects.
+ * Merge the two Linker objects.
*
- * @param previous The other Linker object to merge with this one.
+ * @param previous
+ * The other Linker object to merge with this one.
*/
public void mergeWith(Linker previous) {
- //BEFORE
- if ( LOG.isDebugEnabled() ) {
+ // BEFORE
+ if (LOG.isDebugEnabled()) {
LOG.debug("The attributeProvidersMap from the current object.");
- ((AttributeProvidersMap)this.attributeProvidersMap).trace();
+ ((AttributeProvidersMap) this.attributeProvidersMap).trace();
LOG.debug("The attributeProvidersMap from the provided object.");
- ((AttributeProvidersMap)previous.getAttributeProvidersMap()).trace();
+ ((AttributeProvidersMap) previous.getAttributeProvidersMap()).trace();
}
IAttributeProvidersMap map = previous.getAttributeProvidersMap();
Iterator<AttributeSource> items = map.keyIterator();
- while( items.hasNext() ) {
+ while (items.hasNext()) {
AttributeSource item = items.next();
IPersonalAttributeList pal = map.get(item);
- if ( this.attributeProvidersMap.containsKey(item) ) {
+ if (this.attributeProvidersMap.containsKey(item)) {
IPersonalAttributeList new_pal = this.attributeProvidersMap.get(item);
- for(PersonalAttribute pa : pal)
+ for (PersonalAttribute pa : pal)
new_pal.add(pa);
- }
- else {
- if ( item.getSourceType()==AttributeSource.SOURCE_REMOTE_COUNTRY )
+ } else {
+ if (item.getSourceType() == AttributeSource.SOURCE_REMOTE_COUNTRY)
remoteIndex++;
else
localIndex++;
@@ -310,10 +313,18 @@ public final class Linker implements Serializable {
}
}
- //AFTER
- if ( LOG.isDebugEnabled() ) {
+ // AFTER
+ if (LOG.isDebugEnabled()) {
LOG.debug("The attributeProvidersMap after the merge.");
- ((AttributeProvidersMap)this.attributeProvidersMap).trace();
+ ((AttributeProvidersMap) this.attributeProvidersMap).trace();
+ }
+
+ for (AttributeSource as : previous.assertions.keySet()) {
+ if (!assertions.containsKey(as)) {
+ assertions.put(as, previous.assertions.get(as));
+ } else {
+ assertions.get(as).addAll(previous.assertions.get(as));
+ }
}
}
-} \ No newline at end of file
+}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSErrors.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSErrors.java
index f2493db4e..7d758d754 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSErrors.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSErrors.java
@@ -14,384 +14,381 @@
package eu.stork.peps.auth.commons;
/**
- * This enum class contains all the STORK PEPS, Commons and Specific errors
- * constant identifiers.
+ * This enum class contains all the STORK PEPS, Commons and Specific errors constant identifiers.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.10 $, $Date: 2011-02-17 22:44:34 $
*/
public enum PEPSErrors {
-
- /**
- * Represents the 'authenticationFailed' constant error identifier.
- */
- AUTHENTICATION_FAILED_ERROR("authenticationFailed"),
- /**
- * Represents the 'spCountrySelector.errorCreatingSAML' constant error
- * identifier.
- */
- SP_COUNTRY_SELECTOR_ERROR_CREATE_SAML("spCountrySelector.errorCreatingSAML"),
- /**
- * Represents the 'spCountrySelector.destNull' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_DESTNULL("spCountrySelector.destNull"),
- /**
- * Represents the 'spCountrySelector.invalidAttr' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_ATTR("spCountrySelector.invalidAttr"),
- /**
- * Represents the 'spCountrySelector.invalidProviderName' constant error
- * identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_PROVIDER_NAME(
- "spCountrySelector.invalidProviderName"),
- /**
- * Represents the 'spCountrySelector.invalidQaaSPid' constant error
- * identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_QAASPID("spCountrySelector.invalidQaaSPid"),
- /**
- * Represents the 'spCountrySelector.invalidSpId' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_SPID("spCountrySelector.invalidSpId"),
- /**
- * Represents the 'spCountrySelector.invalidSPQAA' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_SPQAA("spCountrySelector.invalidSPQAA"),
- /**
- * Represents the 'spCountrySelector.invalidSpURL' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_INVALID_SPURL("spCountrySelector.invalidSpURL"),
- /**
- * Represents the 'spCountrySelector.spNotAllowed' constant error identifier.
- */
- SP_COUNTRY_SELECTOR_SPNOTALLOWED("spCountrySelector.spNotAllowed"),
-
- /**
- * Represents the 'sProviderAction.errorCreatingSAML' constant error
- * identifier.
- */
- SPROVIDER_SELECTOR_ERROR_CREATE_SAML("sProviderAction.errorCreatingSAML"),
- /**
- * Represents the 'sProviderAction.attr' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_ATTR("sProviderAction.invalidAttr"),
- /**
- * Represents the 'sProviderAction.country' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_COUNTRY("sProviderAction.invalidCountry"),
- /**
- * Represents the 'sProviderAction.relayState' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_RELAY_STATE("sProviderAction.invalidRelayState"),
- /**
- * Represents the 'sProviderAction.saml' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SAML("sProviderAction.invalidSaml"),
- /**
- * Represents the 'sProviderAction.spAlias' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPALIAS("sProviderAction.invalidSPAlias"),
- /**
- * Represents the 'sProviderAction.spDomain' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPDOMAIN("sProviderAction.invalidSPDomain"),
- /**
- * Represents the 'sProviderAction.spId' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPID("sProviderAction.invalidSPId"),
- /**
- * Represents the 'sProviderAction.spQAA' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPQAA("sProviderAction.invalidSPQAA"),
- /**
- * Represents the 'sProviderAction.spQAAId' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPQAAID("sProviderAction.invalidSPQAAId"),
- /**
- * Represents the 'sProviderAction.spRedirect' constant error identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SPREDIRECT("sProviderAction.invalidSPRedirect"),
- /**
- * Represents the 'sPPowerValidationAction.invalidSPPVAttrList' constant error identifier.
- */
- SPPOWERVALIDATION_SELECTOR_INVALID_SP_PV_ATTR_LIST("sPPowerValidationAction.invalidSPPVAttrList"),
-
- /**
- * Represents the 'sProviderAction.invalidSPProviderName' constant error
- * identifier.
- */
- SPROVIDER_SELECTOR_INVALID_SP_PROVIDERNAME(
- "sProviderAction.invalidSPProviderName"),
- /**
- * Represents the 'sProviderAction.spNotAllowed' constant error identifier.
- */
- SPROVIDER_SELECTOR_SPNOTALLOWED("sProviderAction.spNotAllowed"),
-
- /**
- * Represents the 'internalError' constant error identifier.
- */
- INTERNAL_ERROR("internalError"),
-
- /**
- * Represents the 'colleagueRequest.attrNull' constant error identifier.
- */
- COLLEAGUE_REQ_ATTR_NULL("colleagueRequest.attrNull"),
- /**
- * Represents the 'colleagueRequest.errorCreatingSAML' constant error
- * identifier.
- */
- COLLEAGUE_REQ_ERROR_CREATE_SAML("colleagueRequest.errorCreatingSAML"),
- /**
- * Represents the 'colleagueRequest.invalidCountryCode' constant error
- * identifier.
- */
- COLLEAGUE_REQ_INVALID_COUNTRYCODE("colleagueRequest.invalidCountryCode"),
- /**
- * Represents the 'colleagueRequest.invalidDestUrl' constant error identifier.
- */
- COLLEAGUE_REQ_INVALID_DEST_URL("colleagueRequest.invalidDestUrl"),
- /**
- * Represents the 'colleagueRequest.invalidQaa' constant error identifier.
- */
- COLLEAGUE_REQ_INVALID_QAA("colleagueRequest.invalidQaa"),
- /**
- * Represents the 'colleagueRequest.invalidRedirect' constant error
- * identifier.
- */
- COLLEAGUE_REQ_INVALID_REDIRECT("colleagueRequest.invalidRedirect"),
- /**
- * Represents the 'colleagueRequest.invalidSAML' constant error identifier.
- */
- COLLEAGUE_REQ_INVALID_SAML("colleagueRequest.invalidSAML"),
-
- /**
- * Represents the 'colleaguePVRequest.invalidPVAttrList' constant error identifier.
- */
- COLLEAGUE_PV_REQ_INVALID_PV_ATTR_LIST("colleaguePVRequest.invalidPVAttrList"),
-
-
- /**
- * Represents the 'cpepsRedirectUrl' constant error identifier.
- */
- CPEPS_REDIRECT_URL("cpepsRedirectUrl"),
- /**
- * Represents the 'spepsRedirectUrl' constant error identifier.
- */
- SPEPS_REDIRECT_URL("spepsRedirectUrl"),
- /**
- * Represents the 'sProviderAction.invCountry' constant error identifier.
- */
- SP_ACTION_INV_COUNTRY("sProviderAction.invCountry"),
-
- /**
- * Represents the 'providernameAlias.invalid' constant error identifier.
- */
- PROVIDER_ALIAS_INVALID("providernameAlias.invalid"),
-
-
- /**
- * Represents the 'cPeps.attrNull' constant error identifier.
- */
- CPEPS_ATTR_NULL("cPeps.attrNull"),
-
- /**
- * Represents the 'colleagueResponse.invalidSAML' constant error identifier.
- */
- COLLEAGUE_RESP_INVALID_SAML("colleagueResponse.invalidSAML"),
-
- /**
- * Represents the 'citizenNoConsent.mandatory' constant error identifier.
- */
- CITIZEN_NO_CONSENT_MANDATORY("citizenNoConsent.mandatory"),
- /**
- * Represents the 'citizenResponse.mandatory' constant error identifier.
- */
- CITIZEN_RESPONSE_MANDATORY("citizenResponse.mandatory"),
- /**
- * Represents the 'attVerification.mandatory' constant error identifier.
- */
- ATT_VERIFICATION_MANDATORY("attVerification.mandatory"),
- /**
- * Represents the 'attrValue.verification' constant error identifier.
- */
- ATTR_VALUE_VERIFICATION("attrValue.verification"),
-
- /**
- * Represents the 'audienceRestrictionError' constant error identifier.
- */
- AUDIENCE_RESTRICTION("audienceRestrictionError"),
- /**
- * Represents the 'auRequestIdError' constant error identifier.
- */
- AU_REQUEST_ID("auRequestIdError"),
- /**
- * Represents the 'domain' constant error identifier.
- */
- DOMAIN("domain"),
- /**
- * Represents the 'hash.error' constant error identifier.
- */
- HASH_ERROR("hash.error"),
- /**
- * Represents the 'invalidAttributeList' constant error identifier.
- */
- INVALID_ATTRIBUTE_LIST("invalidAttributeList"),
- /**
- * Represents the 'invalidAttributeValue' constant error identifier.
- */
- INVALID_ATTRIBUTE_VALUE("invalidAttributeValue"),
- /**
- * Represents the 'qaaLevel' constant error identifier.
- */
- QAALEVEL("qaaLevel"),
- /**
- * Represents the 'requests' constant error identifier.
- */
- REQUESTS("requests"),
- /**
- * Represents the 'SPSAMLRequest' constant error identifier.
- */
- SP_SAML_REQUEST("SPSAMLRequest"),
- /**
- * Represents the 'spepsSAMLRequest' constant error identifier.
- */
- SPEPS_SAML_REQUEST("spepsSAMLRequest"),
- /**
- * Represents the 'IdPSAMLResponse' constant error identifier.
- */
- IDP_SAML_RESPONSE("IdPSAMLResponse"),
- /**
- * Represents the 'cpepsSAMLResponse' constant error identifier.
- */
- CPEPS_SAML_RESPONSE("cpepsSAMLResponse"),
- /**
- * Represents the 'cpepsSAMLResponse' constant error identifier.
- */
- SPEPS_SAML_RESPONSE("spepsSAMLResponse"),
- /**
- * Represents the 'session' constant error identifier.
- */
- SESSION("session"),
- /**
- * Represents the 'invalid.session' constant error identifier.
- */
- INVALID_SESSION("invalid.session"),
- /**
- * Represents the 'invalid.sessionId' constant error identifier.
- */
- INVALID_SESSION_ID("invalid.sessionId"),
- /**
- * Represents the 'missing.sessionId' constant error identifier.
- */
- MISSING_SESSION_ID("sessionError"),
- /**
- * Represents the 'missing.mandate' constant error identifier.
- */
- MISSING_MANDATE("missing.mandate"),
- /**
- * Represents the 'AtPSAMLResponse' constant error identifier.
- */
- ATP_SAML_RESPONSE("AtPSAMLResponse"),
-
- /**
- * Represents the 'AtPSAMLResponse' constant error identifier.
- */
- ATP_RESPONSE_ERROR("atp.response.error"),
-
- /**
- * Represents the 'apepsSAMLRequest' constant error identifier.
- */
- APEPS_SAML_REQUEST("apepsSAMLRequest"),
-
- /**
- * Represents the 'apepsSAMLResponse' constant error identifier.
- */
- APEPS_SAML_RESPONSE("apepsSAMLResponse"),
-
- /**
- * Represents the 'invalid.apepsRedirectUrl' constant error identifier.
- */
- INVALID_APEPS_REDIRECT_URL("invalid.apepsRedirectUrl"),
-
- /**
- * Represents the 'invalid.apepsCallbackUrl' constant error identifier.
- */
- INVALID_APEPS_CALLBACK_URL("invalid.apepsCallbackUrl"),
-
- /**
- * Represents the 'colleagueAttributeRequest.invalidSAML' constant error identifier.
- */
- COLLEAGUE_ATTR_REQ_INVALID_SAML("colleagueAttributeRequest.invalidSAML"),
+ /**
+ * Represents the 'authenticationFailed' constant error identifier.
+ */
+ AUTHENTICATION_FAILED_ERROR("authenticationFailed"),
+ /**
+ * Represents the 'spCountrySelector.errorCreatingSAML' constant error identifier.
+ */
+ SP_COUNTRY_SELECTOR_ERROR_CREATE_SAML("spCountrySelector.errorCreatingSAML"),
+ /**
+ * Represents the 'spCountrySelector.destNull' constant error identifier.
+ */
+ SP_COUNTRY_SELECTOR_DESTNULL("spCountrySelector.destNull"),
+ /**
+ * Represents the 'spCountrySelector.invalidAttr' constant error identifier.
+ */
+ SP_COUNTRY_SELECTOR_INVALID_ATTR("spCountrySelector.invalidAttr"),
+ /**
+ * Represents the 'spCountrySelector.invalidProviderName' constant error identifier.
+ */
+ SP_COUNTRY_SELECTOR_INVALID_PROVIDER_NAME("spCountrySelector.invalidProviderName"),
+ /**
+ * Represents the 'spCountrySelector.invalidQaaSPid' constant error identifier.
+ */
+ SP_COUNTRY_SELECTOR_INVALID_QAASPID("spCountrySelector.invalidQaaSPid"),
+ /**
+ * Represents the 'spCountrySelector.invalidSpId' constant error identifier.
+ */
+ SP_COUNTRY_SELECTOR_INVALID_SPID("spCountrySelector.invalidSpId"),
+ /**
+ * Represents the 'spCountrySelector.invalidSPQAA' constant error identifier.
+ */
+ SP_COUNTRY_SELECTOR_INVALID_SPQAA("spCountrySelector.invalidSPQAA"),
+ /**
+ * Represents the 'spCountrySelector.invalidSpURL' constant error identifier.
+ */
+ SP_COUNTRY_SELECTOR_INVALID_SPURL("spCountrySelector.invalidSpURL"),
+ /**
+ * Represents the 'spCountrySelector.spNotAllowed' constant error identifier.
+ */
+ SP_COUNTRY_SELECTOR_SPNOTALLOWED("spCountrySelector.spNotAllowed"),
- /**
- * Represents the 'invalid.attr.country.code' constant error identifier.
- */
- INVALID_COUNTRY_CODE("invalid.attr.country.code");
+ /**
+ * Represents the 'sProviderAction.errorCreatingSAML' constant error identifier.
+ */
+ SPROVIDER_SELECTOR_ERROR_CREATE_SAML("sProviderAction.errorCreatingSAML"),
+ /**
+ * Represents the 'sProviderAction.attr' constant error identifier.
+ */
+ SPROVIDER_SELECTOR_INVALID_ATTR("sProviderAction.invalidAttr"),
+ /**
+ * Represents the 'sProviderAction.country' constant error identifier.
+ */
+ SPROVIDER_SELECTOR_INVALID_COUNTRY("sProviderAction.invalidCountry"),
+ /**
+ * Represents the 'sProviderAction.relayState' constant error identifier.
+ */
+ SPROVIDER_SELECTOR_INVALID_RELAY_STATE("sProviderAction.invalidRelayState"),
+ /**
+ * Represents the 'sProviderAction.saml' constant error identifier.
+ */
+ SPROVIDER_SELECTOR_INVALID_SAML("sProviderAction.invalidSaml"),
+ /**
+ * Represents the 'sProviderAction.spAlias' constant error identifier.
+ */
+ SPROVIDER_SELECTOR_INVALID_SPALIAS("sProviderAction.invalidSPAlias"),
+ /**
+ * Represents the 'sProviderAction.spDomain' constant error identifier.
+ */
+ SPROVIDER_SELECTOR_INVALID_SPDOMAIN("sProviderAction.invalidSPDomain"),
+ /**
+ * Represents the 'sProviderAction.spId' constant error identifier.
+ */
+ SPROVIDER_SELECTOR_INVALID_SPID("sProviderAction.invalidSPId"),
+ /**
+ * Represents the 'sProviderAction.spQAA' constant error identifier.
+ */
+ SPROVIDER_SELECTOR_INVALID_SPQAA("sProviderAction.invalidSPQAA"),
+ /**
+ * Represents the 'sProviderAction.spQAAId' constant error identifier.
+ */
+ SPROVIDER_SELECTOR_INVALID_SPQAAID("sProviderAction.invalidSPQAAId"),
+ /**
+ * Represents the 'sProviderAction.spRedirect' constant error identifier.
+ */
+ SPROVIDER_SELECTOR_INVALID_SPREDIRECT("sProviderAction.invalidSPRedirect"),
+ /**
+ * Represents the 'sPPowerValidationAction.invalidSPPVAttrList' constant error identifier.
+ */
+ SPPOWERVALIDATION_SELECTOR_INVALID_SP_PV_ATTR_LIST("sPPowerValidationAction.invalidSPPVAttrList"),
- /**
- * Represents the constant's value.
- */
- private String error;
-
- /**
- * Solo Constructor.
- *
- * @param nError The Constant error value.
- */
- PEPSErrors(final String nError) {
- this.error = nError;
- }
-
- /**
- * Construct the errorCode Constant value.
- *
- * @return The errorCode Constant.
- */
- public String errorCode() {
- return error + ".code";
- }
-
- /**
- * Construct the errorCode Constant value with the given code text.
- *
- * @param text the code text to append to the constant.
- *
- * @return The errorCode Constant for the given code text.
- */
- public String errorCode(final String text) {
- return error + "." + text + ".code";
- }
-
- /**
- * Construct the errorMessage constant value.
- *
- * @return The errorMessage constant.
- */
- public String errorMessage() {
- return error + ".message";
- }
-
- /**
- * Construct the errorMessage Constant value with the given message text.
- *
- * @param text the message text to append to the constant.
- *
- * @return The errorMessage Constant for the given text.
- */
- public String errorMessage(final String text) {
- return error + "." + text + ".message";
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
- return error;
- }
+ /**
+ * Represents the 'sProviderAction.invalidSPProviderName' constant error identifier.
+ */
+ SPROVIDER_SELECTOR_INVALID_SP_PROVIDERNAME("sProviderAction.invalidSPProviderName"),
+ /**
+ * Represents the 'sProviderAction.spNotAllowed' constant error identifier.
+ */
+ SPROVIDER_SELECTOR_SPNOTALLOWED("sProviderAction.spNotAllowed"),
+
+ /**
+ * Represents the 'internalError' constant error identifier.
+ */
+ INTERNAL_ERROR("internalError"),
+
+ /**
+ * Represents the 'colleagueRequest.attrNull' constant error identifier.
+ */
+ COLLEAGUE_REQ_ATTR_NULL("colleagueRequest.attrNull"),
+ /**
+ * Represents the 'colleagueRequest.errorCreatingSAML' constant error identifier.
+ */
+ COLLEAGUE_REQ_ERROR_CREATE_SAML("colleagueRequest.errorCreatingSAML"),
+ /**
+ * Represents the 'colleagueRequest.invalidCountryCode' constant error identifier.
+ */
+ COLLEAGUE_REQ_INVALID_COUNTRYCODE("colleagueRequest.invalidCountryCode"),
+ /**
+ * Represents the 'colleagueRequest.invalidDestUrl' constant error identifier.
+ */
+ COLLEAGUE_REQ_INVALID_DEST_URL("colleagueRequest.invalidDestUrl"),
+ /**
+ * Represents the 'colleagueRequest.invalidQaa' constant error identifier.
+ */
+ COLLEAGUE_REQ_INVALID_QAA("colleagueRequest.invalidQaa"),
+ /**
+ * Represents the 'colleagueRequest.invalidRedirect' constant error identifier.
+ */
+ COLLEAGUE_REQ_INVALID_REDIRECT("colleagueRequest.invalidRedirect"),
+ /**
+ * Represents the 'colleagueRequest.invalidSAML' constant error identifier.
+ */
+ COLLEAGUE_REQ_INVALID_SAML("colleagueRequest.invalidSAML"),
+
+ /**
+ * Represents the 'colleaguePVRequest.invalidPVAttrList' constant error identifier.
+ */
+ COLLEAGUE_PV_REQ_INVALID_PV_ATTR_LIST("colleaguePVRequest.invalidPVAttrList"),
+
+ /**
+ * Represents the 'cpepsRedirectUrl' constant error identifier.
+ */
+ CPEPS_REDIRECT_URL("cpepsRedirectUrl"),
+ /**
+ * Represents the 'spepsRedirectUrl' constant error identifier.
+ */
+ SPEPS_REDIRECT_URL("spepsRedirectUrl"),
+ /**
+ * Represents the 'sProviderAction.invCountry' constant error identifier.
+ */
+ SP_ACTION_INV_COUNTRY("sProviderAction.invCountry"),
+
+ /**
+ * Represents the 'providernameAlias.invalid' constant error identifier.
+ */
+ PROVIDER_ALIAS_INVALID("providernameAlias.invalid"),
+
+ /**
+ * Represents the 'cPeps.attrNull' constant error identifier.
+ */
+ CPEPS_ATTR_NULL("cPeps.attrNull"),
+
+ /**
+ * Represents the 'colleagueResponse.invalidSAML' constant error identifier.
+ */
+ COLLEAGUE_RESP_INVALID_SAML("colleagueResponse.invalidSAML"),
+
+ /**
+ * Represents the 'citizenNoConsent.mandatory' constant error identifier.
+ */
+ CITIZEN_NO_CONSENT_MANDATORY("citizenNoConsent.mandatory"),
+ /**
+ * Represents the 'citizenResponse.mandatory' constant error identifier.
+ */
+ CITIZEN_RESPONSE_MANDATORY("citizenResponse.mandatory"),
+ /**
+ * Represents the 'attVerification.mandatory' constant error identifier.
+ */
+ ATT_VERIFICATION_MANDATORY("attVerification.mandatory"),
+ /**
+ * Represents the 'attrValue.verification' constant error identifier.
+ */
+ ATTR_VALUE_VERIFICATION("attrValue.verification"),
+
+ /**
+ * Represents the 'audienceRestrictionError' constant error identifier.
+ */
+ AUDIENCE_RESTRICTION("audienceRestrictionError"),
+ /**
+ * Represents the 'auRequestIdError' constant error identifier.
+ */
+ AU_REQUEST_ID("auRequestIdError"),
+ /**
+ * Represents the 'domain' constant error identifier.
+ */
+ DOMAIN("domain"),
+ /**
+ * Represents the 'hash.error' constant error identifier.
+ */
+ HASH_ERROR("hash.error"),
+ /**
+ * Represents the 'invalidAttributeList' constant error identifier.
+ */
+ INVALID_ATTRIBUTE_LIST("invalidAttributeList"),
+ /**
+ * Represents the 'invalidAttributeValue' constant error identifier.
+ */
+ INVALID_ATTRIBUTE_VALUE("invalidAttributeValue"),
+ /**
+ * Represents the 'qaaLevel' constant error identifier.
+ */
+ QAALEVEL("qaaLevel"),
+ /**
+ * Represents the 'requests' constant error identifier.
+ */
+ REQUESTS("requests"),
+ /**
+ * Represents the 'SPSAMLRequest' constant error identifier.
+ */
+ SP_SAML_REQUEST("SPSAMLRequest"),
+ /**
+ * Represents the 'spepsSAMLRequest' constant error identifier.
+ */
+ SPEPS_SAML_REQUEST("spepsSAMLRequest"),
+ /**
+ * Represents the 'IdPSAMLResponse' constant error identifier.
+ */
+ IDP_SAML_RESPONSE("IdPSAMLResponse"),
+ /**
+ * Represents the 'cpepsSAMLResponse' constant error identifier.
+ */
+ CPEPS_SAML_RESPONSE("cpepsSAMLResponse"),
+ /**
+ * Represents the 'cpepsSAMLResponse' constant error identifier.
+ */
+ SPEPS_SAML_RESPONSE("spepsSAMLResponse"),
+ /**
+ * Represents the 'session' constant error identifier.
+ */
+ SESSION("session"),
+ /**
+ * Represents the 'invalid.session' constant error identifier.
+ */
+ INVALID_SESSION("invalid.session"),
+ /**
+ * Represents the 'invalid.sessionId' constant error identifier.
+ */
+ INVALID_SESSION_ID("invalid.sessionId"),
+ /**
+ * Represents the 'missing.sessionId' constant error identifier.
+ */
+ MISSING_SESSION_ID("sessionError"),
+ /**
+ * Represents the 'missing.mandate' constant error identifier.
+ */
+ MISSING_MANDATE("missing.mandate"),
+ /**
+ * Represents the 'AtPSAMLResponse' constant error identifier.
+ */
+ ATP_SAML_RESPONSE("AtPSAMLResponse"),
+
+ /**
+ * Represents the 'AtPSAMLResponse' constant error identifier.
+ */
+ ATP_RESPONSE_ERROR("atp.response.error"),
+
+ /**
+ * Represents the 'apepsSAMLRequest' constant error identifier.
+ */
+ APEPS_SAML_REQUEST("apepsSAMLRequest"),
+
+ /**
+ * Represents the 'apepsSAMLResponse' constant error identifier.
+ */
+ APEPS_SAML_RESPONSE("apepsSAMLResponse"),
+
+ /**
+ * Represents the 'invalid.apepsRedirectUrl' constant error identifier.
+ */
+ INVALID_APEPS_REDIRECT_URL("invalid.apepsRedirectUrl"),
+
+ /**
+ * Represents the 'invalid.apepsCallbackUrl' constant error identifier.
+ */
+ INVALID_APEPS_CALLBACK_URL("invalid.apepsCallbackUrl"),
+
+ /**
+ * Represents the 'colleagueAttributeRequest.invalidSAML' constant error identifier.
+ */
+ COLLEAGUE_ATTR_REQ_INVALID_SAML("colleagueAttributeRequest.invalidSAML"),
+
+ /**
+ * Represents the 'invalid.attr.country.code' constant error identifier.
+ */
+ INVALID_COUNTRY_CODE("invalid.attr.country.code"),
+ /**
+ * DTL error codes.
+ */
+ DTL_ERROR_ADD("dtl.error.adding.doc"), DTL_ERROR_GET("dtl.error.getting.doc"), DTL_ERROR_REQUEST("dtl.error.request.attribute"), DTL_INVALID_XML("dtl.invalid.xml"), DTL_EMPTY_REQUEST(
+ "dtl.empty.request"), DTL_ERROR_DOCUMENT_URL("dtl.error.no.document.url"), DTL_ERROR_NO_DOCUMENT("dtl.error.no.document"), DTL_ERROR_MARSHALL_SIGNREQUEST("dtl.error.marshall.signrequest"), DTL_ERROR_MARSHALL_SIGNRESPONSE(
+ "dtl.error.marshall.signresponse"),
+ /**
+ * Represents the 'colleagueAttributeRequest.invalidSAML' constant error identifier.
+ */
+ COLLEAGUE_LOGOUT_INVALID_SAML("colleagueLogoutRequest.invalidSAML");
+
+ /**
+ * Represents the constant's value.
+ */
+ private String error;
+
+ /**
+ * Solo Constructor.
+ *
+ * @param nError
+ * The Constant error value.
+ */
+ PEPSErrors(final String nError) {
+ this.error = nError;
+ }
+
+ /**
+ * Construct the errorCode Constant value.
+ *
+ * @return The errorCode Constant.
+ */
+ public String errorCode() {
+ return error + ".code";
+ }
+
+ /**
+ * Construct the errorCode Constant value with the given code text.
+ *
+ * @param text
+ * the code text to append to the constant.
+ *
+ * @return The errorCode Constant for the given code text.
+ */
+ public String errorCode(final String text) {
+ return error + "." + text + ".code";
+ }
+
+ /**
+ * Construct the errorMessage constant value.
+ *
+ * @return The errorMessage constant.
+ */
+ public String errorMessage() {
+ return error + ".message";
+ }
+
+ /**
+ * Construct the errorMessage Constant value with the given message text.
+ *
+ * @param text
+ * the message text to append to the constant.
+ *
+ * @return The errorMessage Constant for the given text.
+ */
+ public String errorMessage(final String text) {
+ return error + "." + text + ".message";
+ }
+
+ /**
+ * Return the Constant Value.
+ *
+ * @return The constant value.
+ */
+ public String toString() {
+ return error;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSParameters.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSParameters.java
index dd534499d..6b876b680 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSParameters.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSParameters.java
@@ -16,622 +16,636 @@ package eu.stork.peps.auth.commons;
/**
* This enum class contains all the STORK PEPS, Commons and Specific Parameters.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.13 $, $Date: 2011-07-07 20:48:45 $
*/
public enum PEPSParameters {
-
- /**
- * Represents the 'apId' parameter constant.
- */
- AP_ID("apId"),
- /**
- * Represents the 'apUrl' parameter constant.
- */
- AP_URL("apUrl"),
- /**
- * Represents the 'ap.number' parameter constant.
- */
- AP_NUMBER("ap.number"),
-
- /**
- * Represents the 'assertionConsumerServiceURL' parameter constant.
- */
- ASSERTION_CONSUMER_S_URL("assertionConsumerServiceURL"),
-
- /**
- * Represents the 'auth' parameter constant.
- */
- AUTHENTICATION("auth"),
-
- /**
- * Represents the 'attr' parameter constant.
- */
- ATTRIBUTE("attr"),
- /**
- * Represents the 'attrName' parameter constant.
- */
- ATTRIBUTE_NAME("attrName"),
- /**
- * Represents the 'attrStatus' parameter constant.
- */
- ATTRIBUTE_STATUS("attrStatus"),
- /**
- * Represents the 'attrType' parameter constant.
- */
- ATTRIBUTE_TYPE("attrType"),
- /**
- * Represents the 'attrValue' parameter constant.
- */
- ATTRIBUTE_VALUE("attrValue"),
- /**
- * Represents the 'attrList' parameter constant.
- */
- ATTRIBUTE_LIST("attrList"),
- /**
- * Represents the 'apMandAttrList' parameter constant.
- */
- AP_MANDATORY_ATTRIBUTE_LIST("apMandAttrList"),
- /**
- * Represents the 'attrTuple' parameter constant.
- */
- ATTRIBUTE_TUPLE("attrTuple"),
- /**
- * Represents the 'attribute-missing' parameter constant.
- */
- ATTRIBUTE_MISSING("attribute-missing"),
- /**
- * Represents the 'attributesNotAllowed' parameter constant.
- */
- ATTRIBUTES_NOT_ALLOWED("attributesNotAllowed"),
- /**
- * Represents the 'authnRequest' parameter constant.
- */
- AUTH_REQUEST("authnRequest"),
-
- /**
- * Represents the 'attrValue.number' parameter constant.
- */
- ATTR_VALUE_NUMBER("attrValue.number"),
-
- /**
- * Represents the 'derivation.date.format' parameter constant.
- */
- DERIVATION_DATE_FORMAT("derivation.date.format"),
- /**
- * Represents the 'deriveAttr.number' parameter constant.
- */
- DERIVE_ATTRIBUTE_NUMBER("deriveAttr.number"),
-
- /**
- * Represents the complex attributes parameter constant.
- */
- COMPLEX_ADDRESS_VALUE("canonicalResidenceAddress"),
- COMPLEX_NEWATTRIBUTE_VALUE("newAttribute2"),
- COMPLEX_HASDEGREE_VALUE("hasDegree"),
- COMPLEX_MANDATECONTENT_VALUE("mandateContent"),
- /**
- * Represents the 'consent-type' parameter constant.
- */
- CONSENT_TYPE("consent-type"),
- /**
- * Represents the 'consent-value' parameter constant.
- */
- CONSENT_VALUE("consent-value"),
- /**
- * Represents the 'country' parameter constant.
- */
- COUNTRY("country"),
- /**
- * Represents the 'countryOrigin' parameter constant.
- */
- COUNTRY_ORIGIN("countryOrigin"),
-
- /**
- * Represents the 'cpepsURL' parameter constant.
- */
- CPEPS_URL("cpepsURL"),
- /**
- * Represents the 'callback' parameter constant.
- */
- CPEPS_CALLBACK("callback"),
- /**
- * Represents the 'peps.specificidpredirect.url' parameter constant.
- */
- CPEPS_IDP_CALLBACK_VALUE("peps.specificidpredirect.url"),
- /**
- * Represents the 'peps.specificapredirect.url' parameter constant.
- */
- CPEPS_AP_CALLBACK_VALUE("peps.specificapredirect.url"),
-
- /**
- * Represents the 'errorCode' parameter constant.
- */
- ERROR_CODE("errorCode"),
- /**
- * Represents the 'subCode' parameter constant.
- */
- ERROR_SUBCODE("subCode"),
- /**
- * Represents the 'errorMessage' parameter constant.
- */
- ERROR_MESSAGE("errorMessage"),
- /**
- * Represents the 'errorRedirectUrl' parameter constant.
- */
- ERROR_REDIRECT_URL("errorRedirectUrl"),
-
- /**
- * errorRedirectUrl Represents the 'external-authentication' parameter
- * constant.
- */
- EXTERNAL_AUTH("external-authentication"),
- /**
- * Represents the 'external-ap' parameter constant.
- */
- EXTERNAL_AP("external-ap"),
- /**
- * Represents the 'external-pv' parameter constant.
- */
- EXTERNAL_PV("external-pv"),
- /**
- * Represents the 'external-sig-module' parameter constant.
- */
- EXT_SIG_CREATOR_MOD("external-sig-module"),
-
- /**
- * Represents the 'http-x-forwarded-for' parameter constant.
- */
- HTTP_X_FORWARDED_FOR("http-x-forwarded-for"),
-
- /**
- * Represents the 'idp.url' parameter constant.
- */
- IDP_URL("idp.url"),
- /**
- * Represents the 'internal-authentication' parameter constant.
- */
- INTERNAL_AUTH("internal-authentication"),
- /**
- * Represents the 'internal-ap' parameter constant.
- */
- INTERNAL_AP("internal-ap"),
- /**
- * Represents the 'internal-pv' parameter constant.
- */
- INTERNAL_PV("internal-pv"),
-
- /**
- * Represents the 'samlIssuer' parameter constant.
- */
- ISSUER("samlIssuer"),
- /**
- * Represents the 'samlIssuer.idp' parameter constant.
- */
- ISSUER_IDP("samlIssuer.idp"),
- /**
- * Represents the 'samlIssuer.atp' parameter constant.
- */
- ISSUER_ATP("samlIssuer.atp"),
-
- /**
- * Represents the 'mandatory' parameter constant.
- */
- MANDATORY("mandatory"),
- /**
- * Represents the 'mandatoryAttributeMissing' parameter constant.
- */
- MANDATORY_ATTR_MISSING("mandatoryAttributeMissing"),
- /**
- * Represents the 'mandatoryConsentAttrMissing' parameter constant.
- */
- MANDATORY_CONSENT_MISSING("mandatoryConsentAttrMissing"),
- /**
- * Represents the 'missing-attrs' parameter constant.
- */
- MISSING_ATTRS("missing-attrs"),
- /**
- * Represents the 'no-more-attrs' parameter constant.
- */
- NO_MORE_ATTRS("no-more-attrs"),
-
- /**
- * Represents the 'optional' parameter constant.
- */
- OPTIONAL("optional"),
-
- /**
- * Represents the 'no-consent-type' parameter constant.
- */
- NO_CONSENT_TYPE("no-consent-type"),
- /**
- * Represents the 'no-consent-value' parameter constant.
- */
- NO_CONSENT_VALUE("no-consent-value"),
-
- /**
- * Represents the 'provider.name' parameter constant.
- */
- PROVIDER_NAME_VALUE("providerName"),
- /**
- * Represents the 'cpeps.askconsent' parameter constant.
- */
- PEPS_ASK_CONSENT("cpeps.askconsent"),
- /**
- * Represents the 'cpeps.askconsentvalue' parameter constant.
- */
- PEPS_ASK_CONSENT_VALUE("cpeps.askconsentvalue"),
- /**
- * Represents the 'pepsAuth' parameter constant.
- */
- PEPS_AUTH_CONSENT("pepsAuth"),
- /**
- * Represents the 'validation.bypass' parameter constant.
- */
- PEPS_BYPASS("validation.bypass"),
- /**
- * Represents the 'cpeps.number' parameter constant.
- */
- PEPS_NUMBER("cpeps.number"),
- /**
- * Represents the 'cpeps.specificapredirect.url' parameter constant.
- */
- PEPS_SPECIFIC_URL("cpeps.specificapredirect.url"),
- /**
- * Represents the 'pv.url' parameter constant.
- */
- PV_URL("pv.url"),
-
- /**
- * Represents the 'qaaLevel' parameter constant.
- */
- QAALEVEL("qaaLevel"),
-
- /**
- * Represents the 'speps.redirectUrl' parameter constant.
- */
- SPEPS_REDIRECT_URL("speps.redirectUrl"),
-
- /**
- * Represents the 'sp.redirectUrl' parameter constant.
- */
- SP_REDIRECT_URL("sp.redirectUrl"),
- /**
- * Represents the 'cpeps.redirectUrl' parameter constant.
- */
- CPEPS_REDIRECT_URL("cpeps.redirectUrl"),
- /**
- * Represents the 'RelayState' parameter constant.
- */
- RELAY_STATE("RelayState"),
- /**
- * Represents the 'remoteAddr' parameter constant.
- */
- REMOTE_ADDR("remoteAddr"),
- /**
- * Represents the 'remoteUser' parameter constant.
- */
- REMOTE_USER("remoteUser"),
-
- /**
- * Represents the 'SAMLRequest' parameter constant.
- */
- SAML_REQUEST("SAMLRequest"),
- /**
- * Represents the 'SAMLResponse' parameter constant.
- */
- SAML_RESPONSE("SAMLResponse"),
- /**
- * Represents the 'SAMLFail' parameter constant.
- */
- SAML_TOKEN_FAIL("SAMLFail"),
- /**
- * Represents the 'TokenId' parameter constant.
- */
- SAML_TOKEN_ID("TokenId"),
- /**
- * Represents the 'inResponseTo' parameter constant.
- */
- SAML_IN_RESPONSE_TO("inResponseTo"),
- /**
- * Represents the 'inResponseTo.idp' parameter constant.
- */
- SAML_IN_RESPONSE_TO_IDP("inResponseTo.idp"),
- /**
- * Represents the 'inResponseTo.atp' parameter constant.
- */
- SAML_IN_RESPONSE_TO_ATP("inResponseTo.atp"),
- /**
- * Represents the 'SignatureResponse' parameter constant.
- */
- SIGNATURE_RESPONSE("SignatureResponse"),
-
- /**
- * Represents the 'cPepsSession' parameter constant.
- */
- SESSION_ID_URL("cPepsSession"),
- /**
- * Represents the 'spId' parameter constant.
- */
- SP_ID("spId"),
- /**
- * Represents the 'spQaaLevel' parameter constant.
- */
- SP_QAALEVEL("spQaaLevel"),
- /**
- * Represents the 'spUrl' parameter constant.
- */
- SP_URL("spUrl"),
-
- /**
- * Represents the 'allow.derivation.all' parameter constant.
- */
- SPECIFIC_ALLOW_DERIVATION_ALL("allow.derivation.all"),
- /**
- * Represents the ''allow.unknowns parameter constant.
- */
- SPECIFIC_ALLOW_UNKNOWNS("allow.unknowns"),
- /**
- * Represents the 'derivation.date.separator' parameter constant.
- */
- SPECIFIC_DERIVATION_DATE_SEP("derivation.date.separator"),
- /**
- * Represents the 'derivation.month.position' parameter constant.
- */
- SPECIFIC_DERIVATION_MONTH_POS("derivation.month.position"),
- /**
- * Represents the 'derivation.day.position' parameter constant.
- */
- SPECIFIC_DERIVATION_DAY_POS("derivation.day.position"),
- /**
- * Represents the 'derivation.year.position' parameter constant.
- */
- SPECIFIC_DERIVATION_YEAR_POS("derivation.year.position"),
-
- /**
- * sp.authorized.parameters Represents the '' parameter constant.
- */
- SPEPS_AUTHORIZED("sp.authorized.parameters"),
-
- /**
- * Represents the 'spSector' constant value.
- */
- SPSECTOR("spSector"),
- /**
- * Represents the 'spApplication' constant value.
- */
- SPAPPLICATION("spApplication"),
- /**
- * Represents the 'spCountry' constant value.
- */
- SPCOUNTRY("spCountry"),
-
- /**
- * Represents the 'spInstitution' constant value.
- */
- SPINSTITUTION("spInstitution"),
-
- /**
- * Represents the 'spCountryCode' constant value.
- */
- SP_COUNTRY_CODE("spCountryCode"),
-
- /**
- * Represents the 'storkAttribute.number' parameter constant.
- */
- STORK_ATTRIBUTE_NUMBER("storkAttribute.number"),
- /**
- * Represents the 'storkAttributeValue.number' parameter constant.
- */
- STORK_ATTRIBUTE_VALUE_NUMBER("storkAttributeValue.number"),
-
- /**
- * Represents the 'username' parameter constant.
- */
- USERNAME("username"),
-
- /**
- * Represents the 'tooManyParameters' parameter constant.
- */
- TOO_MANY_PARAMETERS("tooManyParameters"),
- /**
- * Represents the 'validation.active' parameter constant.
- */
- VALIDATION_ACTIVE("validation.active"),
-
- /**
- * Represents the 'x-forwarded-for' parameter constant.
- */
- X_FORWARDED_FOR("x-forwarded-for"),
- /**
- * Represents the 'x-forwarded-host' parameter constant.
- */
- X_FORWARDED_HOST("x-forwarded-host"),
- /**
- * Represents the 'XMLResponse' parameter constant.
- */
- XML_RESPONSE("XMLResponse"),
-
- /**
- * Represents the 'ap-cpeps.number' parameter constant.
- */
- AP_PEPS_NUMBER("ap-cpeps.number"),
-
- /**
- * Represents the 'atp.number' parameter constant.
- */
- ATTRIBUTE_PROVIDER_NUMBER("atp.number"),
-
- /**
- * Represents the 'atn.number' parameter constant.
- */
- ATTRIBUTE_NAME_NUMBER("atn.number"),
-
- /**
- * Represents the 'apLinker' parameter constant.
- */
- AP_LINKER("apLinker"),
-
- /**
- * Represents the 'prevApLinker' parameter constant.
- */
- PREV_AP_LINKER("prevApLinker"),
-
- /**
- * Represents the 'NOSEL' parameter constant (no attribute provider selected).
- */
- AP_NO_SELECTION("NOSEL"),
-
- /**
- * Represents the 'OCSEL' parameter constant (attribute provider in another country).
- */
- AP_OTHER_COUNTRY("OCSEL"),
-
- /**
- * Represents the '_provider' suffix parameter constant.
- */
- AP_PROVIDER_SELECT_SUFFIX("_provider"),
-
- /**
- * Represents the '_country' suffix parameter constant.
- */
- AP_COUNTRY_SELECT_SUFFIX("_country"),
-
- /**
- * Represents the '_name' suffix parameter constant.
- */
- AP_NAME_SELECT_SUFFIX("_name"),
-
- /**
- * Represents the 'next-ap' parameter constant.
- */
- NEXT_AP("next-ap"),
-
- /**
- * Represents the 'next-apeps' parameter constant.
- */
- NEXT_APEPS("next-apeps"),
-
- /**
- * Represents the 'back-to-apeps' parameter constant.
- */
- BACK_TO_APEPS("back-to-apeps"),
-
- /**
- * Represents the 'is-remote-apeps' parameter constant.
- */
- IS_REMOTE_APEPS("is-remote-apeps"),
-
- /**
- * Represents the 'more-attributes' parameter constant.
- */
- MORE_ATTRIBUTES("more-attributes"),
-
- /**
- * Represents the 'attr-filter.number' parameter constant.
- */
- ATTRIBUTES_FILTER_NUMBER("attr-filter.number"),
-
- /**
- * Represents the 'attr-group' parameter constant.
- */
- ATTRIBUTE_GROUPS("attr-group"),
-
- /**
- * Represents the 'all' parameter constant for attribute groups.
- */
- ATTRIBUTE_GROUPS_ALL("all"),
-
- /**
- * Represents the 'none' parameter constant for attribute groups.
- */
- ATTRIBUTE_GROUPS_NONE("none"),
-
- /**
- * Represents the 'atp.url' parameter constant.
- */
- ATP_URL("atp.url"),
- /**
- * Represents the 'apepsURL' parameter constant.
- */
- APEPS_URL("apepsUrl"),
-
- /**
- * Represents the 'apepsCountry' parameter constant.
- */
- APEPS_COUNTRY("apepsCountry"),
-
- /**
- * Represents the 'apepsAuthRequest' parameter constant.
- */
- APEPS_ATTR_REQUEST("apepsAttrRequest"),
-
- /**
- * Represents the 'isApepsRequest' parameter constant.
- */
- APEPS_REQUEST_COMPLETE("apeps-request-complete"),
-
- /**
- * Represents the 'apeps.callbackUrl' parameter constant.
- */
- APEPS_CALLBACK_URL("apeps.callbackUrl"),
- /**
- * Represents the 'attrListMand' parameter constant.
- */
- ATTR_LIST_MAND("attrListMand"),
-
- /**
- * Represents the 'attrListOpt' parameter constant.
- */
- ATTR_LIST_OPT("attrListOpt"),
-
- /**
- * Represents the 'simpleAttrListMand' parameter constant.
- */
- SIMPLE_ATTR_LIST_MAND("simpleAttrListMand"),
-
- /**
- * Represents the 'simpleAttrListOpt' parameter constant.
- */
- SIMPLE_ATTR_LIST_OPT("simpleAttrListOpt"),
-
- /**
- * Represents the 'complexAttrListMand' parameter constant.
- */
- COMPLEX_ATTR_LIST_MAND("complexAttrListMand"),
-
- /**
- * Represents the 'complexAttrListOpt' parameter constant.
- */
- COMPLEX_ATTR_LIST_OPT("complexAttrListOpt"),
- /**
- * Represents the 'idPDerivedAttrList' parameter constant.
- */
-
- IDP_DERIVED_ATTR_LIST("idPDerivedAttrList");
-
- /**
- * Represents the constant's value.
- */
- private String value;
-
- /**
- * Solo Constructor.
- *
- * @param nValue The Constant value.
- */
- PEPSParameters(final String nValue) {
- this.value = nValue;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
- return value;
- }
+
+ /**
+ * Represents the 'apId' parameter constant.
+ */
+ AP_ID("apId"),
+ /**
+ * Represents the 'apUrl' parameter constant.
+ */
+ AP_URL("apUrl"),
+ /**
+ * Represents the 'ap.number' parameter constant.
+ */
+ AP_NUMBER("ap.number"),
+
+ /**
+ * Represents the 'assertionConsumerServiceURL' parameter constant.
+ */
+ ASSERTION_CONSUMER_S_URL("assertionConsumerServiceURL"),
+
+ /**
+ * Represents the 'auth' parameter constant.
+ */
+ AUTHENTICATION("auth"),
+
+ /**
+ * Represents the 'attr' parameter constant.
+ */
+ ATTRIBUTE("attr"),
+ /**
+ * Represents the 'attrName' parameter constant.
+ */
+ ATTRIBUTE_NAME("attrName"),
+ /**
+ * Represents the 'attrStatus' parameter constant.
+ */
+ ATTRIBUTE_STATUS("attrStatus"),
+ /**
+ * Represents the 'attrType' parameter constant.
+ */
+ ATTRIBUTE_TYPE("attrType"),
+ /**
+ * Represents the 'attrValue' parameter constant.
+ */
+ ATTRIBUTE_VALUE("attrValue"),
+ /**
+ * Represents the 'attrList' parameter constant.
+ */
+ ATTRIBUTE_LIST("attrList"),
+ /**
+ * Represents the 'allAttrList' parameter constant.
+ */
+ ALL_ATTRIBUTE_LIST("allAttrList"),
+ /**
+ * Represents the 'apMandAttrList' parameter constant.
+ */
+ AP_MANDATORY_ATTRIBUTE_LIST("apMandAttrList"),
+ /**
+ * Represents the 'attrTuple' parameter constant.
+ */
+ ATTRIBUTE_TUPLE("attrTuple"),
+ /**
+ * Represents the 'attribute-missing' parameter constant.
+ */
+ ATTRIBUTE_MISSING("attribute-missing"),
+ /**
+ * Represents the 'attributesNotAllowed' parameter constant.
+ */
+ ATTRIBUTES_NOT_ALLOWED("attributesNotAllowed"),
+ /**
+ * Represents the 'authnRequest' parameter constant.
+ */
+ AUTH_REQUEST("authnRequest"),
+
+ /**
+ * Represents the 'attrValue.number' parameter constant.
+ */
+ ATTR_VALUE_NUMBER("attrValue.number"),
+
+ /**
+ * Represents the 'derivation.date.format' parameter constant.
+ */
+ DERIVATION_DATE_FORMAT("derivation.date.format"),
+ /**
+ * Represents the 'deriveAttr.number' parameter constant.
+ */
+ DERIVE_ATTRIBUTE_NUMBER("deriveAttr.number"),
+
+ /**
+ * Represents the complex attributes parameter constant.
+ */
+ COMPLEX_ADDRESS_VALUE("canonicalResidenceAddress"), COMPLEX_NEWATTRIBUTE_VALUE("newAttribute2"), COMPLEX_HASDEGREE_VALUE("hasDegree"), COMPLEX_MANDATECONTENT_VALUE("mandate"),
+ /**
+ * Represents the 'consent-type' parameter constant.
+ */
+ CONSENT_TYPE("consent-type"),
+ /**
+ * Represents the 'consent-value' parameter constant.
+ */
+ CONSENT_VALUE("consent-value"),
+ /**
+ * Represents the 'country' parameter constant.
+ */
+ COUNTRY("country"),
+ /**
+ * Represents the 'countryOrigin' parameter constant.
+ */
+ COUNTRY_ORIGIN("countryOrigin"),
+
+ /**
+ * Represents the 'cpepsURL' parameter constant.
+ */
+ CPEPS_URL("cpepsURL"),
+ /**
+ * Represents the 'callback' parameter constant.
+ */
+ CPEPS_CALLBACK("callback"),
+ /**
+ * Represents the 'peps.specificidpredirect.url' parameter constant.
+ */
+ CPEPS_IDP_CALLBACK_VALUE("peps.specificidpredirect.url"),
+ /**
+ * Represents the 'peps.specificapredirect.url' parameter constant.
+ */
+ CPEPS_AP_CALLBACK_VALUE("peps.specificapredirect.url"),
+
+ /**
+ * Represents the 'errorCode' parameter constant.
+ */
+ ERROR_CODE("errorCode"),
+ /**
+ * Represents the 'subCode' parameter constant.
+ */
+ ERROR_SUBCODE("subCode"),
+ /**
+ * Represents the 'errorMessage' parameter constant.
+ */
+ ERROR_MESSAGE("errorMessage"),
+ /**
+ * Represents the 'errorRedirectUrl' parameter constant.
+ */
+ ERROR_REDIRECT_URL("errorRedirectUrl"),
+
+ /**
+ * errorRedirectUrl Represents the 'external-authentication' parameter constant.
+ */
+ EXTERNAL_AUTH("external-authentication"),
+ /**
+ * Represents the 'external-ap' parameter constant.
+ */
+ EXTERNAL_AP("external-ap"),
+ /**
+ * Represents the 'external-pv' parameter constant.
+ */
+ EXTERNAL_PV("external-pv"),
+ /**
+ * Represents the 'external-sig-module' parameter constant.
+ */
+ EXT_SIG_CREATOR_MOD("external-sig-module"),
+
+ /**
+ * Represents the 'http-x-forwarded-for' parameter constant.
+ */
+ HTTP_X_FORWARDED_FOR("http-x-forwarded-for"),
+
+ /**
+ * Represents the 'idp.url' parameter constant.
+ */
+ IDP_URL("idp.url"),
+ /**
+ * Represents the 'internal-authentication' parameter constant.
+ */
+ INTERNAL_AUTH("internal-authentication"),
+ /**
+ * Represents the 'internal-ap' parameter constant.
+ */
+ INTERNAL_AP("internal-ap"),
+ /**
+ * Represents the 'internal-pv' parameter constant.
+ */
+ INTERNAL_PV("internal-pv"),
+
+ /**
+ * Represents the 'samlIssuer' parameter constant.
+ */
+ ISSUER("samlIssuer"),
+ /**
+ * Represents the 'samlIssuer.idp' parameter constant.
+ */
+ ISSUER_IDP("samlIssuer.idp"),
+ /**
+ * Represents the 'samlIssuer.atp' parameter constant.
+ */
+ ISSUER_ATP("samlIssuer.atp"),
+
+ /**
+ * Represents the 'mandatory' parameter constant.
+ */
+ MANDATORY("mandatory"),
+ /**
+ * Represents the 'mandatoryAttributeMissing' parameter constant.
+ */
+ MANDATORY_ATTR_MISSING("mandatoryAttributeMissing"),
+ /**
+ * Represents the 'mandatoryConsentAttrMissing' parameter constant.
+ */
+ MANDATORY_CONSENT_MISSING("mandatoryConsentAttrMissing"),
+ /**
+ * Represents the 'missing-attrs' parameter constant.
+ */
+ MISSING_ATTRS("missing-attrs"),
+ /**
+ * Represents the 'no-more-attrs' parameter constant.
+ */
+ NO_MORE_ATTRS("no-more-attrs"),
+
+ /**
+ * Represents the 'optional' parameter constant.
+ */
+ OPTIONAL("optional"),
+
+ /**
+ * Represents the 'no-consent-type' parameter constant.
+ */
+ NO_CONSENT_TYPE("no-consent-type"),
+ /**
+ * Represents the 'no-consent-value' parameter constant.
+ */
+ NO_CONSENT_VALUE("no-consent-value"),
+
+ /**
+ * Represents the 'provider.name' parameter constant.
+ */
+ PROVIDER_NAME_VALUE("providerName"),
+ /**
+ * Represents the 'cpeps.askconsent' parameter constant.
+ */
+ PEPS_ASK_CONSENT("cpeps.askconsent"),
+ /**
+ * Represents the 'cpeps.askconsentvalue' parameter constant.
+ */
+ PEPS_ASK_CONSENT_VALUE("cpeps.askconsentvalue"),
+ /**
+ * Represents the 'pepsAuth' parameter constant.
+ */
+ PEPS_AUTH_CONSENT("pepsAuth"),
+ /**
+ * Represents the 'validation.bypass' parameter constant.
+ */
+ PEPS_BYPASS("validation.bypass"),
+ /**
+ * Represents the 'cpeps.number' parameter constant.
+ */
+ PEPS_NUMBER("cpeps.number"),
+ /**
+ * Represents the 'cpeps.specificapredirect.url' parameter constant.
+ */
+ PEPS_SPECIFIC_URL("cpeps.specificapredirect.url"),
+ /**
+ * Represents the 'pv.url' parameter constant.
+ */
+ PV_URL("pv.url"),
+
+ /**
+ * Represents the 'qaaLevel' parameter constant.
+ */
+ QAALEVEL("qaaLevel"),
+
+ /**
+ * Represents the 'speps.redirectUrl' parameter constant.
+ */
+ SPEPS_REDIRECT_URL("speps.redirectUrl"),
+
+ /**
+ * Represents the 'sp.redirectUrl' parameter constant.
+ */
+ SP_REDIRECT_URL("sp.redirectUrl"),
+ /**
+ * Represents the 'cpeps.redirectUrl' parameter constant.
+ */
+ CPEPS_REDIRECT_URL("cpeps.redirectUrl"),
+ /**
+ * Represents the 'RelayState' parameter constant.
+ */
+ RELAY_STATE("RelayState"),
+ /**
+ * Represents the 'remoteAddr' parameter constant.
+ */
+ REMOTE_ADDR("remoteAddr"),
+ /**
+ * Represents the 'remoteUser' parameter constant.
+ */
+ REMOTE_USER("remoteUser"),
+
+ /**
+ * Represents the 'SAMLRequest' parameter constant.
+ */
+ SAML_REQUEST("SAMLRequest"),
+ /**
+ * Represents the 'SAMLResponse' parameter constant.
+ */
+ SAML_RESPONSE("SAMLResponse"),
+ /**
+ * Represents the 'SAMLFail' parameter constant.
+ */
+ SAML_TOKEN_FAIL("SAMLFail"),
+ /**
+ * Represents the 'TokenId' parameter constant.
+ */
+ SAML_TOKEN_ID("TokenId"),
+ /**
+ * Represents the 'inResponseTo' parameter constant.
+ */
+ SAML_IN_RESPONSE_TO("inResponseTo"),
+ /**
+ * Represents the 'inResponseTo.idp' parameter constant.
+ */
+ SAML_IN_RESPONSE_TO_IDP("inResponseTo.idp"),
+ /**
+ * Represents the 'inResponseTo.atp' parameter constant.
+ */
+ SAML_IN_RESPONSE_TO_ATP("inResponseTo.atp"),
+ /**
+ * Represents the 'SignatureResponse' parameter constant.
+ */
+ SIGNATURE_RESPONSE("SignatureResponse"),
+
+ /**
+ * Represents the 'cPepsSession' parameter constant.
+ */
+ SESSION_ID_URL("cPepsSession"),
+ /**
+ * Represents the 'spId' parameter constant.
+ */
+ SP_ID("spId"),
+ /**
+ * Represents the 'spQaaLevel' parameter constant.
+ */
+ SP_QAALEVEL("spQaaLevel"),
+ /**
+ * Represents the 'spUrl' parameter constant.
+ */
+ SP_URL("spUrl"),
+
+ /**
+ * Represents the 'allow.derivation.all' parameter constant.
+ */
+ SPECIFIC_ALLOW_DERIVATION_ALL("allow.derivation.all"),
+ /**
+ * Represents the ''allow.unknowns parameter constant.
+ */
+ SPECIFIC_ALLOW_UNKNOWNS("allow.unknowns"),
+ /**
+ * Represents the 'derivation.date.separator' parameter constant.
+ */
+ SPECIFIC_DERIVATION_DATE_SEP("derivation.date.separator"),
+ /**
+ * Represents the 'derivation.month.position' parameter constant.
+ */
+ SPECIFIC_DERIVATION_MONTH_POS("derivation.month.position"),
+ /**
+ * Represents the 'derivation.day.position' parameter constant.
+ */
+ SPECIFIC_DERIVATION_DAY_POS("derivation.day.position"),
+ /**
+ * Represents the 'derivation.year.position' parameter constant.
+ */
+ SPECIFIC_DERIVATION_YEAR_POS("derivation.year.position"),
+
+ /**
+ * sp.authorized.parameters Represents the '' parameter constant.
+ */
+ SPEPS_AUTHORIZED("sp.authorized.parameters"),
+
+ /**
+ * Represents the 'spSector' constant value.
+ */
+ SPSECTOR("spSector"),
+ /**
+ * Represents the 'spApplication' constant value.
+ */
+ SPAPPLICATION("spApplication"),
+ /**
+ * Represents the 'spCountry' constant value.
+ */
+ SPCOUNTRY("spCountry"),
+
+ /**
+ * Represents the 'spInstitution' constant value.
+ */
+ SPINSTITUTION("spInstitution"),
+
+ /**
+ * Represents the 'spCountryCode' constant value.
+ */
+ SP_COUNTRY_CODE("spCountryCode"),
+
+ /**
+ * Represents the 'storkAttribute.number' parameter constant.
+ */
+ STORK_ATTRIBUTE_NUMBER("storkAttribute.number"),
+ /**
+ * Represents the 'storkAttributeValue.number' parameter constant.
+ */
+ STORK_ATTRIBUTE_VALUE_NUMBER("storkAttributeValue.number"),
+
+ /**
+ * Represents the 'username' parameter constant.
+ */
+ USERNAME("username"),
+
+ /**
+ * Represents the 'tooManyParameters' parameter constant.
+ */
+ TOO_MANY_PARAMETERS("tooManyParameters"),
+ /**
+ * Represents the 'validation.active' parameter constant.
+ */
+ VALIDATION_ACTIVE("validation.active"),
+
+ /**
+ * Represents the 'x-forwarded-for' parameter constant.
+ */
+ X_FORWARDED_FOR("x-forwarded-for"),
+ /**
+ * Represents the 'x-forwarded-host' parameter constant.
+ */
+ X_FORWARDED_HOST("x-forwarded-host"),
+ /**
+ * Represents the 'XMLResponse' parameter constant.
+ */
+ XML_RESPONSE("XMLResponse"),
+
+ /**
+ * Represents the 'ap-cpeps.number' parameter constant.
+ */
+ AP_PEPS_NUMBER("ap-cpeps.number"),
+
+ /**
+ * Represents the 'atp.number' parameter constant.
+ */
+ ATTRIBUTE_PROVIDER_NUMBER("atp.number"),
+
+ /**
+ * Represents the 'atn.number' parameter constant.
+ */
+ ATTRIBUTE_NAME_NUMBER("atn.number"),
+
+ /**
+ * Represents the 'apLinker' parameter constant.
+ */
+ AP_LINKER("apLinker"),
+
+ /**
+ * Represents the 'prevApLinker' parameter constant.
+ */
+ PREV_AP_LINKER("prevApLinker"),
+
+ /**
+ * Represents the 'NOSEL' parameter constant (no attribute provider selected).
+ */
+ AP_NO_SELECTION("NOSEL"),
+
+ /**
+ * Represents the 'OCSEL' parameter constant (attribute provider in another country).
+ */
+ AP_OTHER_COUNTRY("OCSEL"),
+
+ /**
+ * Represents the '_provider' suffix parameter constant.
+ */
+ AP_PROVIDER_SELECT_SUFFIX("_provider"),
+
+ /**
+ * Represents the '_country' suffix parameter constant.
+ */
+ AP_COUNTRY_SELECT_SUFFIX("_country"),
+
+ /**
+ * Represents the '_name' suffix parameter constant.
+ */
+ AP_NAME_SELECT_SUFFIX("_name"),
+
+ /**
+ * Represents the 'next-ap' parameter constant.
+ */
+ NEXT_AP("next-ap"),
+
+ /**
+ * Represents the 'next-apeps' parameter constant.
+ */
+ NEXT_APEPS("next-apeps"),
+
+ /**
+ * Represents the 'back-to-apeps' parameter constant.
+ */
+ BACK_TO_APEPS("back-to-apeps"),
+
+ /**
+ * Represents the 'is-remote-apeps' parameter constant.
+ */
+ IS_REMOTE_APEPS("is-remote-apeps"),
+
+ /**
+ * Represents the 'more-attributes' parameter constant.
+ */
+ MORE_ATTRIBUTES("more-attributes"),
+
+ /**
+ * Represents the 'attr-filter.number' parameter constant.
+ */
+ ATTRIBUTES_FILTER_NUMBER("attr-filter.number"),
+
+ /**
+ * Represents the 'attr-group' parameter constant.
+ */
+ ATTRIBUTE_GROUPS("attr-group"),
+
+ /**
+ * Represents the 'all' parameter constant for attribute groups.
+ */
+ ATTRIBUTE_GROUPS_ALL("all"),
+
+ /**
+ * Represents the 'none' parameter constant for attribute groups.
+ */
+ ATTRIBUTE_GROUPS_NONE("none"),
+
+ /**
+ * Represents the 'atp.url' parameter constant.
+ */
+ ATP_URL("atp.url"),
+ /**
+ * Represents the 'apepsURL' parameter constant.
+ */
+ APEPS_URL("apepsUrl"),
+
+ /**
+ * Represents the 'apepsCountry' parameter constant.
+ */
+ APEPS_COUNTRY("apepsCountry"),
+
+ /**
+ * Represents the 'apepsAuthRequest' parameter constant.
+ */
+ APEPS_ATTR_REQUEST("apepsAttrRequest"),
+
+ /**
+ * Represents the 'isApepsRequest' parameter constant.
+ */
+ APEPS_REQUEST_COMPLETE("apeps-request-complete"),
+
+ /**
+ * Represents the 'apeps.callbackUrl' parameter constant.
+ */
+ APEPS_CALLBACK_URL("apeps.callbackUrl"),
+ /**
+ * Represents the 'attrListMand' parameter constant.
+ */
+ ATTR_LIST_MAND("attrListMand"),
+
+ /**
+ * Represents the 'attrListOpt' parameter constant.
+ */
+ ATTR_LIST_OPT("attrListOpt"),
+
+ /**
+ * Represents the 'simpleAttrListMand' parameter constant.
+ */
+ SIMPLE_ATTR_LIST_MAND("simpleAttrListMand"),
+
+ /**
+ * Represents the 'simpleAttrListOpt' parameter constant.
+ */
+ SIMPLE_ATTR_LIST_OPT("simpleAttrListOpt"),
+
+ /**
+ * Represents the 'complexAttrListMand' parameter constant.
+ */
+ COMPLEX_ATTR_LIST_MAND("complexAttrListMand"),
+
+ /**
+ * Represents the 'complexAttrListOpt' parameter constant.
+ */
+ COMPLEX_ATTR_LIST_OPT("complexAttrListOpt"),
+ /**
+ * Represents the 'idPDerivedAttrList' parameter constant.
+ */
+ IDP_DERIVED_ATTR_LIST("idPDerivedAttrList"),
+ /**
+ * Represents the 'apRejectedAttrsList' parameter constant.
+ */
+ AP_REJECTED_ATTRS_LIST("apRejectedAttrsList"),
+ /**
+ * Represents the 'logoutRequest' parameter constant.
+ */
+ LOGOUT_REQUEST("logoutRequest"),
+ /**
+ * Represents the 'logoutRequest' parameter constant.
+ */
+ LOGOUT_RESPONSE("logoutResponse"),
+ /**
+ * Represents the 'logoutRequest' parameter constant.
+ */
+ LOGOUT_DEST_URL("speps.logout.destination.url");
+
+ /**
+ * Represents the constant's value.
+ */
+ private String value;
+
+ /**
+ * Solo Constructor.
+ *
+ * @param nValue
+ * The Constant value.
+ */
+ PEPSParameters(final String nValue) {
+ this.value = nValue;
+ }
+
+ /**
+ * Return the Constant Value.
+ *
+ * @return The constant value.
+ */
+ public String toString() {
+ return value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSUtil.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSUtil.java
index 69729c0bb..c026ebdbe 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSUtil.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSUtil.java
@@ -30,362 +30,363 @@ import eu.stork.peps.auth.commons.exceptions.InvalidParameterPEPSException;
/**
* This class holds static helper methods.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.75 $, $Date: 2010-11-23 00:05:35 $
*/
public final class PEPSUtil {
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(PEPSUtil.class.getName());
-
- /**
- * Configurations object.
- */
- private static Properties configs;
-
- /**
- * Max prefix.
- */
- private static final String MAX_PARAM_PREFIX = "max.";
-
- /**
- * Code prefix to get error code.
- */
- private static final String CODE_PARAM_SUFFIX = ".code";
-
- /**
- * param's size prefix to get max param size.
- */
- private static final String MAX_PARAM_SUFFIX = ".size";
-
- /**
- * Message prefix to get error message.
- */
- private static final String MSG_PARAM_SUFFIX = ".message";
-
- /**
- * Private constructor. Prevents the class from being instantiated.
- */
- private PEPSUtil() {
- // empty constructor
- }
-
- /**
- * Creates a single instance of this class and sets the properties.
- *
- * @param nConfigs The set of available configurations.
- *
- * @return The created PEPSUtil's class.
- */
- public static PEPSUtil createInstance(final Properties nConfigs) {
- if (nConfigs != null) {
- PEPSUtil.configs = nConfigs;
- }
- return new PEPSUtil();
- }
-
- /**
- * Getter for the Properties.
- *
- * @return configs The properties value.
- */
- public Properties getConfigs() {
- return configs;
- }
-
- /**
- * Setter for the Properties.
- *
- * @param nConfigs The new properties value.
- */
- public static void setConfigs(final Properties nConfigs) {
- if (nConfigs != null) {
- PEPSUtil.configs = nConfigs;
- }
- }
-
- /**
- * Returns the identifier of some configuration given a set of configurations
- * and the corresponding configuration key.
- *
- * @param configKey The key that IDs some configuration.
- *
- * @return The configuration String value.
- */
- public static String getConfig(final String configKey) {
- return configs.getProperty(configKey);
- }
-
- /**
- * Validates the input paramValue identified by the paramName.
- *
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- *
- * @return true if the parameter is valid.
- */
- public static boolean isValidParameter(final String paramName,
- final String paramValue) {
-
- final String validationParam =
- PEPSUtil.getConfig(PEPSParameters.VALIDATION_ACTIVE.toString());
- boolean retVal = true;
-
- final String paramConf = MAX_PARAM_PREFIX + paramName + MAX_PARAM_SUFFIX;
-
- if (PEPSValues.TRUE.toString().equals(validationParam)) {
- final String paramSizeStr = PEPSUtil.getConfig(paramConf);
- // Checking if the parameter size exists and if it's numeric
- if (StringUtils.isNumeric(paramSizeStr)) {
- final int maxParamSize = Integer.valueOf(paramSizeStr);
- if (StringUtils.isEmpty(paramValue)
- || paramValue.length() > maxParamSize) {
- retVal = false;
- LOG.warn("Invalid parameter [" + paramName + "] value " + paramValue);
- }
- } else {
- retVal = false;
- LOG.error("Missing " + paramConf
- + " configuration in the pepsUtils.properties configuration file");
- }
- }
- return retVal;
- }
-
- /**
- * Validates the Parameter and throws an exception if an error occurs. Throws
- * an InvalidParameterPEPSException runtime exception if the parameter is
- * invalid.
- *
- * @param className The Class Name that invoked the method.
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- */
- public static void validateParameter(final String className,
- final String paramName, final Object paramValue) {
-
- if (paramValue == null) {
- PEPSUtil.validateParameter(className, paramName, "");
- } else {
- PEPSUtil.validateParameter(className, paramName, paramValue.toString());
- }
- }
-
- /**
- * Validates the Parameters and throws an exception if an error occurs.
- *
- * @param className The Class Name that invoked the method.
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- */
- public static void validateParameter(final String className,
- final String paramName, final String paramValue) {
-
- PEPSUtil.validateParameter(className, paramName, paramValue,
- PEPSUtil.getErrorCode(paramName), PEPSUtil.getErrorMessage(paramName));
- }
-
- /**
- * Validates the Parameters and throws an exception if an error occurs.
- *
- * @param className The Class Name that invoked the method.
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- * @param error The PEPSError to get error code and messages from configs.
- */
- public static void validateParameter(final String className,
- final String paramName, final String paramValue, final PEPSErrors error) {
-
- PEPSUtil.validateParameter(className, paramName, paramValue,
- PEPSUtil.getConfig(error.errorCode()),
- PEPSUtil.getConfig(error.errorMessage()));
- }
-
- /**
- * Validates the HTTP Parameter and throws an exception if an error occurs.
- * Throws an InvalidParameterPEPSException runtime exception if the parameter
- * is invalid.
- *
- * @param className The Class Name that invoked the method.
- * @param paramName The name of the parameter to validate.
- * @param paramValue The value of the parameter to validate.
- * @param errorCode The error code to include on the exception.
- * @param errorMessage The error message to include on the exception.
- */
- public static void validateParameter(final String className,
- final String paramName, final String paramValue, final String errorCode,
- final String errorMessage) {
-
- if (!isValidParameter(paramName, paramValue)) {
- LOG.warn("Invalid parameter [" + paramName + "] value found at "
- + className);
- throw new InvalidParameterPEPSException(errorCode, errorMessage);
- }
- }
-
- /**
- * Getter for the error code of some given error related to the input param.
- *
- * @param paramName The name of the parameter associated with the error.
- *
- * @return The code of the error.
- */
- private static String getErrorCode(final String paramName) {
- return getConfig(paramName + CODE_PARAM_SUFFIX);
- }
-
- /**
- * Getter for the error message of some given error related to the input
- * parameter.
- *
- * @param paramName The name of the parameter associated with the message.
- *
- * @return The message for the error.
- */
- private static String getErrorMessage(final String paramName) {
- return getConfig(paramName + MSG_PARAM_SUFFIX);
- }
-
- /**
- * {@link Base64} encodes the input samlToken parameter.
- *
- * @param samlToken the SAML Token to be encoded.
- *
- * @return The Base64 String representing the samlToken.
- *
- * @see Base64#encode
- */
- public static String encodeSAMLToken(final byte[] samlToken) {
- try {
- return new String(Base64.encode(samlToken), "UTF8");
- } catch (final UnsupportedEncodingException e) {
- LOG.error(PEPSErrors.INTERNAL_ERROR.errorMessage(), e);
- return null;
- }
- }
-
- /**
- * Encode samltoken url safe
- * @param samlToken the saml token to encode
- * @return the bas64 encoded string
- */
- public static String encodeSAMLTokenUrlSafe(final byte[] samlToken) {
- try {
- return new String(UrlBase64.encode(samlToken), "UTF8");
- } catch (final UnsupportedEncodingException e) {
- LOG.error(PEPSErrors.INTERNAL_ERROR.errorMessage(), e);
- return null;
- }
- }
-
- /**
- * Decodes the {@link Base64} String input parameter representing a samlToken.
- *
- * @param samlToken the SAML Token to be decoded.
- *
- * @return The samlToken decoded bytes.
- *
- * @see Base64#decode
- */
- public static byte[] decodeSAMLToken(final String samlToken) {
- return Base64.decode(samlToken);
- }
-
- /**
- * Decode URL save base64 saml token
- * @param samlToken the SAML toke to decode
- * @return The decoded bytes
- */
- public static byte[] decodeSAMLTokenUrlSafe(final String samlToken) {
- return UrlBase64.decode(samlToken);
- }
-
- /**
- * Hashes a SAML token. Throws an InternalErrorPEPSException runtime exception
- * if the Cryptographic Engine fails.
- *
- * @param samlToken the SAML Token to be hashed.
- *
- * @return byte[] with the hashed SAML Token.
- */
- public static byte[] hashPersonalToken(final byte[] samlToken) {
- try {
- final String className =
- PEPSUtil.getConfig(PEPSValues.HASH_DIGEST_CLASS.toString());
-
- final Digest digest =
- (Digest) Class.forName(className).getConstructor()
- .newInstance((Object[]) null);
- digest.update(samlToken, 0, samlToken.length);
-
- final int retLength = digest.getDigestSize();
- final byte[] ret = new byte[retLength];
-
- digest.doFinal(ret, 0);
- return ret;
-
- } catch (final Exception e) {
- // For all those exceptions that could be thrown, we always log it and
- // thrown an InternalErrorPEPSException.
- LOG.error(PEPSErrors.HASH_ERROR.errorMessage(), e);
- throw new InternalErrorPEPSException(
- PEPSUtil.getConfig(PEPSErrors.HASH_ERROR.errorCode()),
- PEPSUtil.getConfig(PEPSErrors.HASH_ERROR.errorMessage()), e);
- }
- }
-
- /**
- * Gets the Stork error code in the error message if exists!
- *
- * @param errorMessage The message to get the error code if exists;
- *
- * @return the error code if exists. Returns null otherwise.
- */
- public static String getStorkErrorCode(final String errorMessage) {
- if (StringUtils.isNotBlank(errorMessage)
- && errorMessage.indexOf(PEPSValues.ERROR_MESSAGE_SEP.toString()) >= 0) {
- final String[] msgSplitted =
- errorMessage.split(PEPSValues.ERROR_MESSAGE_SEP.toString());
- if (msgSplitted.length == 2 && StringUtils.isNumeric(msgSplitted[0])) {
- return msgSplitted[0];
- }
- }
- return null;
- }
-
- /**
- * Gets the Stork error message in the saml message if exists!
- *
- * @param errorMessage The message to get in the saml message if exists;
- *
- * @return the error message if exists. Returns the original message
- * otherwise.
- */
- public static String getStorkErrorMessage(final String errorMessage) {
- if (StringUtils.isNotBlank(errorMessage)
- && errorMessage.indexOf(PEPSValues.ERROR_MESSAGE_SEP.toString()) >= 0) {
- final String[] msgSplitted =
- errorMessage.split(PEPSValues.ERROR_MESSAGE_SEP.toString());
- if (msgSplitted.length == 2 && StringUtils.isNumeric(msgSplitted[0])) {
- return msgSplitted[1];
- }
- }
- return errorMessage;
- }
-
- /**
- * Get inputstream from string
- * @param string the string to convert
- * @param codePage the codepage of string
- * @return an inputstream
- * @throws UnsupportedEncodingException
- */
- public static InputStream getStream(final String string, final String codePage) throws UnsupportedEncodingException
- {
+
+ /**
+ * Logger object.
+ */
+ private static final Logger LOG = Logger.getLogger(PEPSUtil.class.getName());
+
+ /**
+ * Configurations object.
+ */
+ private static Properties configs;
+
+ /**
+ * Max prefix.
+ */
+ private static final String MAX_PARAM_PREFIX = "max.";
+
+ /**
+ * Code prefix to get error code.
+ */
+ private static final String CODE_PARAM_SUFFIX = ".code";
+
+ /**
+ * param's size prefix to get max param size.
+ */
+ private static final String MAX_PARAM_SUFFIX = ".size";
+
+ /**
+ * Message prefix to get error message.
+ */
+ private static final String MSG_PARAM_SUFFIX = ".message";
+
+ /**
+ * Private constructor. Prevents the class from being instantiated.
+ */
+ private PEPSUtil() {
+ // empty constructor
+ }
+
+ /**
+ * Creates a single instance of this class and sets the properties.
+ *
+ * @param nConfigs
+ * The set of available configurations.
+ *
+ * @return The created PEPSUtil's class.
+ */
+ public static PEPSUtil createInstance(final Properties nConfigs) {
+ if (nConfigs != null) {
+ PEPSUtil.configs = nConfigs;
+ }
+ return new PEPSUtil();
+ }
+
+ /**
+ * Getter for the Properties.
+ *
+ * @return configs The properties value.
+ */
+ public Properties getConfigs() {
+ return configs;
+ }
+
+ /**
+ * Setter for the Properties.
+ *
+ * @param nConfigs
+ * The new properties value.
+ */
+ public static void setConfigs(final Properties nConfigs) {
+ if (nConfigs != null) {
+ PEPSUtil.configs = nConfigs;
+ }
+ }
+
+ /**
+ * Returns the identifier of some configuration given a set of configurations and the corresponding configuration key.
+ *
+ * @param configKey
+ * The key that IDs some configuration.
+ *
+ * @return The configuration String value.
+ */
+ public static String getConfig(final String configKey) {
+ return configs.getProperty(configKey);
+ }
+
+ /**
+ * Validates the input paramValue identified by the paramName.
+ *
+ * @param paramName
+ * The name of the parameter to validate.
+ * @param paramValue
+ * The value of the parameter to validate.
+ *
+ * @return true if the parameter is valid.
+ */
+ public static boolean isValidParameter(final String paramName, final String paramValue) {
+
+ final String validationParam = PEPSUtil.getConfig(PEPSParameters.VALIDATION_ACTIVE.toString());
+ boolean retVal = true;
+
+ final String paramConf = MAX_PARAM_PREFIX + paramName + MAX_PARAM_SUFFIX;
+
+ if (PEPSValues.TRUE.toString().equals(validationParam)) {
+ final String paramSizeStr = PEPSUtil.getConfig(paramConf);
+ // Checking if the parameter size exists and if it's numeric
+ if (StringUtils.isNumeric(paramSizeStr)) {
+ final int maxParamSize = Integer.valueOf(paramSizeStr);
+ if (StringUtils.isEmpty(paramValue) || paramValue.length() > maxParamSize) {
+ retVal = false;
+ LOG.warn("Invalid parameter [" + paramName + "] value " + paramValue);
+ }
+ } else {
+ retVal = false;
+ LOG.error("Missing " + paramConf + " configuration in the pepsUtils.properties configuration file");
+ }
+ }
+ return retVal;
+ }
+
+ /**
+ * Validates the Parameter and throws an exception if an error occurs. Throws an InvalidParameterPEPSException runtime exception if the parameter is invalid.
+ *
+ * @param className
+ * The Class Name that invoked the method.
+ * @param paramName
+ * The name of the parameter to validate.
+ * @param paramValue
+ * The value of the parameter to validate.
+ */
+ public static void validateParameter(final String className, final String paramName, final Object paramValue) {
+
+ if (paramValue == null) {
+ PEPSUtil.validateParameter(className, paramName, "");
+ } else {
+ PEPSUtil.validateParameter(className, paramName, paramValue.toString());
+ }
+ }
+
+ /**
+ * Validates the Parameters and throws an exception if an error occurs.
+ *
+ * @param className
+ * The Class Name that invoked the method.
+ * @param paramName
+ * The name of the parameter to validate.
+ * @param paramValue
+ * The value of the parameter to validate.
+ */
+ public static void validateParameter(final String className, final String paramName, final String paramValue) {
+
+ PEPSUtil.validateParameter(className, paramName, paramValue, PEPSUtil.getErrorCode(paramName), PEPSUtil.getErrorMessage(paramName));
+ }
+
+ /**
+ * Validates the Parameters and throws an exception if an error occurs.
+ *
+ * @param className
+ * The Class Name that invoked the method.
+ * @param paramName
+ * The name of the parameter to validate.
+ * @param paramValue
+ * The value of the parameter to validate.
+ * @param error
+ * The PEPSError to get error code and messages from configs.
+ */
+ public static void validateParameter(final String className, final String paramName, final String paramValue, final PEPSErrors error) {
+
+ PEPSUtil.validateParameter(className, paramName, paramValue, PEPSUtil.getConfig(error.errorCode()), PEPSUtil.getConfig(error.errorMessage()));
+ }
+
+ /**
+ * Validates the HTTP Parameter and throws an exception if an error occurs. Throws an InvalidParameterPEPSException runtime exception if the parameter is invalid.
+ *
+ * @param className
+ * The Class Name that invoked the method.
+ * @param paramName
+ * The name of the parameter to validate.
+ * @param paramValue
+ * The value of the parameter to validate.
+ * @param errorCode
+ * The error code to include on the exception.
+ * @param errorMessage
+ * The error message to include on the exception.
+ */
+ public static void validateParameter(final String className, final String paramName, final String paramValue, final String errorCode, final String errorMessage) {
+
+ if (!isValidParameter(paramName, paramValue)) {
+ LOG.warn("Invalid parameter [" + paramName + "] value found at " + className);
+ throw new InvalidParameterPEPSException(errorCode, errorMessage);
+ }
+ }
+
+ /**
+ * Getter for the error code of some given error related to the input param.
+ *
+ * @param paramName
+ * The name of the parameter associated with the error.
+ *
+ * @return The code of the error.
+ */
+ private static String getErrorCode(final String paramName) {
+ return getConfig(paramName + CODE_PARAM_SUFFIX);
+ }
+
+ /**
+ * Getter for the error message of some given error related to the input parameter.
+ *
+ * @param paramName
+ * The name of the parameter associated with the message.
+ *
+ * @return The message for the error.
+ */
+ private static String getErrorMessage(final String paramName) {
+ return getConfig(paramName + MSG_PARAM_SUFFIX);
+ }
+
+ /**
+ * {@link Base64} encodes the input samlToken parameter.
+ *
+ * @param samlToken
+ * the SAML Token to be encoded.
+ *
+ * @return The Base64 String representing the samlToken.
+ *
+ * @see Base64#encode
+ */
+ public static String encodeSAMLToken(final byte[] samlToken) {
+ try {
+ return new String(Base64.encode(samlToken), "UTF8");
+ } catch (final UnsupportedEncodingException e) {
+ LOG.error(PEPSErrors.INTERNAL_ERROR.errorMessage(), e);
+ return null;
+ }
+ }
+
+ /**
+ * Encode samltoken url safe
+ *
+ * @param samlToken
+ * the saml token to encode
+ * @return the bas64 encoded string
+ */
+ public static String encodeSAMLTokenUrlSafe(final byte[] samlToken) {
+ try {
+ return new String(UrlBase64.encode(samlToken), "UTF8");
+ } catch (final UnsupportedEncodingException e) {
+ LOG.error(PEPSErrors.INTERNAL_ERROR.errorMessage(), e);
+ return null;
+ }
+ }
+
+ /**
+ * Decodes the {@link Base64} String input parameter representing a samlToken.
+ *
+ * @param samlToken
+ * the SAML Token to be decoded.
+ *
+ * @return The samlToken decoded bytes.
+ *
+ * @see Base64#decode
+ */
+ public static byte[] decodeSAMLToken(final String samlToken) {
+ return Base64.decode(samlToken);
+ }
+
+ /**
+ * Decode URL save base64 saml token
+ *
+ * @param samlToken
+ * the SAML toke to decode
+ * @return The decoded bytes
+ */
+ public static byte[] decodeSAMLTokenUrlSafe(final String samlToken) {
+ return UrlBase64.decode(samlToken);
+ }
+
+ /**
+ * Hashes a SAML token. Throws an InternalErrorPEPSException runtime exception if the Cryptographic Engine fails.
+ *
+ * @param samlToken
+ * the SAML Token to be hashed.
+ *
+ * @return byte[] with the hashed SAML Token.
+ */
+ public static byte[] hashPersonalToken(final byte[] samlToken) {
+ try {
+ final String className = PEPSUtil.getConfig(PEPSValues.HASH_DIGEST_CLASS.toString());
+
+ final Digest digest = (Digest) Class.forName(className).getConstructor().newInstance((Object[]) null);
+ digest.update(samlToken, 0, samlToken.length);
+
+ final int retLength = digest.getDigestSize();
+ final byte[] ret = new byte[retLength];
+
+ digest.doFinal(ret, 0);
+ return ret;
+
+ } catch (final Exception e) {
+ // For all those exceptions that could be thrown, we always log it and
+ // thrown an InternalErrorPEPSException.
+ LOG.error(PEPSErrors.HASH_ERROR.errorMessage(), e);
+ throw new InternalErrorPEPSException(PEPSUtil.getConfig(PEPSErrors.HASH_ERROR.errorCode()), PEPSUtil.getConfig(PEPSErrors.HASH_ERROR.errorMessage()), e);
+ }
+ }
+
+ /**
+ * Gets the Stork error code in the error message if exists!
+ *
+ * @param errorMessage
+ * The message to get the error code if exists;
+ *
+ * @return the error code if exists. Returns null otherwise.
+ */
+ public static String getStorkErrorCode(final String errorMessage) {
+ if (StringUtils.isNotBlank(errorMessage) && errorMessage.indexOf(PEPSValues.ERROR_MESSAGE_SEP.toString()) >= 0) {
+ final String[] msgSplitted = errorMessage.split(PEPSValues.ERROR_MESSAGE_SEP.toString());
+ if (msgSplitted.length == 2 && StringUtils.isNumeric(msgSplitted[0])) {
+ return msgSplitted[0];
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Gets the Stork error message in the saml message if exists!
+ *
+ * @param errorMessage
+ * The message to get in the saml message if exists;
+ *
+ * @return the error message if exists. Returns the original message otherwise.
+ */
+ public static String getStorkErrorMessage(final String errorMessage) {
+ if (StringUtils.isNotBlank(errorMessage) && errorMessage.indexOf(PEPSValues.ERROR_MESSAGE_SEP.toString()) >= 0) {
+ final String[] msgSplitted = errorMessage.split(PEPSValues.ERROR_MESSAGE_SEP.toString());
+ if (msgSplitted.length == 2 && StringUtils.isNumeric(msgSplitted[0])) {
+ return msgSplitted[1];
+ }
+ }
+ return errorMessage;
+ }
+
+ /**
+ * Get inputstream from string
+ *
+ * @param string
+ * the string to convert
+ * @param codePage
+ * the codepage of string
+ * @return an inputstream
+ * @throws UnsupportedEncodingException
+ */
+ public static InputStream getStream(final String string, final String codePage) throws UnsupportedEncodingException {
return new ByteArrayInputStream(string.getBytes(codePage));
- }
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSValues.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSValues.java
index 89cf8fa9b..a63db12e1 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSValues.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PEPSValues.java
@@ -16,327 +16,330 @@ package eu.stork.peps.auth.commons;
/**
* This enum class contains all the value constants.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.17 $, $Date: 2011-07-07 20:48:45 $
*/
public enum PEPSValues {
-
- /**
- * Represents the 'all' constant value.
- */
- ALL("all"),
- /**
- * Represents the 'none' constant value.
- */
- NONE("none"),
- /**
- * Represents the 'true' constant value.
- */
- TRUE("true"),
- /**
- * Represents the 'false' constant value.
- */
- FALSE("false"),
- /**
- * Represents the empty string constant value.
- */
- EMPTY_STRING(""),
-
- /**
- * Represents the ',' separator constant value.
- */
- ATTRIBUTE_VALUE_SEP(","),
- /**
- * Represents the ';' separator constant value.
- */
- ATTRIBUTE_SEP(";"),
- /**
- * Represents the ':' separator constant value.
- */
- ATTRIBUTE_TUPLE_SEP(":"),
- /**
- * Represents the '/' separator constant value.
- */
- EID_SEPARATOR("/"),
- /**
- * Represents the ' - ' separator constant value.
- */
- ERROR_MESSAGE_SEP(" - "),
- /**
- * Represents the '#' parameter constant value.
- */
- LOGGER_SEP("#"),
- /**
- * Represents the 'NOT_AVAILABLE' parameter constant value.
- */
- NOT_AVAILABLE("NotAvailable"),
- /**
- * Represents the ';' parameter constant value.
- */
- SPEPS_AUTHORIZED_SEP(";"),
-
- /**
- * Represents the 'ap' constant value.
- */
- AP("ap"),
- /**
- * Represents the 'C-PEPS' constant value.
- */
- CPEPS("C-PEPS"),
- /**
- * Represents the 'cpeps' constant value.
- */
- CPEPS_PREFIX("cpeps"),
- /**
- * Represents the 'peps' constant value.
- */
- PEPS("peps"),
- /**
- * Represents the '-PEPS' constant value.
- */
- PEPS_SUFFIX("-PEPS"),
- /**
- * Represents the 'SP' constant value.
- */
- SP("SP"),
- /**
- * Represents the 'S-PEPS' constant value.
- */
- SPEPS("S-PEPS"),
- /**
- * Represents the 'speps' constant value.
- */
- SPEPS_PREFIX("speps"),
- /**
- * Represents the 'sp.default.parameters' constant value.
- */
- DEFAULT("sp.default.parameters"),
- /**
- * Represents the default saml id constant value.
- */
- DEFAULT_SAML_ID("1"),
- /**
- * Represents the 'hashDigest.className' constant value.
- */
- HASH_DIGEST_CLASS("hashDigest.className"),
-
- /**
- * Represents the 'eu.stork.communication.requests' constant value.
- */
- STORK_PACKAGE_REQUEST_LOGGER_VALUE("eu.stork.communication.requests"),
- /**
- * Represents the 'eu.stork.communication.responses' constant value.
- */
- STORK_PACKAGE_RESPONSE_LOGGER_VALUE("eu.stork.communication.responses"),
-
- /**
- * Represents the 'S-PEPS receives request from SP' constant value.
- */
- SP_REQUEST("S-PEPS receives request from SP"),
- /**
- * Represents the 'Get Citizen Consent' constant value.
- */
- CITIZEN_CONSENT_LOG("Get Citizen Consent"),
- /**
- * Represents the 'C-PEPS receives request from S-PEPS' constant value.
- */
- CPEPS_REQUEST("C-PEPS receives request from S-PEPS"),
- /**
- * Represents the 'C-PEPS generates response to S-PEPS' constant value.
- */
- CPEPS_RESPONSE("C-PEPS generates response to S-PEPS"),
- /**
- * Represents the 'S-PEPS generates request to C-PEPS' constant value.
- */
- SPEPS_REQUEST("S-PEPS generates request to C-PEPS"),
- /**
- * Represents the 'S-PEPS receives response from C-PEPS' constant value.
- */
- SPEPS_RESPONSE("S-PEPS receives response from C-PEPS"),
- /**
- * Represents the 'S-PEPS generates response to SP' constant value.
- */
- SP_RESPONSE("S-PEPS generates response to SP"),
- /**
- * Represents the 'Success' constant value.
- */
- SUCCESS("Success"),
- /**
- * Represents the December's month number constant value.
- */
- LAST_MONTH("12"),
- /**
- * Represents the yyyyMM constant value.
- */
- NO_DAY_DATE_FORMAT("yyyyMM"),
-
- /**
- * Represents the 'attrValue' constant value.
- */
- ATTRIBUTE("attrValue"),
- /**
- * Represents the 'derivedAttr' constant value.
- */
- DERIVE_ATTRIBUTE("deriveAttr"),
- /**
- * Represents the 'storkAttribute' constant value.
- */
- STORK_ATTRIBUTE("storkAttribute"),
-
- /**
- * Represents the 'properties' constant value.
- */
- PROPERTIES("properties"),
- /**
- * Represents the 'referer' constant value.
- */
- REFERER("referer"),
- /**
- * Represents the 'host' constant value.
- */
- HOST("host"),
- /**
- * Represents the 'spid' constant value.
- */
- SPID("spid"),
- /**
- * Represents the 'domain' constant value.
- */
- DOMAIN("domain"),
- /**
- * Represents the '.validation' constant value.
- */
- VALIDATION_SUFFIX(".validation"),
- /**
- * Represents the 'jsessionid' constant value.
- */
- EQUAL("="),
- /**
- * Represents the 'HttpOnly' constant value.
- */
- HTTP_ONLY("HttpOnly"),
- /**
- * Represents the 'SET-COOKIE' constant value.
- */
- JSSESSION("JSESSIONID"),
- /**
- * Represents the '=' constant value.
- */
- SETCOOKIE("SET-COOKIE"),
- /**
- * Represents the ';' constant value.
- */
- SEMICOLON(";"),
- /**
- * Represents the ' ' constant value.
- */
- SPACE(" "),
- /**
- * Represents the 'atp' constant value.
- */
- APROVIDER_PREFIX("atp"),
- /**
- * Represents the 'atn' constant value.
- */
- ANAME_PREFIX("atn"),
- /**
- * Represents the 'ap-cpeps' constant value.
- */
- AP_CPEPS_PREFIX("ap-cpeps"),
- /**
- * Represents the 'attr-filter' constant value.
- */
- AP_ATTRFILTER_PREFIX("attr-filter");
-
- /**
- * Represents the constant's value.
- */
- private String value;
-
- /**
- * Solo Constructor.
- *
- * @param val The Constant value.
- */
- PEPSValues(final String val) {
-
- this.value = val;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
-
- return value;
- }
-
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".id".
- *
- * @param index the number.
- *
- * @return The concatenated String value.
- */
- public String index(final int index) {
-
- return value + index + ".id";
- }
-
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".value".
- *
- * @param index the number.
- *
- * @return The concatenated string value.
- */
- public String value(final int index) {
-
- return value + index + ".value";
- }
-
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".name".
- *
- * @param index the number.
- *
- * @return The concatenated String value.
- */
- public String name(final int index) {
-
- return value + index + ".name";
- }
-
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".url".
- *
- * @param index the number.
- *
- * @return The concatenated String value.
- */
- public String url(final int index) {
-
- return value + index + ".url";
- }
- /**
- * Construct the return value with the following structure
- * CONSTANT_VALUE+index+".allowedGroups".
- *
- * @param index the number.
- *
- * @return The concatenated String value.
- */
- public String allowedGroups(final int index) {
-
- return value + index + ".allowedGroups";
- }
+ /**
+ * Represents the 'all' constant value.
+ */
+ ALL("all"),
+ /**
+ * Represents the 'none' constant value.
+ */
+ NONE("none"),
+ /**
+ * Represents the 'true' constant value.
+ */
+ TRUE("true"),
+ /**
+ * Represents the 'false' constant value.
+ */
+ FALSE("false"),
+ /**
+ * Represents the empty string constant value.
+ */
+ EMPTY_STRING(""),
+
+ /**
+ * Represents the ',' separator constant value.
+ */
+ ATTRIBUTE_VALUE_SEP(","),
+ /**
+ * Represents the ';' separator constant value.
+ */
+ ATTRIBUTE_SEP(";"),
+ /**
+ * Represents the ':' separator constant value.
+ */
+ ATTRIBUTE_TUPLE_SEP(":"),
+ /**
+ * Represents the '/' separator constant value.
+ */
+ EID_SEPARATOR("/"),
+ /**
+ * Represents the ' - ' separator constant value.
+ */
+ ERROR_MESSAGE_SEP(" - "),
+ /**
+ * Represents the '#' parameter constant value.
+ */
+ LOGGER_SEP("#"),
+ /**
+ * Represents the 'NOT_AVAILABLE' parameter constant value.
+ */
+ NOT_AVAILABLE("NotAvailable"),
+ /**
+ * Represents the ';' parameter constant value.
+ */
+ SPEPS_AUTHORIZED_SEP(";"),
+
+ /**
+ * Represents the 'ap' constant value.
+ */
+ AP("ap"),
+ /**
+ * Represents the 'C-PEPS' constant value.
+ */
+ CPEPS("C-PEPS"),
+ /**
+ * Represents the 'cpeps' constant value.
+ */
+ CPEPS_PREFIX("cpeps"),
+ /**
+ * Represents the 'peps' constant value.
+ */
+ PEPS("peps"),
+ /**
+ * Represents the '-PEPS' constant value.
+ */
+ PEPS_SUFFIX("-PEPS"),
+ /**
+ * Represents the 'SP' constant value.
+ */
+ SP("SP"),
+ /**
+ * Represents the 'S-PEPS' constant value.
+ */
+ SPEPS("S-PEPS"),
+ /**
+ * Represents the 'speps' constant value.
+ */
+ SPEPS_PREFIX("speps"),
+ /**
+ * Represents the 'sp.default.parameters' constant value.
+ */
+ DEFAULT("sp.default.parameters"),
+ /**
+ * Represents the default saml id constant value.
+ */
+ DEFAULT_SAML_ID("1"),
+ /**
+ * Represents the 'hashDigest.className' constant value.
+ */
+ HASH_DIGEST_CLASS("hashDigest.className"),
+
+ /**
+ * Represents the 'eu.stork.communication.requests' constant value.
+ */
+ STORK_PACKAGE_REQUEST_LOGGER_VALUE("eu.stork.communication.requests"),
+ /**
+ * Represents the 'eu.stork.communication.responses' constant value.
+ */
+ STORK_PACKAGE_RESPONSE_LOGGER_VALUE("eu.stork.communication.responses"),
+
+ /**
+ * Represents the 'S-PEPS receives request from SP' constant value.
+ */
+ SP_REQUEST("S-PEPS receives request from SP"),
+ /**
+ * Represents the 'Get Citizen Consent' constant value.
+ */
+ CITIZEN_CONSENT_LOG("Get Citizen Consent"),
+ /**
+ * Represents the 'C-PEPS receives request from S-PEPS' constant value.
+ */
+ CPEPS_REQUEST("C-PEPS receives request from S-PEPS"),
+ /**
+ * Represents the 'C-PEPS generates response to S-PEPS' constant value.
+ */
+ CPEPS_RESPONSE("C-PEPS generates response to S-PEPS"),
+ /**
+ * Represents the 'S-PEPS generates request to C-PEPS' constant value.
+ */
+ SPEPS_REQUEST("S-PEPS generates request to C-PEPS"),
+ /**
+ * Represents the 'S-PEPS receives response from C-PEPS' constant value.
+ */
+ SPEPS_RESPONSE("S-PEPS receives response from C-PEPS"),
+ /**
+ * Represents the 'S-PEPS generates response to SP' constant value.
+ */
+ SP_RESPONSE("S-PEPS generates response to SP"),
+ /**
+ * Represents the 'Success' constant value.
+ */
+ SUCCESS("Success"),
+ /**
+ * Represents the December's month number constant value.
+ */
+ LAST_MONTH("12"),
+ /**
+ * Represents the yyyyMM constant value.
+ */
+ NO_DAY_DATE_FORMAT("yyyyMM"),
+
+ /**
+ * Represents the 'attrValue' constant value.
+ */
+ ATTRIBUTE("attrValue"),
+ /**
+ * Represents the 'derivedAttr' constant value.
+ */
+ DERIVE_ATTRIBUTE("deriveAttr"),
+ /**
+ * Represents the 'storkAttribute' constant value.
+ */
+ STORK_ATTRIBUTE("storkAttribute"),
+
+ /**
+ * Represents the 'properties' constant value.
+ */
+ PROPERTIES("properties"),
+ /**
+ * Represents the 'referer' constant value.
+ */
+ REFERER("referer"),
+ /**
+ * Represents the 'host' constant value.
+ */
+ HOST("host"),
+ /**
+ * Represents the 'spid' constant value.
+ */
+ SPID("spid"),
+ /**
+ * Represents the 'domain' constant value.
+ */
+ DOMAIN("domain"),
+ /**
+ * Represents the '.validation' constant value.
+ */
+ VALIDATION_SUFFIX(".validation"),
+ /**
+ * Represents the 'jsessionid' constant value.
+ */
+ EQUAL("="),
+ /**
+ * Represents the 'HttpOnly' constant value.
+ */
+ HTTP_ONLY("HttpOnly"),
+ /**
+ * Represents the 'SET-COOKIE' constant value.
+ */
+ JSSESSION("JSESSIONID"),
+ /**
+ * Represents the '=' constant value.
+ */
+ SETCOOKIE("SET-COOKIE"),
+ /**
+ * Represents the ';' constant value.
+ */
+ SEMICOLON(";"),
+ /**
+ * Represents the ' ' constant value.
+ */
+ SPACE(" "),
+ /**
+ * Represents the 'atp' constant value.
+ */
+ APROVIDER_PREFIX("atp"),
+ /**
+ * Represents the 'atn' constant value.
+ */
+ ANAME_PREFIX("atn"),
+ /**
+ * Represents the 'ap-cpeps' constant value.
+ */
+ AP_CPEPS_PREFIX("ap-cpeps"),
+ /**
+ * Represents the 'attr-filter' constant value.
+ */
+ AP_ATTRFILTER_PREFIX("attr-filter"),
+ /**
+ * Represents the 'save-session' constant value.
+ */
+ SAVED_SESSION("saved-session");
+
+ /**
+ * Represents the constant's value.
+ */
+ private String value;
+
+ /**
+ * Solo Constructor.
+ *
+ * @param val
+ * The Constant value.
+ */
+ PEPSValues(final String val) {
+
+ this.value = val;
+ }
+
+ /**
+ * Return the Constant Value.
+ *
+ * @return The constant value.
+ */
+ public String toString() {
+
+ return value;
+ }
+
+ /**
+ * Construct the return value with the following structure CONSTANT_VALUE+index+".id".
+ *
+ * @param index
+ * the number.
+ *
+ * @return The concatenated String value.
+ */
+ public String index(final int index) {
+
+ return value + index + ".id";
+ }
+
+ /**
+ * Construct the return value with the following structure CONSTANT_VALUE+index+".value".
+ *
+ * @param index
+ * the number.
+ *
+ * @return The concatenated string value.
+ */
+ public String value(final int index) {
+
+ return value + index + ".value";
+ }
+
+ /**
+ * Construct the return value with the following structure CONSTANT_VALUE+index+".name".
+ *
+ * @param index
+ * the number.
+ *
+ * @return The concatenated String value.
+ */
+ public String name(final int index) {
+
+ return value + index + ".name";
+ }
+
+ /**
+ * Construct the return value with the following structure CONSTANT_VALUE+index+".url".
+ *
+ * @param index
+ * the number.
+ *
+ * @return The concatenated String value.
+ */
+ public String url(final int index) {
+
+ return value + index + ".url";
+ }
+
+ /**
+ * Construct the return value with the following structure CONSTANT_VALUE+index+".allowedGroups".
+ *
+ * @param index
+ * the number.
+ *
+ * @return The concatenated String value.
+ */
+ public String allowedGroups(final int index) {
+
+ return value + index + ".allowedGroups";
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttribute.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttribute.java
index 5d8281445..8d1482f05 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttribute.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttribute.java
@@ -18,331 +18,374 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
+import java.util.Vector;
import org.apache.log4j.Logger;
import eu.stork.peps.auth.commons.exceptions.InternalErrorPEPSException;
/**
- * This class is a bean used to store the information relative to the
- * PersonalAttribute.
+ * This class is a bean used to store the information relative to the PersonalAttribute.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.22 $, $Date: 2010-11-17 05:15:28 $
*/
public final class PersonalAttribute implements Serializable, Cloneable {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 2612951678412632174L;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(PersonalAttribute.class
- .getName());
-
- /**
- * Name of the personal attribute.
- */
- private String name;
-
- /**
- * Values of the personal attribute.
- */
- private List<String> value = new ArrayList<String>();
-
- /**
- * Type of the personal attribute.
- */
- private String type;
-
- /**
- * Complex values of the personal attribute.
- */
- private Map<String, String> complexValue = new ConcurrentHashMap<String, String>();
-
- /**
- * Is the personal attribute mandatory?
- */
- private transient boolean required;
-
- /**
- * Returned status of the attribute from the IdP.
- */
- private String status;
-
- /**
- * Name of the personal attribute.
- */
- private String friendlyName;
-
- /**
- * Empty Constructor.
- */
- public PersonalAttribute() {
- super();
- }
-
- /**
- * PersonalAttribute Constructor for complex values.
- *
- * @param attrName The attribute name.
- * @param attrIsRequired The attribute type value.
- * @param attrComplexValue The attribute's value.
- * @param attrStatus The attribute's status value.
- */
- public PersonalAttribute(final String attrName, final boolean attrIsRequired,
- final List<String> attrComplexValue, final String attrStatus) {
- this.setName(attrName);
- this.setIsRequired(attrIsRequired);
- this.setValue(attrComplexValue);
- this.setStatus(attrStatus);
- }
-
- /**
- * PersonalAttribute Constructor for complex values.
- *
- * @param attrName The attribute name.
- * @param attrIsRequired The attribute type value.
- * @param attrComplexValue The attribute's complex value.
- * @param attrStatus The attribute's status value.
- */
- public PersonalAttribute(final String attrName, final boolean attrIsRequired,
- final Map<String, String> attrComplexValue, final String attrStatus) {
- this.setName(attrName);
- this.setIsRequired(attrIsRequired);
- this.setComplexValue(attrComplexValue);
- this.setStatus(attrStatus);
- }
-
- /**
- * {@inheritDoc}
- */
- @SuppressWarnings("unchecked")
- public Object clone() {
-
- try {
- final PersonalAttribute personalAttr = (PersonalAttribute) super.clone();
- personalAttr.setIsRequired(this.isRequired());
- personalAttr.setName(this.getName());
- personalAttr.setStatus(this.getStatus());
- if (!isEmptyValue()) {
- final List<String> val =
- (List<String>) ((ArrayList<String>) this.getValue()).clone();
- personalAttr.setValue(val);
- }
- if (!isEmptyComplexValue()) {
- final Map<String, String> complexVal =
- (Map<String, String>) ((HashMap<String, String>) this
- .getComplexValue()).clone();
- personalAttr.setComplexValue(complexVal);
- }
- return personalAttr;
- } catch (final CloneNotSupportedException e) {
- // assert false;
- LOG.trace("Nothing to do.");
- throw new InternalErrorPEPSException(
- PEPSUtil.getConfig(PEPSErrors.INTERNAL_ERROR.errorCode()),
- PEPSUtil.getConfig(PEPSErrors.INTERNAL_ERROR.errorMessage()), e);
- }
- }
-
- /**
- * Getter for the required value.
- *
- * @return The required value.
- */
- public boolean isRequired() {
- return required;
- }
-
- /**
- * Setter for the required value.
- *
- * @param attrIsRequired this attribute?
- */
- public void setIsRequired(final boolean attrIsRequired) {
- this.required = attrIsRequired;
- }
-
- /**
- * Getter for the name value.
- *
- * @return The name value.
- */
- public String getName() {
- return name;
- }
-
- /**
- * Setter for the name value.
- *
- * @param attrName The personal attribute name.
- */
- public void setName(final String attrName) {
- this.name = attrName;
- }
-
- /**
- * Getter for the value.
- *
- * @return The list of values.
- */
- public List<String> getValue() {
- return value;
- }
-
- /**
- * Setter for the list of values.
- *
- * @param attrValue The personal attribute value.
- */
- public void setValue(final List<String> attrValue) {
- if (attrValue != null) {
- this.value = attrValue;
- }
- }
-
-
- /**
- * Getter for the type value.
- *
- * @return The name value.
- */
- public String getType() {
- return type;
- }
-
- /**
- * Setter for the type value.
- *
- * @param attrName The personal attribute type.
- */
- public void setType(final String attrType) {
- this.type = attrType;
- }
-
- /**
- * Getter for the status.
- *
- * @return The status value.
- */
- public String getStatus() {
- return status;
- }
-
- /**
- * Setter for the status value.
- *
- * @param attrStatus The personal attribute status.
- */
- public void setStatus(final String attrStatus) {
- this.status = attrStatus;
- }
-
- /**
- * Getter for the complex value.
- *
- * @return The complex value.
- */
- public Map<String, String> getComplexValue() {
- return complexValue;
- }
-
- /**
- * Setter for the complex value.
- *
- * @param complexVal The personal attribute Complex value.
- */
- public void setComplexValue(final Map<String, String> complexVal) {
- if (complexVal != null) {
- this.complexValue = complexVal;
- }
- }
-
- /**
- * Getter for the personal's friendly name.
- *
- * @return The personal's friendly name value.
- */
- public String getFriendlyName() {
- return friendlyName;
- }
-
- /**
- * Setter for the personal's friendly name.
- *
- * @param fName The personal's friendly name.
- */
- public void setFriendlyName(final String fName) {
- this.friendlyName = fName;
- }
-
- /**
- * Return true the value is empty.
- *
- * @return True if the value is empty "[]";
- */
- public boolean isEmptyValue() {
- return value.isEmpty() || (value.size() == 1 && value.get(0).length() == 0);
- }
-
- /**
- * Returns true if the Complex Value is empty.
- *
- * @return True if the Complex Value is empty;
- */
- public boolean isEmptyComplexValue() {
- return complexValue.isEmpty();
- }
-
- /**
- * Returns true if the Status is empty.
- *
- * @return True if the Status is empty;
- */
- public boolean isEmptyStatus() {
- return (status == null || status.length() == 0);
- }
-
- /**
- * Prints the PersonalAttribute in the following format.
- * name:required:[v,a,l,u,e,s]|[v=a,l=u,e=s]:status;
- *
- * @return The PersonalAttribute as a string.
- */
- public String toString() {
- final StringBuilder strBuild = new StringBuilder();
-
- AttributeUtil.appendIfNotNull(strBuild, getName());
- strBuild.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
- AttributeUtil.appendIfNotNull(strBuild, String.valueOf(isRequired()));
- strBuild.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
- strBuild.append('[');
-
- if (isEmptyValue()) {
- if (!isEmptyComplexValue()) {
- AttributeUtil.appendIfNotNull(strBuild, AttributeUtil.mapToString(
- getComplexValue(), PEPSValues.ATTRIBUTE_VALUE_SEP.toString()));
- }
- } else {
- AttributeUtil.appendIfNotNull(
- strBuild,
- AttributeUtil.listToString(getValue(),
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()));
- }
-
- strBuild.append(']');
- strBuild.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
- AttributeUtil.appendIfNotNull(strBuild, getStatus());
- strBuild.append(PEPSValues.ATTRIBUTE_SEP.toString());
-
- return strBuild.toString();
- }
-
+
+ /**
+ * Unique identifier.
+ */
+ private static final long serialVersionUID = 2612951678412632174L;
+
+ /**
+ * Logger object.
+ */
+ private static final Logger LOG = Logger.getLogger(PersonalAttribute.class.getName());
+
+ /**
+ * Name of the personal attribute.
+ */
+ private String name;
+
+ /**
+ * Values of the personal attribute.
+ */
+ private List<String> value = new ArrayList<String>();
+
+ /**
+ * Type of the personal attribute.
+ */
+ private String type;
+
+ /**
+ * Complex values of the personal attribute.
+ */
+ private List<Map<String, String>> complexValue = new Vector<Map<String, String>>();
+
+ /**
+ * Is the personal attribute mandatory?
+ */
+ private boolean required;
+
+ /**
+ * Returned status of the attribute from the IdP.
+ */
+ private String status;
+
+ /**
+ * Name of the personal attribute.
+ */
+ private String friendlyName;
+
+ /**
+ * Empty Constructor.
+ */
+ public PersonalAttribute() {
+ super();
+ }
+
+ /**
+ * PersonalAttribute Constructor for complex values.
+ *
+ * @param attrName
+ * The attribute name.
+ * @param attrIsRequired
+ * The attribute type value.
+ * @param attrComplexValue
+ * The attribute's value.
+ * @param attrStatus
+ * The attribute's status value.
+ */
+ public PersonalAttribute(final String attrName, final boolean attrIsRequired, final List<String> attrComplexValue, final String attrStatus) {
+ this.setName(attrName);
+ this.setIsRequired(attrIsRequired);
+ this.setValue(attrComplexValue);
+ this.setStatus(attrStatus);
+ }
+
+ /**
+ * PersonalAttribute Constructor for complex values.
+ *
+ * @param attrName
+ * The attribute name.
+ * @param attrIsRequired
+ * The attribute type value.
+ * @param attrComplexValue
+ * The attribute's complex value.
+ * @param attrStatus
+ * The attribute's status value.
+ */
+ public PersonalAttribute(final String attrName, final boolean attrIsRequired, final Map<String, String> attrComplexValue, final String attrStatus) {
+ this.setName(attrName);
+ this.setIsRequired(attrIsRequired);
+ this.setComplexValue(attrComplexValue);
+ this.setStatus(attrStatus);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("unchecked")
+ public Object clone() {
+
+ try {
+ final PersonalAttribute personalAttr = (PersonalAttribute) super.clone();
+ personalAttr.setIsRequired(this.isRequired());
+ personalAttr.setName(this.getName());
+ personalAttr.setStatus(this.getStatus());
+ if (!isEmptyValue()) {
+ final List<String> val = (List<String>) ((ArrayList<String>) this.getValue()).clone();
+ personalAttr.setValue(val);
+ }
+ if (!isEmptyComplexValue()) {
+ personalAttr.addComplexValues(this.getComplexValues());
+ }
+ return personalAttr;
+ } catch (final CloneNotSupportedException e) {
+ // assert false;
+ LOG.trace("Nothing to do.");
+ throw new InternalErrorPEPSException(PEPSUtil.getConfig(PEPSErrors.INTERNAL_ERROR.errorCode()), PEPSUtil.getConfig(PEPSErrors.INTERNAL_ERROR.errorMessage()), e);
+ }
+ }
+
+ /**
+ * Getter for the required value.
+ *
+ * @return The required value.
+ */
+ public boolean isRequired() {
+ return required;
+ }
+
+ /**
+ * Setter for the required value.
+ *
+ * @param attrIsRequired
+ * this attribute?
+ */
+ public void setIsRequired(final boolean attrIsRequired) {
+ this.required = attrIsRequired;
+ }
+
+ /**
+ * Getter for the name value.
+ *
+ * @return The name value.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Setter for the name value.
+ *
+ * @param attrName
+ * The personal attribute name.
+ */
+ public void setName(final String attrName) {
+ this.name = attrName;
+ }
+
+ /**
+ * Getter for the value.
+ *
+ * @return The list of values.
+ */
+ public List<String> getValue() {
+ return value;
+ }
+
+ /**
+ * Setter for the list of values.
+ *
+ * @param attrValue
+ * The personal attribute value.
+ */
+ public void setValue(final List<String> attrValue) {
+ if (attrValue != null) {
+ this.value = attrValue;
+ }
+ }
+
+ /**
+ * Add new value to list of values.
+ *
+ * @param attrValue
+ * The personal attribute value.
+ */
+ public void addValue(final String attrValue) {
+ if (attrValue != null) {
+ this.value.add(attrValue);
+ }
+ }
+
+ /**
+ * Getter for the type value.
+ *
+ * @return The name value.
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * Setter for the type value.
+ *
+ * @param attrName
+ * The personal attribute type.
+ */
+ public void setType(final String attrType) {
+ this.type = attrType;
+ }
+
+ /**
+ * Getter for the status.
+ *
+ * @return The status value.
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * Setter for the status value.
+ *
+ * @param attrStatus
+ * The personal attribute status.
+ */
+ public void setStatus(final String attrStatus) {
+ this.status = attrStatus;
+ }
+
+ /**
+ * Getter for the complex value.
+ *
+ * @return The complex value.
+ */
+ public Map<String, String> getComplexValue() {
+ if (complexValue.size() > 0) {
+ return complexValue.get(0);
+ } else {
+ return new HashMap<String, String>();
+ }
+ }
+
+ /**
+ * Getter for the complex values.
+ *
+ * @return The complex value.
+ */
+ public List<Map<String, String>> getComplexValues() {
+ return complexValue;
+ }
+
+ /**
+ * Setter for the complex value.
+ *
+ * @param complexVal
+ * The personal attribute Complex value.
+ */
+ public void setComplexValue(final Map<String, String> complexVal) {
+ if (complexVal != null) {
+ this.complexValue.add(complexVal);
+ }
+ }
+
+ /**
+ * Setter for the complex values.
+ *
+ * @param complexVal
+ * The personal attribute Complex values.
+ */
+ public void addComplexValues(final List<Map<String, String>> complexVals) {
+ this.complexValue.addAll(complexVals);
+ }
+
+ /**
+ * Getter for the personal's friendly name.
+ *
+ * @return The personal's friendly name value.
+ */
+ public String getFriendlyName() {
+ return friendlyName;
+ }
+
+ /**
+ * Setter for the personal's friendly name.
+ *
+ * @param fName
+ * The personal's friendly name.
+ */
+ public void setFriendlyName(final String fName) {
+ this.friendlyName = fName;
+ }
+
+ /**
+ * Return true the value is empty.
+ *
+ * @return True if the value is empty "[]";
+ */
+ public boolean isEmptyValue() {
+ return value.isEmpty() || (value.size() == 1 && value.get(0).length() == 0);
+ }
+
+ /**
+ * Returns true if the Complex Value is empty.
+ *
+ * @return True if the Complex Value is empty;
+ */
+ public boolean isEmptyComplexValue() {
+ return complexValue.isEmpty() || complexValue.get(0).isEmpty();
+ }
+
+ /**
+ * Returns true if the Status is empty.
+ *
+ * @return True if the Status is empty;
+ */
+ public boolean isEmptyStatus() {
+ return (status == null || status.length() == 0);
+ }
+
+ /**
+ * Prints the PersonalAttribute in the following format. name:required:[v,a,l,u,e,s]|[v=a,l=u,e=s]:status;
+ *
+ * @return The PersonalAttribute as a string.
+ */
+ public String toString() {
+ final StringBuilder strBuild = new StringBuilder();
+
+ AttributeUtil.appendIfNotNull(strBuild, getName());
+ strBuild.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
+ AttributeUtil.appendIfNotNull(strBuild, String.valueOf(isRequired()));
+ strBuild.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
+ strBuild.append('[');
+
+ if (isEmptyValue()) {
+ if (!isEmptyComplexValue()) {
+ AttributeUtil.appendIfNotNull(strBuild, AttributeUtil.mapToString(getComplexValue(), PEPSValues.ATTRIBUTE_VALUE_SEP.toString()));
+ }
+ } else {
+ AttributeUtil.appendIfNotNull(strBuild, AttributeUtil.listToString(getValue(), PEPSValues.ATTRIBUTE_VALUE_SEP.toString()));
+ }
+
+ strBuild.append(']');
+ strBuild.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
+ AttributeUtil.appendIfNotNull(strBuild, getStatus());
+ strBuild.append(PEPSValues.ATTRIBUTE_SEP.toString());
+
+ return strBuild.toString();
+ }
+
+ /**
+ * Empties the Value or ComplexValue field of a PersonalAttribute
+ */
+ public void setEmptyValue() {
+ if (this.isEmptyValue()) {
+ this.complexValue = new Vector<Map<String, String>>();
+ } else {
+ this.value = new ArrayList<String>();
+ }
+ }
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttributeList.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttributeList.java
index 9a0f87488..1ddc02e15 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttributeList.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/PersonalAttributeList.java
@@ -13,7 +13,6 @@
*/
package eu.stork.peps.auth.commons;
-import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -26,372 +25,430 @@ import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
/**
- * This class is a bean used to store the information relative to the
- * PersonalAttributeList.
+ * This class is a bean used to store the information relative to the PersonalAttributeList.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.27 $, $Date: 2010-11-18 22:54:56 $
*
* @see PersonalAttribute
*/
@SuppressWarnings("PMD")
-public final class PersonalAttributeList extends
- ConcurrentHashMap<String, PersonalAttribute> implements IPersonalAttributeList, Serializable {
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger
- .getLogger(PersonalAttributeList.class.getName());
-
- /**
- * Serial id.
- */
- private static final long serialVersionUID = 7375127363889975062L;
-
- /**
- * Hash with the latest fetched attribute name alias.
- */
- private final Map<String, Integer> latestAttrAlias =
- new HashMap<String, Integer>();
-
- /**
- * Hash with mapping number of alias or the attribute name.
- */
- private final Map<String, Integer> attrAliasNumber =
- new HashMap<String, Integer>();
-
- /**
- * Default constructor.
- */
- public PersonalAttributeList() {
- // The best practices recommend to call the super constructor.
- super();
- }
-
- /**
- * Constructor with initial capacity for the PersonalAttributeList size.
- *
- * @param capacity The initial capacity for the PersonalAttributeList.
- */
- public PersonalAttributeList(final int capacity) {
- super(capacity);
- }
-
- /**
- * {@inheritDoc}
- */
- public Iterator<PersonalAttribute> iterator() {
- return this.values().iterator();
- }
-
- /**
- * {@inheritDoc}
- */
- public PersonalAttribute get(final Object key) {
- String attrName = (String) key;
-
- if (this.latestAttrAlias.containsKey(key)) {
- attrName = attrName + this.latestAttrAlias.get(key);
- } else {
- if (this.attrAliasNumber.containsKey(key)) {
- this.latestAttrAlias.put(attrName, this.attrAliasNumber.get(key));
- }
- }
- return super.get(attrName);
- }
-
- /**
- * {@inheritDoc}
- */
- public void add(final PersonalAttribute value) {
- if (value != null) {
- this.put(value.getName(), value);
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public PersonalAttribute put(final String key, final PersonalAttribute val) {
- if (StringUtils.isNotEmpty(key) && val != null) {
- // Validate if attribute name already exists!
- String attrAlias = key;
- if (this.containsKey(attrAlias)) {
- //TODO isAgeOver should not be hardcoded, a better way of handling multipe isAgeOver requests should be implemented.
- if (!val.isEmptyValue() && StringUtils.isNumeric(val.getValue().get(0)) && "isAgeOver".equals( val.getName() ) ) {
- final String attrValue = val.getValue().get(0);
- attrAlias = key + attrValue;
- this.attrAliasNumber.put(key, Integer.valueOf(attrValue));
- } else {
- final PersonalAttribute attr = super.get(key);
- if (!attr.isEmptyValue()
- && StringUtils.isNumeric(attr.getValue().get(0))) {
- attrAlias = key + attr.getValue().get(0);
- super.put(key, (PersonalAttribute) attr);
- this.attrAliasNumber.put(key, null);
- }
- }
- }
- return super.put(attrAlias, val);
- } else {
- return null;
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public void populate(final String attrList) {
- final StringTokenizer strToken =
- new StringTokenizer(attrList, PEPSValues.ATTRIBUTE_SEP.toString());
-
- while (strToken.hasMoreTokens()) {
- final PersonalAttribute persAttr = new PersonalAttribute();
- String[] tuples =
- strToken.nextToken().split(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString(),
- AttributeConstants.NUMBER_TUPLES.intValue());
-
- // Convert to the new format if needed!
- tuples = convertFormat(tuples);
-
- if (AttributeUtil.hasValidTuples(tuples)) {
- final int attrValueIndex =
- AttributeConstants.ATTR_VALUE_INDEX.intValue();
- final String tmpAttrValue =
- tuples[attrValueIndex].substring(1,
- tuples[attrValueIndex].length() - 1);
- final String[] vals =
- tmpAttrValue.split(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- persAttr.setName(tuples[AttributeConstants.ATTR_NAME_INDEX.intValue()]);
- persAttr.setIsRequired(Boolean
- .valueOf(tuples[AttributeConstants.ATTR_TYPE_INDEX.intValue()]));
-
- // check if it is a complex value
- if (isComplexValue(vals)) {
- persAttr.setComplexValue(createComplexValue(vals));
- }
- else
- {
- persAttr.setValue(createValues(vals));
- }
-
- if (tuples.length == AttributeConstants.NUMBER_TUPLES.intValue()) {
- persAttr.setStatus(tuples[AttributeConstants.ATTR_STATUS_INDEX
- .intValue()]);
- }
- this.put(tuples[AttributeConstants.ATTR_NAME_INDEX.intValue()],
- persAttr);
-
- } else {
- LOG.warn("Invalid personal attribute list tuples");
- }
-
- }
- }
-
- /**
- * Returns a copy of this <tt>IPersonalAttributeList</tt> instance.
- *
- * @return The copy of this IPersonalAttributeList.
- */
- public Object clone() {
- try {
- return (PersonalAttributeList) super.clone();
- } catch (CloneNotSupportedException e) {
- return null;
- }
- }
-
- /**
- * Creates a string in the following format.
- *
- * attrName:attrType:[attrValue1,attrValue2=attrComplexValue]:attrStatus;
- *
- * @return {@inheritDoc}
- */
- @Override
- public String toString() {
- final Iterator<Entry<String, PersonalAttribute>> itAttrs =
- this.entrySet().iterator();
- final StringBuilder strBuilder = new StringBuilder();
-
- while (itAttrs.hasNext()) {
- final Entry<String, PersonalAttribute> attrEntry = itAttrs.next();
- final PersonalAttribute attr = attrEntry.getValue();
- //strBuilder.append(attr.toString());
- strBuilder.insert(0, attr.toString());
- }
-
- return strBuilder.toString();
- }
-
- /**
- * Validates and creates the attribute's complex values.
- *
- * @param values The complex values.
- *
- * @return The {@link Map} with the complex values.
- *
- * @see Map
- */
- private Map<String, String> createComplexValue(final String[] values) {
- final Map<String, String> complexValue = new HashMap<String, String>();
- for (final String val : values) {
- final String[] tVal = val.split("=");
- if (StringUtils.isNotEmpty(val) && tVal.length == 2) {
- complexValue.put(tVal[0], AttributeUtil.unescape(tVal[1]));
- }
- }
- return complexValue;
- }
-
- /**
- * Checks if value is complex or not
- * @param values The values to check
- * @return True if succesful
- */
- private boolean isComplexValue(final String[] values) {
- boolean isComplex = false;
- if (values.length > 0) {
- final String[] tVal = values[0].split("=");
- if (StringUtils.isNotEmpty(values[0]) && tVal.length == 2) {
- isComplex = true;
- }
- }
- return isComplex;
- }
-
- /**
- * Validates and creates the attribute values.
- *
- * @param vals The attribute values.
- *
- * @return The {@link List} with the attribute values.
- *
- * @see List
- */
- private List<String> createValues(final String[] vals) {
- final List<String> values = new ArrayList<String>();
- for (final String val : vals) {
- if (StringUtils.isNotEmpty(val)) {
- values.add(AttributeUtil.unescape(val));
- }
- }
- return values;
- }
-
- /**
- * Converts the attribute tuple (attrName:attrType...) to the new format.
- *
- * @param tuples The attribute tuples to convert.
- *
- * @return The attribute tuples in the new format.
- */
- private String[] convertFormat(final String[] tuples) {
- final String[] newFormatTuples =
- new String[AttributeConstants.NUMBER_TUPLES.intValue()];
- if (tuples != null) {
- System.arraycopy(tuples, 0, newFormatTuples, 0, tuples.length);
-
- for (int i = tuples.length; i < newFormatTuples.length; i++) {
- if (i == AttributeConstants.ATTR_VALUE_INDEX.intValue()) {
- newFormatTuples[i] = "[]";
- } else {
- newFormatTuples[i] = "";
- }
- }
- }
- return newFormatTuples;
- }
-
- /**
- * Returns a IPersonalAttributeList of the complex attributes in this map.
- *
- * @return an IPersonalAttributeList of the complex attributes contained in this map.
- */
- public IPersonalAttributeList getComplexAttributes() {
- LOG.info("get complex attributes");
- IPersonalAttributeList attrList = new PersonalAttributeList();
- for(PersonalAttribute attr: this) {
- if(!attr.getComplexValue().isEmpty()) {
- attrList.put(attr.getName(), attr);
- LOG.info("adding complex attribute:"+attr.getName());
- }
- }
- return attrList;
- }
-
- /**
- * Returns a IPersonalAttributeList of the mandatory attributes in this map.
- *
- * @return an IPersonalAttributeList of the mandatory attributes contained in this map.
- */
- public IPersonalAttributeList getSimpleValueAttributes() {
- LOG.info("get simple attributes");
- IPersonalAttributeList attrList = new PersonalAttributeList();
- for(PersonalAttribute attr: this) {
- if(attr.getComplexValue().isEmpty()) {
- attrList.put(attr.getName(), attr);
- LOG.info("adding simple attribute:"+attr.getName());
- }
- }
- return attrList;
- }
-
-
-
- /**
- * Returns a IPersonalAttributeList of the mandatory attributes in this map.
- *
- * @return an IPersonalAttributeList of the mandatory attributes contained in this map.
- */
- public IPersonalAttributeList getMandatoryAttributes() {
- return getAttributesByParam(true);
- }
-
-
- /**
- * Returns a IPersonalAttributeList of the attributes in this map by parameter value.
- *
- * @param compareValue The boolean to get mandatory (true) or optional (false) attributes.
- *
- * @return an IPersonalAttributeList of the mandatory attributes contained in this map if compareValue is true or optional otherwise.
- */
- private IPersonalAttributeList getAttributesByParam(final boolean compareValue) {
- LOG.info("get attributes by param :"+compareValue);
- IPersonalAttributeList attrList = new PersonalAttributeList();
- for(PersonalAttribute attr: this) {
- if(attr.isRequired() == compareValue) {
- attrList.put(attr.getName(), attr);
- LOG.info("adding attribute:"+attr.getName());
- }
- }
- return attrList;
- }
-
-
- /**
- * Returns a IPersonalAttributeList of the optional attributes in this map.
- *
- * @return an IPersonalAttributeList of the optional attributes contained in this map.
- */
- public IPersonalAttributeList getOptionalAttributes() {
- return getAttributesByParam(false);
- }
-
- /**
- * {@inheritDoc}
- */
- public boolean hasMissingValues() {
- for(PersonalAttribute attr: this) {
- if(attr.isEmptyValue() && attr.isEmptyComplexValue()) {
- return true;
- }
- }
- return false;
- }
+public final class PersonalAttributeList extends ConcurrentHashMap<String, PersonalAttribute> implements IPersonalAttributeList {
+
+ /**
+ * Logger object.
+ */
+ private static final Logger LOG = Logger.getLogger(PersonalAttributeList.class.getName());
+
+ /**
+ * Serial id.
+ */
+ private static final long serialVersionUID = 7375127363889975062L;
+
+ /**
+ * Hash with the latest fetched attribute name alias.
+ */
+ private final Map<String, Integer> latestAttrAlias = new HashMap<String, Integer>();
+
+ /**
+ * Hash with mapping number of alias or the attribute name.
+ */
+ private final Map<String, List<String>> attrAliasNumber = new HashMap<String, List<String>>();
+
+ /**
+ * Default constructor.
+ */
+ public PersonalAttributeList() {
+ // The best practices recommend to call the super constructor.
+ super();
+ }
+
+ /**
+ * Constructor with initial capacity for the PersonalAttributeList size.
+ *
+ * @param capacity
+ * The initial capacity for the PersonalAttributeList.
+ */
+ public PersonalAttributeList(final int capacity) {
+ super(capacity);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Iterator<PersonalAttribute> iterator() {
+ return this.values().iterator();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public PersonalAttribute get(final Object key) {
+ String attrName = (String) key;
+
+ if (this.latestAttrAlias.containsKey(key)) {
+ int index = this.latestAttrAlias.get(key);
+ if ((index + 1) > this.attrAliasNumber.get(key).size()) {
+ index = 0;
+ }
+
+ attrName = this.attrAliasNumber.get(key).get(index);
+ this.latestAttrAlias.put((String) key, Integer.valueOf(++index));
+ } else {
+ if (this.attrAliasNumber.containsKey(key)) {
+ this.latestAttrAlias.put((String) key, Integer.valueOf(0));
+ attrName = this.attrAliasNumber.get(key).get(0);
+ }
+ }
+ return super.get(attrName);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void add(final PersonalAttribute value) {
+ if (value != null) {
+ this.put(value.getName(), value);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public PersonalAttribute replace(final String key, final PersonalAttribute val) {
+ return super.put(key, val);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public PersonalAttribute put(final String key, final PersonalAttribute val) {
+ PersonalAttribute attr = val;
+ if (this.containsKey(key)) {
+ attr = this.get(key);
+
+ if (!attr.isEmptyValue()) {
+ if (!attr.getValue().containsAll(val.getValue())) {
+ attr.getValue().addAll(val.getValue());
+ }
+ } else {
+
+ if (!attr.isEmptyComplexValue()) {
+ for (Map<String, String> valTemp : val.getComplexValues()) {
+ if (!attr.getComplexValues().contains(valTemp)) {
+ attr.setComplexValue(valTemp);
+ }
+ }
+ } else {
+ if (STORKStatusCode.STATUS_NOT_AVAILABLE.toString().equals(attr.getStatus())) {
+ attr = val;
+ }
+ }
+ }
+ }
+ return super.put(key, attr);
+ }
+
+ /**
+ * Escape method for attributes with double comma
+ *
+ * @return escaped attribute list
+ *
+ */
+ private String attrListEncoder(String attrList) {
+ StringBuilder finalAttr = new StringBuilder();
+ String boolAttr = PEPSValues.TRUE.toString();
+ String reqRegex = PEPSValues.ATTRIBUTE_TUPLE_SEP.toString() + PEPSValues.TRUE.toString() + PEPSValues.ATTRIBUTE_TUPLE_SEP.toString();
+
+ String reqRegexSeparator = PEPSValues.ATTRIBUTE_TUPLE_SEP.toString() + PEPSValues.TRUE.toString() + PEPSValues.ATTRIBUTE_TUPLE_SEP.toString() + "|" + PEPSValues.ATTRIBUTE_TUPLE_SEP.toString()
+ + PEPSValues.FALSE.toString() + PEPSValues.ATTRIBUTE_TUPLE_SEP.toString();
+
+ for (String s : attrList.split(PEPSValues.ATTRIBUTE_SEP.toString())) {
+ StringBuilder tempBuilder = new StringBuilder(s);
+ if (s.split(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString()).length > 4) {
+ LOG.info("Found attributes with special characters, escaping special characters");
+
+ if (s.split(reqRegex) == null) {
+ boolAttr = PEPSValues.FALSE.toString();
+ }
+
+ tempBuilder.setLength(0);
+ tempBuilder.append(AttributeUtil.escape(s.split(reqRegexSeparator)[0]));
+ tempBuilder.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
+ tempBuilder.append(boolAttr);
+ tempBuilder.append(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString());
+ tempBuilder.append(s.split(reqRegexSeparator)[1]);
+
+ }
+
+ finalAttr.append(tempBuilder.toString());
+ finalAttr.append(PEPSValues.ATTRIBUTE_SEP.toString());
+ }
+ return finalAttr.toString();
+ }
+
+ /**
+ * Unescape a string
+ *
+ * @see PersonalAttributeList#attrListEncoder
+ *
+ */
+ private String attrListDecoder(String string) {
+ return AttributeUtil.unescape(string);
+ }
+
+ public void populate(final String attrList) {
+
+ final StringTokenizer strToken = new StringTokenizer(attrListEncoder(attrList), PEPSValues.ATTRIBUTE_SEP.toString());
+
+ while (strToken.hasMoreTokens()) {
+ final PersonalAttribute persAttr = new PersonalAttribute();
+ String[] tuples = strToken.nextToken().split(PEPSValues.ATTRIBUTE_TUPLE_SEP.toString(), AttributeConstants.NUMBER_TUPLES.intValue());
+
+ // Convert to the new format if needed!
+ tuples = convertFormat(tuples);
+
+ if (AttributeUtil.hasValidTuples(tuples)) {
+ final int attrValueIndex = AttributeConstants.ATTR_VALUE_INDEX.intValue();
+ final String tmpAttrValue = tuples[attrValueIndex].substring(1, tuples[attrValueIndex].length() - 1);
+ final String[] vals = tmpAttrValue.split(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
+
+ persAttr.setName(tuples[AttributeConstants.ATTR_NAME_INDEX.intValue()]);
+ persAttr.setIsRequired(Boolean.valueOf(tuples[AttributeConstants.ATTR_TYPE_INDEX.intValue()]));
+
+ // check if it is a complex value
+ if (isComplexValue(vals)) {
+ persAttr.setComplexValue(createComplexValue(vals));
+ } else {
+ persAttr.setValue(createValues(vals));
+ }
+
+ if (tuples.length == AttributeConstants.NUMBER_TUPLES.intValue()) {
+ tuples[0] = attrListDecoder(tuples[0]);
+ persAttr.setName(attrListDecoder(persAttr.getName()));
+
+ persAttr.setStatus(tuples[AttributeConstants.ATTR_STATUS_INDEX.intValue()]);
+ }
+ this.put(tuples[AttributeConstants.ATTR_NAME_INDEX.intValue()], persAttr);
+
+ } else {
+ LOG.warn("Invalid personal attribute list tuples");
+ }
+
+ }
+ }
+
+ /**
+ * Returns a copy of this <tt>IPersonalAttributeList</tt> instance.
+ *
+ * @return The copy of this IPersonalAttributeList.
+ */
+ public Object clone() {
+ // This implementation may have an bug!
+ try {
+ return (PersonalAttributeList) super.clone();
+ } catch (CloneNotSupportedException e) {
+ return null;
+ }
+ }
+
+ /**
+ * Creates a string in the following format.
+ *
+ * attrName:attrType:[attrValue1,attrValue2=attrComplexValue]:attrStatus;
+ *
+ * @return {@inheritDoc}
+ */
+ @Override
+ public String toString() {
+ final Iterator<Entry<String, PersonalAttribute>> itAttrs = this.entrySet().iterator();
+ final StringBuilder strBuilder = new StringBuilder();
+
+ while (itAttrs.hasNext()) {
+ final Entry<String, PersonalAttribute> attrEntry = itAttrs.next();
+ final PersonalAttribute attr = attrEntry.getValue();
+ // strBuilder.append(attr.toString());
+ strBuilder.insert(0, attr.toString());
+ }
+
+ return strBuilder.toString();
+ }
+
+ /**
+ * Validates and creates the attribute's complex values.
+ *
+ * @param values
+ * The complex values.
+ *
+ * @return The {@link Map} with the complex values.
+ *
+ * @see Map
+ */
+ private Map<String, String> createComplexValue(final String[] values) {
+ final Map<String, String> complexValue = new HashMap<String, String>();
+ for (final String val : values) {
+ final String[] tVal = val.split("=");
+ if (StringUtils.isNotEmpty(val) && tVal.length == 2) {
+ complexValue.put(tVal[0], AttributeUtil.unescape(tVal[1]));
+ }
+ }
+ return complexValue;
+ }
+
+ /**
+ * Checks if value is complex or not
+ *
+ * @param values
+ * The values to check
+ * @return True if succesful
+ */
+ private boolean isComplexValue(final String[] values) {
+ boolean isComplex = false;
+ if (values.length > 0) {
+ final String[] tVal = values[0].split("=");
+ if (StringUtils.isNotEmpty(values[0]) && tVal.length == 2) {
+ isComplex = true;
+ }
+ }
+ return isComplex;
+ }
+
+ /**
+ * Validates and creates the attribute values.
+ *
+ * @param vals
+ * The attribute values.
+ *
+ * @return The {@link List} with the attribute values.
+ *
+ * @see List
+ */
+ private List<String> createValues(final String[] vals) {
+ final List<String> values = new ArrayList<String>();
+ for (final String val : vals) {
+ if (StringUtils.isNotEmpty(val)) {
+ values.add(AttributeUtil.unescape(val));
+ }
+ }
+ return values;
+ }
+
+ /**
+ * Converts the attribute tuple (attrName:attrType...) to the new format.
+ *
+ * @param tuples
+ * The attribute tuples to convert.
+ *
+ * @return The attribute tuples in the new format.
+ */
+ private String[] convertFormat(final String[] tuples) {
+ final String[] newFormatTuples = new String[AttributeConstants.NUMBER_TUPLES.intValue()];
+ if (tuples != null) {
+ System.arraycopy(tuples, 0, newFormatTuples, 0, tuples.length);
+
+ for (int i = tuples.length; i < newFormatTuples.length; i++) {
+ if (i == AttributeConstants.ATTR_VALUE_INDEX.intValue()) {
+ newFormatTuples[i] = "[]";
+ } else {
+ newFormatTuples[i] = "";
+ }
+ }
+ }
+ return newFormatTuples;
+ }
+
+ /**
+ * Returns a IPersonalAttributeList of the complex attributes in this map.
+ *
+ * @return an IPersonalAttributeList of the complex attributes contained in this map.
+ */
+ public IPersonalAttributeList getComplexAttributes() {
+ LOG.info("get complex attributes");
+ IPersonalAttributeList attrList = new PersonalAttributeList();
+ for (PersonalAttribute attr : this) {
+ if (!attr.getComplexValue().isEmpty()) {
+ attrList.put(attr.getName(), attr);
+ LOG.info("adding complex attribute:" + attr.getName());
+ }
+ }
+ return attrList;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public IPersonalAttributeList merge(IPersonalAttributeList attrList1) {
+
+ for (PersonalAttribute attr : attrList1) {
+ this.add(attr);
+ }
+ return this;
+ }
+
+ /**
+ * Returns a IPersonalAttributeList of the mandatory attributes in this map.
+ *
+ * @return an IPersonalAttributeList of the mandatory attributes contained in this map.
+ */
+ public IPersonalAttributeList getSimpleValueAttributes() {
+ LOG.info("get simple attributes");
+ IPersonalAttributeList attrList = new PersonalAttributeList();
+ for (PersonalAttribute attr : this) {
+ if (!attr.getValue().isEmpty()) {
+ attrList.put(attr.getName(), attr);
+ LOG.info("adding simple attribute:" + attr.getName());
+ }
+ }
+ return attrList;
+ }
+
+ /**
+ * Returns a IPersonalAttributeList of the mandatory attributes in this map.
+ *
+ * @return an IPersonalAttributeList of the mandatory attributes contained in this map.
+ */
+ public IPersonalAttributeList getMandatoryAttributes() {
+ return getAttributesByParam(true);
+ }
+
+ /**
+ * Returns a IPersonalAttributeList of the attributes in this map by parameter value.
+ *
+ * @param compareValue
+ * The boolean to get mandatory (true) or optional (false) attributes.
+ *
+ * @return an IPersonalAttributeList of the mandatory attributes contained in this map if compareValue is true or optional otherwise.
+ */
+ private IPersonalAttributeList getAttributesByParam(final boolean compareValue) {
+ LOG.info("get attributes by param :" + compareValue);
+ IPersonalAttributeList attrList = new PersonalAttributeList();
+ for (PersonalAttribute attr : this) {
+ if (attr.isRequired() == compareValue) {
+ attrList.put(attr.getName(), attr);
+ LOG.info("adding attribute:" + attr.getName());
+ }
+ }
+ return attrList;
+ }
+
+ /**
+ * Returns a IPersonalAttributeList of the optional attributes in this map.
+ *
+ * @return an IPersonalAttributeList of the optional attributes contained in this map.
+ */
+ public IPersonalAttributeList getOptionalAttributes() {
+ return getAttributesByParam(false);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean hasMissingValues() {
+ for (PersonalAttribute attr : this) {
+ if (attr.isEmptyValue() && attr.isEmptyComplexValue()) {
+ return true;
+ }
+ }
+ return false;
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryRequest.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryRequest.java
index 65936f1a8..33ae4c743 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryRequest.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryRequest.java
@@ -2,446 +2,451 @@ package eu.stork.peps.auth.commons;
import java.io.Serializable;
-import org.apache.log4j.Logger;
-
public class STORKAttrQueryRequest implements Serializable, Cloneable {
-
+
/** The Constant serialVersionUID. */
- private static final long serialVersionUID = 4778480781609392750L;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(STORKAttrQueryRequest.class
- .getName());
-
- /** The samlId. */
- private String samlId;
-
- /** The destination. */
- private String destination;
-
- /** The assertion consumer service url. */
- private String serviceURL;
-
- /** The distinguished name. */
- private String distinguishedName;
-
- /** The e id sector share. */
- private boolean eIDSectorShare;
-
- /** The e id cross sector share. */
- private boolean eIDCrossSectorShare;
-
- /** The e id cross border share. */
- private boolean eIDCrossBorderShare;
-
- /** The personal attribute list. */
- private IPersonalAttributeList attributeList = new PersonalAttributeList();
-
- /** The qaa. */
- private int qaa;
-
- /** The token saml. */
- private byte[] tokenSaml = new byte[0];
-
- /** The issuer. */
- private String issuer;
-
- /** The service provider sector. */
- private String spSector;
-
- /** The service provider institution. */
- private String spInstitution;
-
- /** The service provider application. */
- private String spApplication;
-
- /** The service provider country. */
- private String spCountry;
-
- /** The country. */
- private String country;
-
- /** The citizen country code. */
- private String citizenCountry;
-
- /** The Service Provider ID. */
- private String sPID;
-
- /** The Alias used at the keystore for saving this certificate. */
- private String alias;
-
- /**
- * Gets the SP's Certificate Alias.
- *
- * @return alias The SP's Certificate Alias.
- */
- public String getAlias() {
- return alias;
- }
-
- /**
- * Sets the SP's Certificate Alias.
- *
- * @param nAlias The SP's Certificate Alias.
- */
- public void setAlias(final String nAlias) {
- this.alias = nAlias;
- }
-
- /**
- * Gets the SP ID.
- *
- * @return sPID The SP ID.
- */
- public String getSPID() {
- return sPID;
- }
-
- /**
- * Sets the SP ID.
- *
- * @param sPId The new sp samlId.
- */
- public void setSPID(final String sPId) {
- this.sPID = sPId;
- }
-
- /**
- * Gets the citizen country code.
- *
- * @return The citizen country code value.
- */
- public String getCitizenCountryCode() {
- return citizenCountry;
- }
-
- /**
- * Sets the citizen country code.
- *
- * @param countryCode the new citizen country code value.
- */
- public void setCitizenCountryCode(final String countryCode) {
- this.citizenCountry = countryCode;
- }
-
- /**
- * Gets the sp country.
- *
- * @return The sp country value.
- */
- public String getSpCountry() {
- return spCountry;
- }
-
- /**
- * Sets the sp country.
- *
- * @param sPCountry the new sp country value.
- */
- public void setSpCountry(final String sPCountry) {
- this.spCountry = sPCountry;
- }
-
- /**
- * Gets the issuer.
- *
- * @return The issuer value.
- */
- public String getIssuer() {
- return issuer;
- }
-
- /**
- * Sets the issuer.
- *
- * @param samlIssuer the new issuer value.
- */
- public void setIssuer(final String samlIssuer) {
- this.issuer = samlIssuer;
- }
-
- /**
- * Gets the SAML Token.
- *
- * @return The SAML Token value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Sets the SAML Token.
- *
- * @param samlToken The new SAML Token value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Gets the country.
- *
- * @return The country value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Sets the country.
- *
- * @param nCountry the new country value.
- */
- public void setCountry(final String nCountry) {
- this.country = nCountry;
- }
-
- /**
- * Getter for the qaa value.
- *
- * @return The qaa value value.
- */
- public int getQaa() {
- return qaa;
- }
-
- /**
- * Setter for the qaa value.
- *
- * @param qaaLevel The new qaa value.
- */
- public void setQaa(final int qaaLevel) {
- this.qaa = qaaLevel;
- }
-
- /**
- * Getter for the serviceURL value.
- *
- * @return The serviceURL value.
- */
- public String getAssertionConsumerServiceURL() {
- return serviceURL;
- }
-
- /**
- * Setter for the serviceURL value.
- *
- * @param newServiceURL the assertion consumer service URL.
- */
- public void setAssertionConsumerServiceURL(final String newServiceURL) {
- this.serviceURL = newServiceURL;
- }
-
- /**
- * Getter for the destination value.
- *
- * @return The destination value.
- */
- public String getDestination() {
- return destination;
- }
-
- /**
- * Setter for the destination value.
- *
- * @param detination the new destination value.
- */
- public void setDestination(final String detination) {
- this.destination = detination;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param newSamlId the new samlId value.
- */
- public void setSamlId(final String newSamlId) {
- this.samlId = newSamlId;
- }
-
-
- /**
- * Getter for the attributeList value.
- *
- * @return The attributeList value.
- *
- * @see IPersonalAttributeList
- */
- public IPersonalAttributeList getPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) attributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the attributeList value.
- *
- * @param attrList the personal attribute list value.
- *
- * @see IPersonalAttributeList
- */
- public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.attributeList = attrList;
- }
- }
-
- /**
- * Getter for the distinguishedName value.
- *
- * @return The distinguishedName value.
- */
- public String getDistinguishedName() {
- return distinguishedName;
- }
-
- /**
- * Setter for the distinguishedName value.
- *
- * @param certDN the distinguished name value.
- */
- public void setDistinguishedName(final String certDN) {
- this.distinguishedName = certDN;
- }
-
- /**
- * Gets the service provider sector.
- *
- * @return The service provider sector value.
- */
- public String getSpSector() {
- return spSector;
- }
-
- /**
- * Sets the service provider sector.
- *
- * @param samlSPSector the new service provider sector value.
- */
- public void setSpSector(final String samlSPSector) {
- this.spSector = samlSPSector;
- }
-
- /**
- * Gets the service provider institution.
- *
- * @return The service provider institution value.
- */
- public String getSpInstitution() {
- return spInstitution;
- }
-
- /**
- * Sets the service provider institution.
- *
- * @param samlSPInst the new service provider institution value.
- */
- public void setSpInstitution(final String samlSPInst) {
- this.spInstitution = samlSPInst;
- }
-
- /**
- * Gets the service provider application.
- *
- * @return The service provider application value.
- */
- public String getSpApplication() {
- return spApplication;
- }
-
- /**
- * Sets the service provider application.
- *
- * @param samlSPApp the new service provider application value.
- */
- public void setSpApplication(final String samlSPApp) {
- this.spApplication = samlSPApp;
- }
-
- /**
- * Checks if is eId sector share.
- *
- * @return true, if is eId sector share.
- */
- public boolean isEIDSectorShare() {
- return eIDSectorShare;
- }
-
- /**
- * Sets the eId sector share.
- *
- * @param eIdSectorShare the new eId sector share value.
- */
- public void setEIDSectorShare(final boolean eIdSectorShare) {
- this.eIDSectorShare = eIdSectorShare;
- }
-
- /**
- * Checks if is eId cross sector share.
- *
- * @return true, if is eId cross sector share.
- */
- public boolean isEIDCrossSectorShare() {
- return eIDCrossSectorShare;
- }
-
- /**
- * Sets the eId cross sector share.
- *
- * @param eIdCrossSectorShare the new eId cross sector share value.
- */
- public void setEIDCrossSectorShare(final boolean eIdCrossSectorShare) {
- this.eIDCrossSectorShare = eIdCrossSectorShare;
- }
-
- /**
- * Checks if is eId cross border share.
- *
- * @return true, if is eId cross border share.
- */
- public boolean isEIDCrossBorderShare() {
- return eIDCrossBorderShare;
- }
-
- /**
- * Sets the eId cross border share.
- *
- * @param eIdCrossBorderShare the new eId cross border share value.
- */
- public void setEIDCrossBorderShare(final boolean eIdCrossBorderShare) {
- this.eIDCrossBorderShare = eIdCrossBorderShare;
- }
-
- /**
- * Returns a copy of this <tt>STORKAttrQueryRequest</tt> instance.
- *
- * @return The copy of this STORKAttrQueryRequest.
- * @throws CloneNotSupportedException on clone exception
- */
- @Override
- public Object clone() throws CloneNotSupportedException{
- STORKAttrQueryRequest storkAttrQueryReq = null;
- storkAttrQueryReq = (STORKAttrQueryRequest) super.clone();
- storkAttrQueryReq.setPersonalAttributeList(getPersonalAttributeList());
- storkAttrQueryReq.setTokenSaml(getTokenSaml());
- return storkAttrQueryReq;
- }
+ private static final long serialVersionUID = 4778480781609392750L;
+
+ /** The samlId. */
+ private String samlId;
+
+ /** The destination. */
+ private String destination;
+
+ /** The assertion consumer service url. */
+ private String serviceURL;
+
+ /** The distinguished name. */
+ private String distinguishedName;
+
+ /** The e id sector share. */
+ private boolean eIDSectorShare;
+
+ /** The e id cross sector share. */
+ private boolean eIDCrossSectorShare;
+
+ /** The e id cross border share. */
+ private boolean eIDCrossBorderShare;
+
+ /** The personal attribute list. */
+ private IPersonalAttributeList attributeList = new PersonalAttributeList();
+
+ /** The qaa. */
+ private int qaa;
+
+ /** The token saml. */
+ private byte[] tokenSaml = new byte[0];
+
+ /** The issuer. */
+ private String issuer;
+
+ /** The service provider sector. */
+ private String spSector;
+
+ /** The service provider institution. */
+ private String spInstitution;
+
+ /** The service provider application. */
+ private String spApplication;
+
+ /** The service provider country. */
+ private String spCountry;
+
+ /** The country. */
+ private String country;
+
+ /** The citizen country code. */
+ private String citizenCountry;
+
+ /** The Service Provider ID. */
+ private String sPID;
+
+ /** The Alias used at the keystore for saving this certificate. */
+ private String alias;
+
+ /**
+ * Gets the SP's Certificate Alias.
+ *
+ * @return alias The SP's Certificate Alias.
+ */
+ public String getAlias() {
+ return alias;
+ }
+
+ /**
+ * Sets the SP's Certificate Alias.
+ *
+ * @param nAlias
+ * The SP's Certificate Alias.
+ */
+ public void setAlias(final String nAlias) {
+ this.alias = nAlias;
+ }
+
+ /**
+ * Gets the SP ID.
+ *
+ * @return sPID The SP ID.
+ */
+ public String getSPID() {
+ return sPID;
+ }
+
+ /**
+ * Sets the SP ID.
+ *
+ * @param sPId
+ * The new sp samlId.
+ */
+ public void setSPID(final String sPId) {
+ this.sPID = sPId;
+ }
+
+ /**
+ * Gets the citizen country code.
+ *
+ * @return The citizen country code value.
+ */
+ public String getCitizenCountryCode() {
+ return citizenCountry;
+ }
+
+ /**
+ * Sets the citizen country code.
+ *
+ * @param countryCode
+ * the new citizen country code value.
+ */
+ public void setCitizenCountryCode(final String countryCode) {
+ this.citizenCountry = countryCode;
+ }
+
+ /**
+ * Gets the sp country.
+ *
+ * @return The sp country value.
+ */
+ public String getSpCountry() {
+ return spCountry;
+ }
+
+ /**
+ * Sets the sp country.
+ *
+ * @param sPCountry
+ * the new sp country value.
+ */
+ public void setSpCountry(final String sPCountry) {
+ this.spCountry = sPCountry;
+ }
+
+ /**
+ * Gets the issuer.
+ *
+ * @return The issuer value.
+ */
+ public String getIssuer() {
+ return issuer;
+ }
+
+ /**
+ * Sets the issuer.
+ *
+ * @param samlIssuer
+ * the new issuer value.
+ */
+ public void setIssuer(final String samlIssuer) {
+ this.issuer = samlIssuer;
+ }
+
+ /**
+ * Gets the SAML Token.
+ *
+ * @return The SAML Token value.
+ */
+ public byte[] getTokenSaml() {
+ return tokenSaml.clone();
+ }
+
+ /**
+ * Sets the SAML Token.
+ *
+ * @param samlToken
+ * The new SAML Token value.
+ */
+ public void setTokenSaml(final byte[] samlToken) {
+ if (samlToken != null) {
+ this.tokenSaml = samlToken.clone();
+ }
+ }
+
+ /**
+ * Gets the country.
+ *
+ * @return The country value.
+ */
+ public String getCountry() {
+ return country;
+ }
+
+ /**
+ * Sets the country.
+ *
+ * @param nCountry
+ * the new country value.
+ */
+ public void setCountry(final String nCountry) {
+ this.country = nCountry;
+ }
+
+ /**
+ * Getter for the qaa value.
+ *
+ * @return The qaa value value.
+ */
+ public int getQaa() {
+ return qaa;
+ }
+
+ /**
+ * Setter for the qaa value.
+ *
+ * @param qaaLevel
+ * The new qaa value.
+ */
+ public void setQaa(final int qaaLevel) {
+ this.qaa = qaaLevel;
+ }
+
+ /**
+ * Getter for the serviceURL value.
+ *
+ * @return The serviceURL value.
+ */
+ public String getAssertionConsumerServiceURL() {
+ return serviceURL;
+ }
+
+ /**
+ * Setter for the serviceURL value.
+ *
+ * @param newServiceURL
+ * the assertion consumer service URL.
+ */
+ public void setAssertionConsumerServiceURL(final String newServiceURL) {
+ this.serviceURL = newServiceURL;
+ }
+
+ /**
+ * Getter for the destination value.
+ *
+ * @return The destination value.
+ */
+ public String getDestination() {
+ return destination;
+ }
+
+ /**
+ * Setter for the destination value.
+ *
+ * @param detination
+ * the new destination value.
+ */
+ public void setDestination(final String detination) {
+ this.destination = detination;
+ }
+
+ /**
+ * Getter for the samlId value.
+ *
+ * @return The samlId value.
+ */
+ public String getSamlId() {
+ return samlId;
+ }
+
+ /**
+ * Setter for the samlId value.
+ *
+ * @param newSamlId
+ * the new samlId value.
+ */
+ public void setSamlId(final String newSamlId) {
+ this.samlId = newSamlId;
+ }
+
+ /**
+ * Getter for the attributeList value.
+ *
+ * @return The attributeList value.
+ *
+ * @see IPersonalAttributeList
+ */
+ public IPersonalAttributeList getPersonalAttributeList() {
+ return (IPersonalAttributeList) attributeList.clone();
+ }
+
+ /**
+ * Setter for the attributeList value.
+ *
+ * @param attrList
+ * the personal attribute list value.
+ *
+ * @see IPersonalAttributeList
+ */
+ public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
+ if (attrList != null) {
+ this.attributeList = attrList;
+ }
+ }
+
+ /**
+ * Getter for the distinguishedName value.
+ *
+ * @return The distinguishedName value.
+ */
+ public String getDistinguishedName() {
+ return distinguishedName;
+ }
+
+ /**
+ * Setter for the distinguishedName value.
+ *
+ * @param certDN
+ * the distinguished name value.
+ */
+ public void setDistinguishedName(final String certDN) {
+ this.distinguishedName = certDN;
+ }
+
+ /**
+ * Gets the service provider sector.
+ *
+ * @return The service provider sector value.
+ */
+ public String getSpSector() {
+ return spSector;
+ }
+
+ /**
+ * Sets the service provider sector.
+ *
+ * @param samlSPSector
+ * the new service provider sector value.
+ */
+ public void setSpSector(final String samlSPSector) {
+ this.spSector = samlSPSector;
+ }
+
+ /**
+ * Gets the service provider institution.
+ *
+ * @return The service provider institution value.
+ */
+ public String getSpInstitution() {
+ return spInstitution;
+ }
+
+ /**
+ * Sets the service provider institution.
+ *
+ * @param samlSPInst
+ * the new service provider institution value.
+ */
+ public void setSpInstitution(final String samlSPInst) {
+ this.spInstitution = samlSPInst;
+ }
+
+ /**
+ * Gets the service provider application.
+ *
+ * @return The service provider application value.
+ */
+ public String getSpApplication() {
+ return spApplication;
+ }
+
+ /**
+ * Sets the service provider application.
+ *
+ * @param samlSPApp
+ * the new service provider application value.
+ */
+ public void setSpApplication(final String samlSPApp) {
+ this.spApplication = samlSPApp;
+ }
+
+ /**
+ * Checks if is eId sector share.
+ *
+ * @return true, if is eId sector share.
+ */
+ public boolean isEIDSectorShare() {
+ return eIDSectorShare;
+ }
+
+ /**
+ * Sets the eId sector share.
+ *
+ * @param eIdSectorShare
+ * the new eId sector share value.
+ */
+ public void setEIDSectorShare(final boolean eIdSectorShare) {
+ this.eIDSectorShare = eIdSectorShare;
+ }
+
+ /**
+ * Checks if is eId cross sector share.
+ *
+ * @return true, if is eId cross sector share.
+ */
+ public boolean isEIDCrossSectorShare() {
+ return eIDCrossSectorShare;
+ }
+
+ /**
+ * Sets the eId cross sector share.
+ *
+ * @param eIdCrossSectorShare
+ * the new eId cross sector share value.
+ */
+ public void setEIDCrossSectorShare(final boolean eIdCrossSectorShare) {
+ this.eIDCrossSectorShare = eIdCrossSectorShare;
+ }
+
+ /**
+ * Checks if is eId cross border share.
+ *
+ * @return true, if is eId cross border share.
+ */
+ public boolean isEIDCrossBorderShare() {
+ return eIDCrossBorderShare;
+ }
+
+ /**
+ * Sets the eId cross border share.
+ *
+ * @param eIdCrossBorderShare
+ * the new eId cross border share value.
+ */
+ public void setEIDCrossBorderShare(final boolean eIdCrossBorderShare) {
+ this.eIDCrossBorderShare = eIdCrossBorderShare;
+ }
+
+ /**
+ * Returns a copy of this <tt>STORKAttrQueryRequest</tt> instance.
+ *
+ * @return The copy of this STORKAttrQueryRequest.
+ * @throws CloneNotSupportedException
+ * on clone exception
+ */
+ @Override
+ public Object clone() throws CloneNotSupportedException {
+ STORKAttrQueryRequest storkAttrQueryReq = null;
+ storkAttrQueryReq = (STORKAttrQueryRequest) super.clone();
+ storkAttrQueryReq.setPersonalAttributeList(getPersonalAttributeList());
+ storkAttrQueryReq.setTokenSaml(getTokenSaml());
+ return storkAttrQueryReq;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryResponse.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryResponse.java
index 276b26a03..ac4663eaf 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryResponse.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAttrQueryResponse.java
@@ -21,372 +21,373 @@ import org.joda.time.DateTime;
import org.opensaml.saml2.core.Assertion;
public class STORKAttrQueryResponse implements Serializable {
-
- /** The Constant serialVersionUID. */
- private static final long serialVersionUID = 7653893041391541235L;
-
- /** Response Id. */
- private String samlId;
-
- /** Request failed? */
- private boolean fail;
-
- /** Status code. */
- private String statusCode;
-
- /** Secondary status code. */
- private String subStatusCode;
-
- /** Audience restriction. */
- private String audienceRest;
-
- /** Error message. */
- private String message;
-
- /** Id of the request that originated this response. */
- private String inResponseTo;
-
- /** Expiration date. */
- private DateTime notOnOrAfter;
-
- /** Creation date. */
- private DateTime notBefore;
-
- /** The SAML token. */
- private byte[] tokenSaml = new byte[0];
-
- /** Country. */
- private String country;
-
- /** The complete assertion **/
- private Assertion assertion;
-
- /** List of all assertions in response **/
- private List<Assertion> assertions;
-
- /** The complete list from all assertions **/
- private IPersonalAttributeList totalAttributeList = new PersonalAttributeList();
-
- /** All personal attribute lists **/
- private List<IPersonalAttributeList> attributeLists;
-
- /** Citizen's personal attribute list. */
- private IPersonalAttributeList attributeList = new PersonalAttributeList();
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(STORKAttrQueryResponse.class.getName());
-
- /**
- * Getter for the subStatusCode.
- *
- * @return The subStatusCode value.
- */
- public String getSubStatusCode() {
- return subStatusCode;
- }
-
- /**
- * Setter for the subStatusCode.
- *
- * @param samlSubStatusCode the new subStatusCode value.
- */
- public void setSubStatusCode(final String samlSubStatusCode) {
- this.subStatusCode = samlSubStatusCode;
- }
-
- /**
- * Getter for audienceRest.
- *
- * @return The audienceRest value.
- */
- public String getAudienceRestriction() {
- return audienceRest;
- }
-
- /**
- * Setter for audienceRest.
- *
- * @param audRest the new audienceRest value.
- */
- public void setAudienceRestriction(final String audRest) {
- this.audienceRest = audRest;
- }
-
- /**
- * Getter for the samlToken.
- *
- * @return The samlToken value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Setter for samlToken.
- *
- * @param samlToken the new tokenSaml value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Getter for the country name.
- *
- * @return The country name value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Setter for the country name.
- *
- * @param cCountry the new country name value.
- */
- public void setCountry(final String cCountry) {
- this.country = cCountry;
- }
-
- /**
- * Getter for pal value.
- *
- * @return The pal value.
- *
- * @see PersonalAttributeList
- */
- public IPersonalAttributeList getPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) attributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.attributeList = attrList;
- }
- }
-
- /**
- * Getter for the inResponseTo value.
- *
- * @return The inResponseTo value.
- */
- public String getInResponseTo() {
- return inResponseTo;
- }
-
- /**
- * Setter for the inResponseTo value.
- *
- * @param samlInResponseTo the new inResponseTo value.
- */
- public void setInResponseTo(final String samlInResponseTo) {
- this.inResponseTo = samlInResponseTo;
- }
-
- /**
- * Getter for the fail value.
- *
- * @return The fail value.
- */
- public boolean isFail() {
- return fail;
- }
-
- /**
- * Setter for the fail value.
- *
- * @param failVal the new fail value.
- */
- public void setFail(final boolean failVal) {
- this.fail = failVal;
- }
-
- /**
- * Getter for the message value.
- *
- * @return The message value.
- */
- public String getMessage() {
- return message;
- }
-
- /**
- * Setter for the message value.
- *
- * @param msg the new message value.
- */
- public void setMessage(final String msg) {
- this.message = msg;
- }
-
- /**
- * Getter for the statusCode value.
- *
- * @return The statusCode value.
- */
- public String getStatusCode() {
- return statusCode;
- }
-
- /**
- * Setter for the statusCode value.
- *
- * @param status the new statusCode value.
- */
- public void setStatusCode(final String status) {
- this.statusCode = status;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param nSamlId the new samlId value.
- */
- public void setSamlId(final String nSamlId) {
- this.samlId = nSamlId;
- }
-
- /**
- * Getter for the notOnOrAfter value.
- *
- * @return The notOnOrAfter value.
- *
- * @see DateTime
- */
- public DateTime getNotOnOrAfter() {
- return this.notOnOrAfter;
- }
-
- /**
- * Setter for the notOnOrAfter value.
- *
- * @param nOnOrAfter the new notOnOrAfter value.
- *
- * @see DateTime
- */
- public void setNotOnOrAfter(final DateTime nOnOrAfter) {
- this.notOnOrAfter = nOnOrAfter;
- }
-
- /**
- * Getter for the notBefore value.
- *
- * @return The notBefore value.
- *
- * @see DateTime
- */
- public DateTime getNotBefore() {
- return notBefore;
- }
-
- /**
- * Setter for the notBefore value.
- *
- * @param nBefore the new notBefore value.
- *
- * @see DateTime
- */
- public void setNotBefore(final DateTime nBefore) {
- this.notBefore = nBefore;
- }
-
- /** Get the assertion from the response **/
- public Assertion getAssertion() {
- return assertion;
- }
-
- /** Set the assertion in the response **/
- public void setAssertion(final Assertion nAssertion) {
- this.assertion = nAssertion;
- }
-
- public void setAssertions(List<Assertion> newAssert) {
- this.assertions = newAssert;
- }
-
- public List<Assertion> getAssertions() {
- return assertions;
- }
-
- /**
- * Getter for the toal pal value.
- *
- * @return The total pal value.
- *
- * @see PersonalAttributeList
- */
- public IPersonalAttributeList getTotalPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) totalAttributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the total Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setTotalPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.totalAttributeList = attrList;
- }
- }
-
- /**
- * Getter for personal attribute lists
- *
- * @return The lists
- *
- * @see PersonalAttributeList
- */
- public List<IPersonalAttributeList> getPersonalAttributeLists() {
- return attributeLists;
- }
-
- /**
- * Setter for the Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setPersonalAttributeLists(final List<IPersonalAttributeList> attrLists) {
- if (attrLists != null) {
- this.attributeLists = attrLists;
- }
- }
-
-}
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 7653893041391541235L;
+
+ /** Response Id. */
+ private String samlId;
+
+ /** Request failed? */
+ private boolean fail;
+
+ /** Status code. */
+ private String statusCode;
+
+ /** Secondary status code. */
+ private String subStatusCode;
+
+ /** Audience restriction. */
+ private String audienceRest;
+
+ /** Error message. */
+ private String message;
+
+ /** Id of the request that originated this response. */
+ private String inResponseTo;
+
+ /** Expiration date. */
+ private DateTime notOnOrAfter;
+
+ /** Creation date. */
+ private DateTime notBefore;
+
+ /** The SAML token. */
+ private byte[] tokenSaml = new byte[0];
+
+ /** Country. */
+ private String country;
+
+ /** The complete assertion **/
+ private Assertion assertion;
+
+ /** List of all assertions in response **/
+ private List<Assertion> assertions;
+
+ /** The complete list from all assertions **/
+ private IPersonalAttributeList totalAttributeList = new PersonalAttributeList();
+
+ /** All personal attribute lists **/
+ private List<IPersonalAttributeList> attributeLists;
+
+ /** Citizen's personal attribute list. */
+ private IPersonalAttributeList attributeList = new PersonalAttributeList();
+
+ /**
+ * Logger object.
+ */
+ private static final Logger LOG = Logger.getLogger(STORKAttrQueryResponse.class.getName());
+
+ /**
+ * Getter for the subStatusCode.
+ *
+ * @return The subStatusCode value.
+ */
+ public String getSubStatusCode() {
+ return subStatusCode;
+ }
+
+ /**
+ * Setter for the subStatusCode.
+ *
+ * @param samlSubStatusCode
+ * the new subStatusCode value.
+ */
+ public void setSubStatusCode(final String samlSubStatusCode) {
+ this.subStatusCode = samlSubStatusCode;
+ }
+
+ /**
+ * Getter for audienceRest.
+ *
+ * @return The audienceRest value.
+ */
+ public String getAudienceRestriction() {
+ return audienceRest;
+ }
+
+ /**
+ * Setter for audienceRest.
+ *
+ * @param audRest
+ * the new audienceRest value.
+ */
+ public void setAudienceRestriction(final String audRest) {
+ this.audienceRest = audRest;
+ }
+
+ /**
+ * Getter for the samlToken.
+ *
+ * @return The samlToken value.
+ */
+ public byte[] getTokenSaml() {
+ return tokenSaml.clone();
+ }
+
+ /**
+ * Setter for samlToken.
+ *
+ * @param samlToken
+ * the new tokenSaml value.
+ */
+ public void setTokenSaml(final byte[] samlToken) {
+ if (samlToken != null) {
+ this.tokenSaml = samlToken.clone();
+ }
+ }
+
+ /**
+ * Getter for the country name.
+ *
+ * @return The country name value.
+ */
+ public String getCountry() {
+ return country;
+ }
+
+ /**
+ * Setter for the country name.
+ *
+ * @param cCountry
+ * the new country name value.
+ */
+ public void setCountry(final String cCountry) {
+ this.country = cCountry;
+ }
+
+ /**
+ * Getter for pal value.
+ *
+ * @return The pal value.
+ *
+ * @see PersonalAttributeList
+ */
+ public IPersonalAttributeList getPersonalAttributeList() {
+ return (IPersonalAttributeList) attributeList.clone();
+ }
+
+ /**
+ * Setter for the Personal Attribute List value.
+ *
+ * @param attrList
+ * the new value.
+ *
+ * @see PersonalAttributeList
+ */
+ public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
+ if (attrList != null) {
+ this.attributeList = attrList;
+ }
+ }
+
+ /**
+ * Getter for the inResponseTo value.
+ *
+ * @return The inResponseTo value.
+ */
+ public String getInResponseTo() {
+ return inResponseTo;
+ }
+
+ /**
+ * Setter for the inResponseTo value.
+ *
+ * @param samlInResponseTo
+ * the new inResponseTo value.
+ */
+ public void setInResponseTo(final String samlInResponseTo) {
+ this.inResponseTo = samlInResponseTo;
+ }
+
+ /**
+ * Getter for the fail value.
+ *
+ * @return The fail value.
+ */
+ public boolean isFail() {
+ return fail;
+ }
+
+ /**
+ * Setter for the fail value.
+ *
+ * @param failVal
+ * the new fail value.
+ */
+ public void setFail(final boolean failVal) {
+ this.fail = failVal;
+ }
+
+ /**
+ * Getter for the message value.
+ *
+ * @return The message value.
+ */
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * Setter for the message value.
+ *
+ * @param msg
+ * the new message value.
+ */
+ public void setMessage(final String msg) {
+ this.message = msg;
+ }
+
+ /**
+ * Getter for the statusCode value.
+ *
+ * @return The statusCode value.
+ */
+ public String getStatusCode() {
+ return statusCode;
+ }
+
+ /**
+ * Setter for the statusCode value.
+ *
+ * @param status
+ * the new statusCode value.
+ */
+ public void setStatusCode(final String status) {
+ this.statusCode = status;
+ }
+
+ /**
+ * Getter for the samlId value.
+ *
+ * @return The samlId value.
+ */
+ public String getSamlId() {
+ return samlId;
+ }
+
+ /**
+ * Setter for the samlId value.
+ *
+ * @param nSamlId
+ * the new samlId value.
+ */
+ public void setSamlId(final String nSamlId) {
+ this.samlId = nSamlId;
+ }
+
+ /**
+ * Getter for the notOnOrAfter value.
+ *
+ * @return The notOnOrAfter value.
+ *
+ * @see DateTime
+ */
+ public DateTime getNotOnOrAfter() {
+ return this.notOnOrAfter;
+ }
+
+ /**
+ * Setter for the notOnOrAfter value.
+ *
+ * @param nOnOrAfter
+ * the new notOnOrAfter value.
+ *
+ * @see DateTime
+ */
+ public void setNotOnOrAfter(final DateTime nOnOrAfter) {
+ this.notOnOrAfter = nOnOrAfter;
+ }
+
+ /**
+ * Getter for the notBefore value.
+ *
+ * @return The notBefore value.
+ *
+ * @see DateTime
+ */
+ public DateTime getNotBefore() {
+ return notBefore;
+ }
+
+ /**
+ * Setter for the notBefore value.
+ *
+ * @param nBefore
+ * the new notBefore value.
+ *
+ * @see DateTime
+ */
+ public void setNotBefore(final DateTime nBefore) {
+ this.notBefore = nBefore;
+ }
+
+ /** Get the assertion from the response **/
+ public Assertion getAssertion() {
+ return assertion;
+ }
+
+ /** Set the assertion in the response **/
+ public void setAssertion(final Assertion nAssertion) {
+ this.assertion = nAssertion;
+ }
+
+ public void setAssertions(List<Assertion> newAssert) {
+ this.assertions = newAssert;
+ }
+
+ public List<Assertion> getAssertions() {
+ return assertions;
+ }
+
+ /**
+ * Getter for the toal pal value.
+ *
+ * @return The total pal value.
+ *
+ * @see PersonalAttributeList
+ */
+ public IPersonalAttributeList getTotalPersonalAttributeList() {
+ return (IPersonalAttributeList) totalAttributeList.clone();
+ }
+
+ /**
+ * Setter for the total Personal Attribute List value.
+ *
+ * @param attrList
+ * the new value.
+ *
+ * @see PersonalAttributeList
+ */
+ public void setTotalPersonalAttributeList(final IPersonalAttributeList attrList) {
+ if (attrList != null) {
+ this.totalAttributeList = attrList;
+ }
+ }
+
+ /**
+ * Getter for personal attribute lists
+ *
+ * @return The lists
+ *
+ * @see PersonalAttributeList
+ */
+ public List<IPersonalAttributeList> getPersonalAttributeLists() {
+ return attributeLists;
+ }
+
+ /**
+ * Setter for the Personal Attribute List value.
+ *
+ * @param attrList
+ * the new value.
+ *
+ * @see PersonalAttributeList
+ */
+ public void setPersonalAttributeLists(final List<IPersonalAttributeList> attrLists) {
+ if (attrLists != null) {
+ this.attributeLists = attrLists;
+ }
+ }
+
+}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnRequest.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnRequest.java
index ea7c0e475..c3223ec40 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnRequest.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnRequest.java
@@ -18,478 +18,489 @@ import java.io.Serializable;
import org.apache.log4j.Logger;
/**
- * This class is a bean used to store the information relative to the
- * STORKAuthnRequest (SAML Token Request).
+ * This class is a bean used to store the information relative to the STORKAuthnRequest (SAML Token Request).
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.21 $, $Date: 2011-02-17 22:44:34 $
*/
public final class STORKAuthnRequest implements Serializable, Cloneable {
-
- /** The Constant serialVersionUID. */
- private static final long serialVersionUID = 4778480781609392750L;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(STORKAuthnRequest.class
- .getName());
-
- /** The samlId. */
- private String samlId;
-
- /** The assertion consumer service url. */
- private String serviceURL;
-
- /** The destination. */
- private String destination;
-
- /** The provider name. */
- private String providerName;
-
- /** The distinguished name. */
- private String distinguishedName;
-
- /** The e id sector share. */
- private boolean eIDSectorShare;
-
- /** The e id cross sector share. */
- private boolean eIDCrossSectorShare;
-
- /** The e id cross border share. */
- private boolean eIDCrossBorderShare;
-
- /** The personal attribute list. */
- private IPersonalAttributeList attributeList = new PersonalAttributeList();
-
- /** The qaa. */
- private int qaa;
-
- /** The token saml. */
- private byte[] tokenSaml = new byte[0];
-
- /** The issuer. */
- private String issuer;
-
- /** The service provider sector. */
- private String spSector;
-
- /** The service provider institution. */
- private String spInstitution;
-
- /** The service provider application. */
- private String spApplication;
-
- /** The service provider country. */
- private String spCountry;
-
- /** The country. */
- private String country;
-
- /** The citizen country code. */
- private String citizenCountry;
-
- /** The Service Provider ID. */
- private String sPID;
-
- /** The Alias used at the keystore for saving this certificate. */
- private String alias;
-
- /**
- * Gets the SP's Certificate Alias.
- *
- * @return alias The SP's Certificate Alias.
- */
- public String getAlias() {
- return alias;
- }
-
- /**
- * Sets the SP's Certificate Alias.
- *
- * @param nAlias The SP's Certificate Alias.
- */
- public void setAlias(final String nAlias) {
- this.alias = nAlias;
- }
-
- /**
- * Gets the SP ID.
- *
- * @return sPID The SP ID.
- */
- public String getSPID() {
- return sPID;
- }
-
- /**
- * Sets the SP ID.
- *
- * @param sPId The new sp samlId.
- */
- public void setSPID(final String sPId) {
- this.sPID = sPId;
- }
-
- /**
- * Gets the citizen country code.
- *
- * @return The citizen country code value.
- */
- public String getCitizenCountryCode() {
- return citizenCountry;
- }
-
- /**
- * Sets the citizen country code.
- *
- * @param countryCode the new citizen country code value.
- */
- public void setCitizenCountryCode(final String countryCode) {
- this.citizenCountry = countryCode;
- }
-
- /**
- * Gets the sp country.
- *
- * @return The sp country value.
- */
- public String getSpCountry() {
- return spCountry;
- }
-
- /**
- * Sets the sp country.
- *
- * @param sPCountry the new sp country value.
- */
- public void setSpCountry(final String sPCountry) {
- this.spCountry = sPCountry;
- }
-
- /**
- * Gets the issuer.
- *
- * @return The issuer value.
- */
- public String getIssuer() {
- return issuer;
- }
-
- /**
- * Sets the issuer.
- *
- * @param samlIssuer the new issuer value.
- */
- public void setIssuer(final String samlIssuer) {
- this.issuer = samlIssuer;
- }
-
- /**
- * Gets the SAML Token.
- *
- * @return The SAML Token value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Sets the SAML Token.
- *
- * @param samlToken The new SAML Token value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Gets the country.
- *
- * @return The country value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Sets the country.
- *
- * @param nCountry the new country value.
- */
- public void setCountry(final String nCountry) {
- this.country = nCountry;
- }
-
- /**
- * Getter for the qaa value.
- *
- * @return The qaa value value.
- */
- public int getQaa() {
- return qaa;
- }
-
- /**
- * Setter for the qaa value.
- *
- * @param qaaLevel The new qaa value.
- */
- public void setQaa(final int qaaLevel) {
- this.qaa = qaaLevel;
- }
-
- /**
- * Getter for the serviceURL value.
- *
- * @return The serviceURL value.
- */
- public String getAssertionConsumerServiceURL() {
- return serviceURL;
- }
-
- /**
- * Setter for the serviceURL value.
- *
- * @param newServiceURL the assertion consumer service URL.
- */
- public void setAssertionConsumerServiceURL(final String newServiceURL) {
- this.serviceURL = newServiceURL;
- }
-
- /**
- * Getter for the destination value.
- *
- * @return The destination value.
- */
- public String getDestination() {
- return destination;
- }
-
- /**
- * Setter for the destination value.
- *
- * @param detination the new destination value.
- */
- public void setDestination(final String detination) {
- this.destination = detination;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param newSamlId the new samlId value.
- */
- public void setSamlId(final String newSamlId) {
- this.samlId = newSamlId;
- }
-
- /**
- * Getter for the providerName value.
- *
- * @return The provider name value.
- */
- public String getProviderName() {
- return providerName;
- }
-
- /**
- * Setter for the providerName value.
- *
- * @param samlProvider the provider name value.
- */
- public void setProviderName(final String samlProvider) {
- this.providerName = samlProvider;
- }
-
- /**
- * Getter for the attributeList value.
- *
- * @return The attributeList value.
- *
- * @see IPersonalAttributeList
- */
- public IPersonalAttributeList getPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) attributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the attributeList value.
- *
- * @param attrList the personal attribute list value.
- *
- * @see IPersonalAttributeList
- */
- public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.attributeList = attrList;
- }
- }
-
- /**
- * Getter for the distinguishedName value.
- *
- * @return The distinguishedName value.
- */
- public String getDistinguishedName() {
- return distinguishedName;
- }
-
- /**
- * Setter for the distinguishedName value.
- *
- * @param certDN the distinguished name value.
- */
- public void setDistinguishedName(final String certDN) {
- this.distinguishedName = certDN;
- }
-
- /**
- * Gets the service provider sector.
- *
- * @return The service provider sector value.
- */
- public String getSpSector() {
- return spSector;
- }
-
- /**
- * Sets the service provider sector.
- *
- * @param samlSPSector the new service provider sector value.
- */
- public void setSpSector(final String samlSPSector) {
- this.spSector = samlSPSector;
- }
-
- /**
- * Gets the service provider institution.
- *
- * @return The service provider institution value.
- */
- public String getSpInstitution() {
- return spInstitution;
- }
-
- /**
- * Sets the service provider institution.
- *
- * @param samlSPInst the new service provider institution value.
- */
- public void setSpInstitution(final String samlSPInst) {
- this.spInstitution = samlSPInst;
- }
-
- /**
- * Gets the service provider application.
- *
- * @return The service provider application value.
- */
- public String getSpApplication() {
- return spApplication;
- }
-
- /**
- * Sets the service provider application.
- *
- * @param samlSPApp the new service provider application value.
- */
- public void setSpApplication(final String samlSPApp) {
- this.spApplication = samlSPApp;
- }
-
- /**
- * Checks if is eId sector share.
- *
- * @return true, if is eId sector share.
- */
- public boolean isEIDSectorShare() {
- return eIDSectorShare;
- }
-
- /**
- * Sets the eId sector share.
- *
- * @param eIdSectorShare the new eId sector share value.
- */
- public void setEIDSectorShare(final boolean eIdSectorShare) {
- this.eIDSectorShare = eIdSectorShare;
- }
-
- /**
- * Checks if is eId cross sector share.
- *
- * @return true, if is eId cross sector share.
- */
- public boolean isEIDCrossSectorShare() {
- return eIDCrossSectorShare;
- }
-
- /**
- * Sets the eId cross sector share.
- *
- * @param eIdCrossSectorShare the new eId cross sector share value.
- */
- public void setEIDCrossSectorShare(final boolean eIdCrossSectorShare) {
- this.eIDCrossSectorShare = eIdCrossSectorShare;
- }
-
- /**
- * Checks if is eId cross border share.
- *
- * @return true, if is eId cross border share.
- */
- public boolean isEIDCrossBorderShare() {
- return eIDCrossBorderShare;
- }
-
- /**
- * Sets the eId cross border share.
- *
- * @param eIdCrossBorderShare the new eId cross border share value.
- */
- public void setEIDCrossBorderShare(final boolean eIdCrossBorderShare) {
- this.eIDCrossBorderShare = eIdCrossBorderShare;
- }
-
- /**
- * Returns a copy of this <tt>STORKAuthnRequest</tt> instance.
- *
- * @return The copy of this STORKAuthnRequest.
- * @throws CloneNotSupportedException on clone exception
- */
- @Override
- public Object clone() throws CloneNotSupportedException{
- STORKAuthnRequest storkAuthnReq = null;
- try {
- storkAuthnReq = (STORKAuthnRequest) super.clone();
- storkAuthnReq.setPersonalAttributeList(getPersonalAttributeList());
- storkAuthnReq.setTokenSaml(getTokenSaml());
- } catch (final CloneNotSupportedException e) {
- // assert false;
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
-
- return storkAuthnReq;
- }
-
+
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 4778480781609392750L;
+
+ /**
+ * Logger object.
+ */
+ private static final Logger LOG = Logger.getLogger(STORKAuthnRequest.class.getName());
+
+ /** The samlId. */
+ private String samlId;
+
+ /** The assertion consumer service url. */
+ private String serviceURL;
+
+ /** The destination. */
+ private String destination;
+
+ /** The provider name. */
+ private String providerName;
+
+ /** The distinguished name. */
+ private String distinguishedName;
+
+ /** The e id sector share. */
+ private boolean eIDSectorShare;
+
+ /** The e id cross sector share. */
+ private boolean eIDCrossSectorShare;
+
+ /** The e id cross border share. */
+ private boolean eIDCrossBorderShare;
+
+ /** The personal attribute list. */
+ private IPersonalAttributeList attributeList = new PersonalAttributeList();
+
+ /** The qaa. */
+ private int qaa;
+
+ /** The token saml. */
+ private byte[] tokenSaml = new byte[0];
+
+ /** The issuer. */
+ private String issuer;
+
+ /** The service provider sector. */
+ private String spSector;
+
+ /** The service provider institution. */
+ private String spInstitution;
+
+ /** The service provider application. */
+ private String spApplication;
+
+ /** The service provider country. */
+ private String spCountry;
+
+ /** The country. */
+ private String country;
+
+ /** The citizen country code. */
+ private String citizenCountry;
+
+ /** The Service Provider ID. */
+ private String sPID;
+
+ /** The Alias used at the keystore for saving this certificate. */
+ private String alias;
+
+ /**
+ * Gets the SP's Certificate Alias.
+ *
+ * @return alias The SP's Certificate Alias.
+ */
+ public String getAlias() {
+ return alias;
+ }
+
+ /**
+ * Sets the SP's Certificate Alias.
+ *
+ * @param nAlias
+ * The SP's Certificate Alias.
+ */
+ public void setAlias(final String nAlias) {
+ this.alias = nAlias;
+ }
+
+ /**
+ * Gets the SP ID.
+ *
+ * @return sPID The SP ID.
+ */
+ public String getSPID() {
+ return sPID;
+ }
+
+ /**
+ * Sets the SP ID.
+ *
+ * @param sPId
+ * The new sp samlId.
+ */
+ public void setSPID(final String sPId) {
+ this.sPID = sPId;
+ }
+
+ /**
+ * Gets the citizen country code.
+ *
+ * @return The citizen country code value.
+ */
+ public String getCitizenCountryCode() {
+ return citizenCountry;
+ }
+
+ /**
+ * Sets the citizen country code.
+ *
+ * @param countryCode
+ * the new citizen country code value.
+ */
+ public void setCitizenCountryCode(final String countryCode) {
+ this.citizenCountry = countryCode;
+ }
+
+ /**
+ * Gets the sp country.
+ *
+ * @return The sp country value.
+ */
+ public String getSpCountry() {
+ return spCountry;
+ }
+
+ /**
+ * Sets the sp country.
+ *
+ * @param sPCountry
+ * the new sp country value.
+ */
+ public void setSpCountry(final String sPCountry) {
+ this.spCountry = sPCountry;
+ }
+
+ /**
+ * Gets the issuer.
+ *
+ * @return The issuer value.
+ */
+ public String getIssuer() {
+ return issuer;
+ }
+
+ /**
+ * Sets the issuer.
+ *
+ * @param samlIssuer
+ * the new issuer value.
+ */
+ public void setIssuer(final String samlIssuer) {
+ this.issuer = samlIssuer;
+ }
+
+ /**
+ * Gets the SAML Token.
+ *
+ * @return The SAML Token value.
+ */
+ public byte[] getTokenSaml() {
+ return tokenSaml.clone();
+ }
+
+ /**
+ * Sets the SAML Token.
+ *
+ * @param samlToken
+ * The new SAML Token value.
+ */
+ public void setTokenSaml(final byte[] samlToken) {
+ if (samlToken != null) {
+ this.tokenSaml = samlToken.clone();
+ }
+ }
+
+ /**
+ * Gets the country.
+ *
+ * @return The country value.
+ */
+ public String getCountry() {
+ return country;
+ }
+
+ /**
+ * Sets the country.
+ *
+ * @param nCountry
+ * the new country value.
+ */
+ public void setCountry(final String nCountry) {
+ this.country = nCountry;
+ }
+
+ /**
+ * Getter for the qaa value.
+ *
+ * @return The qaa value value.
+ */
+ public int getQaa() {
+ return qaa;
+ }
+
+ /**
+ * Setter for the qaa value.
+ *
+ * @param qaaLevel
+ * The new qaa value.
+ */
+ public void setQaa(final int qaaLevel) {
+ this.qaa = qaaLevel;
+ }
+
+ /**
+ * Getter for the serviceURL value.
+ *
+ * @return The serviceURL value.
+ */
+ public String getAssertionConsumerServiceURL() {
+ return serviceURL;
+ }
+
+ /**
+ * Setter for the serviceURL value.
+ *
+ * @param newServiceURL
+ * the assertion consumer service URL.
+ */
+ public void setAssertionConsumerServiceURL(final String newServiceURL) {
+ this.serviceURL = newServiceURL;
+ }
+
+ /**
+ * Getter for the destination value.
+ *
+ * @return The destination value.
+ */
+ public String getDestination() {
+ return destination;
+ }
+
+ /**
+ * Setter for the destination value.
+ *
+ * @param detination
+ * the new destination value.
+ */
+ public void setDestination(final String detination) {
+ this.destination = detination;
+ }
+
+ /**
+ * Getter for the samlId value.
+ *
+ * @return The samlId value.
+ */
+ public String getSamlId() {
+ return samlId;
+ }
+
+ /**
+ * Setter for the samlId value.
+ *
+ * @param newSamlId
+ * the new samlId value.
+ */
+ public void setSamlId(final String newSamlId) {
+ this.samlId = newSamlId;
+ }
+
+ /**
+ * Getter for the providerName value.
+ *
+ * @return The provider name value.
+ */
+ public String getProviderName() {
+ return providerName;
+ }
+
+ /**
+ * Setter for the providerName value.
+ *
+ * @param samlProvider
+ * the provider name value.
+ */
+ public void setProviderName(final String samlProvider) {
+ this.providerName = samlProvider;
+ }
+
+ /**
+ * Getter for the attributeList value.
+ *
+ * @return The attributeList value.
+ *
+ * @see IPersonalAttributeList
+ */
+ public IPersonalAttributeList getPersonalAttributeList() {
+ return (IPersonalAttributeList) attributeList.clone();
+ }
+
+ /**
+ * Setter for the attributeList value.
+ *
+ * @param attrList
+ * the personal attribute list value.
+ *
+ * @see IPersonalAttributeList
+ */
+ public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
+ if (attrList != null) {
+ this.attributeList = attrList;
+ }
+ }
+
+ /**
+ * Getter for the distinguishedName value.
+ *
+ * @return The distinguishedName value.
+ */
+ public String getDistinguishedName() {
+ return distinguishedName;
+ }
+
+ /**
+ * Setter for the distinguishedName value.
+ *
+ * @param certDN
+ * the distinguished name value.
+ */
+ public void setDistinguishedName(final String certDN) {
+ this.distinguishedName = certDN;
+ }
+
+ /**
+ * Gets the service provider sector.
+ *
+ * @return The service provider sector value.
+ */
+ public String getSpSector() {
+ return spSector;
+ }
+
+ /**
+ * Sets the service provider sector.
+ *
+ * @param samlSPSector
+ * the new service provider sector value.
+ */
+ public void setSpSector(final String samlSPSector) {
+ this.spSector = samlSPSector;
+ }
+
+ /**
+ * Gets the service provider institution.
+ *
+ * @return The service provider institution value.
+ */
+ public String getSpInstitution() {
+ return spInstitution;
+ }
+
+ /**
+ * Sets the service provider institution.
+ *
+ * @param samlSPInst
+ * the new service provider institution value.
+ */
+ public void setSpInstitution(final String samlSPInst) {
+ this.spInstitution = samlSPInst;
+ }
+
+ /**
+ * Gets the service provider application.
+ *
+ * @return The service provider application value.
+ */
+ public String getSpApplication() {
+ return spApplication;
+ }
+
+ /**
+ * Sets the service provider application.
+ *
+ * @param samlSPApp
+ * the new service provider application value.
+ */
+ public void setSpApplication(final String samlSPApp) {
+ this.spApplication = samlSPApp;
+ }
+
+ /**
+ * Checks if is eId sector share.
+ *
+ * @return true, if is eId sector share.
+ */
+ public boolean isEIDSectorShare() {
+ return eIDSectorShare;
+ }
+
+ /**
+ * Sets the eId sector share.
+ *
+ * @param eIdSectorShare
+ * the new eId sector share value.
+ */
+ public void setEIDSectorShare(final boolean eIdSectorShare) {
+ this.eIDSectorShare = eIdSectorShare;
+ }
+
+ /**
+ * Checks if is eId cross sector share.
+ *
+ * @return true, if is eId cross sector share.
+ */
+ public boolean isEIDCrossSectorShare() {
+ return eIDCrossSectorShare;
+ }
+
+ /**
+ * Sets the eId cross sector share.
+ *
+ * @param eIdCrossSectorShare
+ * the new eId cross sector share value.
+ */
+ public void setEIDCrossSectorShare(final boolean eIdCrossSectorShare) {
+ this.eIDCrossSectorShare = eIdCrossSectorShare;
+ }
+
+ /**
+ * Checks if is eId cross border share.
+ *
+ * @return true, if is eId cross border share.
+ */
+ public boolean isEIDCrossBorderShare() {
+ return eIDCrossBorderShare;
+ }
+
+ /**
+ * Sets the eId cross border share.
+ *
+ * @param eIdCrossBorderShare
+ * the new eId cross border share value.
+ */
+ public void setEIDCrossBorderShare(final boolean eIdCrossBorderShare) {
+ this.eIDCrossBorderShare = eIdCrossBorderShare;
+ }
+
+ /**
+ * Returns a copy of this <tt>STORKAuthnRequest</tt> instance.
+ *
+ * @return The copy of this STORKAuthnRequest.
+ * @throws CloneNotSupportedException
+ * on clone exception
+ */
+ @Override
+ public Object clone() throws CloneNotSupportedException {
+ STORKAuthnRequest storkAuthnReq = null;
+ try {
+ storkAuthnReq = (STORKAuthnRequest) super.clone();
+ storkAuthnReq.setPersonalAttributeList(getPersonalAttributeList());
+ storkAuthnReq.setTokenSaml(getTokenSaml());
+ } catch (final CloneNotSupportedException e) {
+ // assert false;
+ LOG.trace("[PersonalAttribute] Nothing to do.");
+ }
+
+ return storkAuthnReq;
+ }
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnResponse.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnResponse.java
index 62a5343ec..32bfd0df0 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnResponse.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKAuthnResponse.java
@@ -14,6 +14,7 @@
package eu.stork.peps.auth.commons;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
@@ -21,367 +22,384 @@ import org.joda.time.DateTime;
import org.opensaml.saml2.core.Assertion;
/**
- * This class is a bean used to store the information relative to the
- * STORKAuthnResponse.
+ * This class is a bean used to store the information relative to the STORKAuthnResponse.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.15 $, $Date: 2010-11-17 05:15:28 $
*/
-public final class STORKAuthnResponse implements Serializable {
-
- /** The Constant serialVersionUID. */
- private static final long serialVersionUID = -9100982727074068660L;
-
- /** Response Id. */
- private String samlId;
-
- /** Authentication failed? */
- private boolean fail;
-
- /** Status code. */
- private String statusCode;
-
- /** Secondary status code. */
- private String subStatusCode;
-
- /** Audience restriction. */
- private String audienceRest;
-
- /** Error message. */
- private String message;
-
- /** Id of the request that originated this response. */
- private String inResponseTo;
-
- /** Expiration date. */
- private DateTime notOnOrAfter;
-
- /** Creation date. */
- private DateTime notBefore;
-
- /** The SAML token. */
- private byte[] tokenSaml = new byte[0];
-
- /** Country. */
- private String country;
-
- /** Citizen's personal attribute list. */
- private IPersonalAttributeList attributeList = new PersonalAttributeList();
-
- /** List of all assertions in response **/
- private List<Assertion> assertions;
-
- /** The complete list from all assertions **/
- private IPersonalAttributeList totalAttributeList = new PersonalAttributeList();
-
- /** All personal attribute lists **/
- private List<IPersonalAttributeList> attributeLists;
-
- /**
- * Logger object.
- */
- private static final Logger LOG = Logger.getLogger(STORKAuthnResponse.class.getName());
-
- /**
- * Getter for the subStatusCode.
- *
- * @return The subStatusCode value.
- */
- public String getSubStatusCode() {
- return subStatusCode;
- }
-
- /**
- * Setter for the subStatusCode.
- *
- * @param samlSubStatusCode the new subStatusCode value.
- */
- public void setSubStatusCode(final String samlSubStatusCode) {
- this.subStatusCode = samlSubStatusCode;
- }
-
- /**
- * Getter for audienceRest.
- *
- * @return The audienceRest value.
- */
- public String getAudienceRestriction() {
- return audienceRest;
- }
-
- /**
- * Setter for audienceRest.
- *
- * @param audRest the new audienceRest value.
- */
- public void setAudienceRestriction(final String audRest) {
- this.audienceRest = audRest;
- }
-
- /**
- * Getter for the samlToken.
- *
- * @return The samlToken value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Setter for samlToken.
- *
- * @param samlToken the new tokenSaml value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Getter for the country name.
- *
- * @return The country name value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Setter for the country name.
- *
- * @param cCountry the new country name value.
- */
- public void setCountry(final String cCountry) {
- this.country = cCountry;
- }
-
- /**
- * Getter for pal value.
- *
- * @return The pal value.
- *
- * @see PersonalAttributeList
- */
- public IPersonalAttributeList getPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) attributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.attributeList = attrList;
- }
- }
-
- /**
- * Getter for the inResponseTo value.
- *
- * @return The inResponseTo value.
- */
- public String getInResponseTo() {
- return inResponseTo;
- }
-
- /**
- * Setter for the inResponseTo value.
- *
- * @param samlInResponseTo the new inResponseTo value.
- */
- public void setInResponseTo(final String samlInResponseTo) {
- this.inResponseTo = samlInResponseTo;
- }
-
- /**
- * Getter for the fail value.
- *
- * @return The fail value.
- */
- public boolean isFail() {
- return fail;
- }
-
- /**
- * Setter for the fail value.
- *
- * @param failVal the new fail value.
- */
- public void setFail(final boolean failVal) {
- this.fail = failVal;
- }
-
- /**
- * Getter for the message value.
- *
- * @return The message value.
- */
- public String getMessage() {
- return message;
- }
-
- /**
- * Setter for the message value.
- *
- * @param msg the new message value.
- */
- public void setMessage(final String msg) {
- this.message = msg;
- }
-
- /**
- * Getter for the statusCode value.
- *
- * @return The statusCode value.
- */
- public String getStatusCode() {
- return statusCode;
- }
-
- /**
- * Setter for the statusCode value.
- *
- * @param status the new statusCode value.
- */
- public void setStatusCode(final String status) {
- this.statusCode = status;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param nSamlId the new samlId value.
- */
- public void setSamlId(final String nSamlId) {
- this.samlId = nSamlId;
- }
-
- /**
- * Getter for the notOnOrAfter value.
- *
- * @return The notOnOrAfter value.
- *
- * @see DateTime
- */
- public DateTime getNotOnOrAfter() {
- return this.notOnOrAfter;
- }
-
- /**
- * Setter for the notOnOrAfter value.
- *
- * @param nOnOrAfter the new notOnOrAfter value.
- *
- * @see DateTime
- */
- public void setNotOnOrAfter(final DateTime nOnOrAfter) {
- this.notOnOrAfter = nOnOrAfter;
- }
-
- /**
- * Getter for the notBefore value.
- *
- * @return The notBefore value.
- *
- * @see DateTime
- */
- public DateTime getNotBefore() {
- return notBefore;
- }
-
- /**
- * Setter for the notBefore value.
- *
- * @param nBefore the new notBefore value.
- *
- * @see DateTime
- */
- public void setNotBefore(final DateTime nBefore) {
- this.notBefore = nBefore;
- }
-
- public void setAssertions(List<Assertion> newAssert) {
- this.assertions = newAssert;
- }
-
- public List<Assertion> getAssertions() {
- return assertions;
- }
-
- /**
- * Getter for the toal pal value.
- *
- * @return The total pal value.
- *
- * @see PersonalAttributeList
- */
- public IPersonalAttributeList getTotalPersonalAttributeList() {
- IPersonalAttributeList personnalAttributeList = null;
- try {
- personnalAttributeList = (IPersonalAttributeList) totalAttributeList.clone();
- } catch (CloneNotSupportedException e1) {
- LOG.trace("[PersonalAttribute] Nothing to do.");
- }
- return personnalAttributeList;
- }
-
- /**
- * Setter for the total Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setTotalPersonalAttributeList(final IPersonalAttributeList attrList) {
- if (attrList != null) {
- this.totalAttributeList = attrList;
- }
- }
-
- /**
- * Getter for personal attribute lists
- *
- * @return The lists
- *
- * @see PersonalAttributeList
- */
- public List<IPersonalAttributeList> getPersonalAttributeLists() {
- return attributeLists;
- }
-
- /**
- * Setter for the Personal Attribute List value.
- *
- * @param attrList the new value.
- *
- * @see PersonalAttributeList
- */
- public void setPersonalAttributeLists(final List<IPersonalAttributeList> attrLists) {
- if (attrLists != null) {
- this.attributeLists = attrLists;
- }
- }
-
+public final class STORKAuthnResponse implements Serializable, Cloneable {
+
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = -9100982727074068660L;
+
+ /** Response Id. */
+ private String samlId;
+
+ /** Authentication failed? */
+ private boolean fail;
+
+ /** Status code. */
+ private String statusCode;
+
+ /** Secondary status code. */
+ private String subStatusCode;
+
+ /** Audience restriction. */
+ private String audienceRest;
+
+ /** Error message. */
+ private String message;
+
+ /** Id of the request that originated this response. */
+ private String inResponseTo;
+
+ /** Expiration date. */
+ private DateTime notOnOrAfter;
+
+ /** Creation date. */
+ private DateTime notBefore;
+
+ /** The SAML token. */
+ private byte[] tokenSaml = new byte[0];
+
+ /** Country. */
+ private String country;
+
+ /** Citizen's personal attribute list. */
+ private IPersonalAttributeList attributeList = new PersonalAttributeList();
+
+ /** List of all assertions in response **/
+ private List<Assertion> assertions;
+
+ /** The complete list from all assertions **/
+ private IPersonalAttributeList totalAttributeList = new PersonalAttributeList();
+
+ /** All personal attribute lists **/
+ private List<IPersonalAttributeList> attributeLists;
+
+ /**
+ * Logger object.
+ */
+ private static final Logger LOG = Logger.getLogger(STORKAuthnResponse.class.getName());
+
+ /**
+ * Getter for the subStatusCode.
+ *
+ * @return The subStatusCode value.
+ */
+ public String getSubStatusCode() {
+ return subStatusCode;
+ }
+
+ /**
+ * Setter for the subStatusCode.
+ *
+ * @param samlSubStatusCode
+ * the new subStatusCode value.
+ */
+ public void setSubStatusCode(final String samlSubStatusCode) {
+ this.subStatusCode = samlSubStatusCode;
+ }
+
+ /**
+ * Getter for audienceRest.
+ *
+ * @return The audienceRest value.
+ */
+ public String getAudienceRestriction() {
+ return audienceRest;
+ }
+
+ /**
+ * Setter for audienceRest.
+ *
+ * @param audRest
+ * the new audienceRest value.
+ */
+ public void setAudienceRestriction(final String audRest) {
+ this.audienceRest = audRest;
+ }
+
+ /**
+ * Getter for the samlToken.
+ *
+ * @return The samlToken value.
+ */
+ public byte[] getTokenSaml() {
+ return tokenSaml.clone();
+ }
+
+ /**
+ * Setter for samlToken.
+ *
+ * @param samlToken
+ * the new tokenSaml value.
+ */
+ public void setTokenSaml(final byte[] samlToken) {
+ if (samlToken != null) {
+ this.tokenSaml = samlToken.clone();
+ }
+ }
+
+ /**
+ * Getter for the country name.
+ *
+ * @return The country name value.
+ */
+ public String getCountry() {
+ return country;
+ }
+
+ /**
+ * Setter for the country name.
+ *
+ * @param cCountry
+ * the new country name value.
+ */
+ public void setCountry(final String cCountry) {
+ this.country = cCountry;
+ }
+
+ /**
+ * Getter for pal value.
+ *
+ * @return The pal value.
+ *
+ * @see PersonalAttributeList
+ */
+ public IPersonalAttributeList getPersonalAttributeList() {
+ return (IPersonalAttributeList) attributeList.clone();
+ }
+
+ /**
+ * Setter for the Personal Attribute List value.
+ *
+ * @param attrList
+ * the new value.
+ *
+ * @see PersonalAttributeList
+ */
+ public void setPersonalAttributeList(final IPersonalAttributeList attrList) {
+ if (attrList != null) {
+ this.attributeList = attrList;
+ }
+ }
+
+ /**
+ * Getter for the inResponseTo value.
+ *
+ * @return The inResponseTo value.
+ */
+ public String getInResponseTo() {
+ return inResponseTo;
+ }
+
+ /**
+ * Setter for the inResponseTo value.
+ *
+ * @param samlInResponseTo
+ * the new inResponseTo value.
+ */
+ public void setInResponseTo(final String samlInResponseTo) {
+ this.inResponseTo = samlInResponseTo;
+ }
+
+ /**
+ * Getter for the fail value.
+ *
+ * @return The fail value.
+ */
+ public boolean isFail() {
+ return fail;
+ }
+
+ /**
+ * Setter for the fail value.
+ *
+ * @param failVal
+ * the new fail value.
+ */
+ public void setFail(final boolean failVal) {
+ this.fail = failVal;
+ }
+
+ /**
+ * Getter for the message value.
+ *
+ * @return The message value.
+ */
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * Setter for the message value.
+ *
+ * @param msg
+ * the new message value.
+ */
+ public void setMessage(final String msg) {
+ this.message = msg;
+ }
+
+ /**
+ * Getter for the statusCode value.
+ *
+ * @return The statusCode value.
+ */
+ public String getStatusCode() {
+ return statusCode;
+ }
+
+ /**
+ * Setter for the statusCode value.
+ *
+ * @param status
+ * the new statusCode value.
+ */
+ public void setStatusCode(final String status) {
+ this.statusCode = status;
+ }
+
+ /**
+ * Getter for the samlId value.
+ *
+ * @return The samlId value.
+ */
+ public String getSamlId() {
+ return samlId;
+ }
+
+ /**
+ * Setter for the samlId value.
+ *
+ * @param nSamlId
+ * the new samlId value.
+ */
+ public void setSamlId(final String nSamlId) {
+ this.samlId = nSamlId;
+ }
+
+ /**
+ * Getter for the notOnOrAfter value.
+ *
+ * @return The notOnOrAfter value.
+ *
+ * @see DateTime
+ */
+ public DateTime getNotOnOrAfter() {
+ return this.notOnOrAfter;
+ }
+
+ /**
+ * Setter for the notOnOrAfter value.
+ *
+ * @param nOnOrAfter
+ * the new notOnOrAfter value.
+ *
+ * @see DateTime
+ */
+ public void setNotOnOrAfter(final DateTime nOnOrAfter) {
+ this.notOnOrAfter = nOnOrAfter;
+ }
+
+ /**
+ * Getter for the notBefore value.
+ *
+ * @return The notBefore value.
+ *
+ * @see DateTime
+ */
+ public DateTime getNotBefore() {
+ return notBefore;
+ }
+
+ /**
+ * Setter for the notBefore value.
+ *
+ * @param nBefore
+ * the new notBefore value.
+ *
+ * @see DateTime
+ */
+ public void setNotBefore(final DateTime nBefore) {
+ this.notBefore = nBefore;
+ }
+
+ public void setAssertions(List<Assertion> newAssert) {
+ this.assertions = newAssert;
+ }
+
+ public List<Assertion> getAssertions() {
+ return assertions;
+ }
+
+ /**
+ * Getter for the toal pal value.
+ *
+ * @return The total pal value.
+ *
+ * @see PersonalAttributeList
+ */
+ public IPersonalAttributeList getTotalPersonalAttributeList() {
+ return (IPersonalAttributeList) totalAttributeList.clone();
+ }
+
+ public List<PersonalAttribute> getNormalizedPersonalAttributeList() {
+ List<PersonalAttribute> returnAttrList = new ArrayList<PersonalAttribute>();
+
+ if (this.totalAttributeList.isEmpty()) {
+ this.totalAttributeList = this.attributeList;
+ }
+
+ for (PersonalAttribute pa : this.totalAttributeList) {
+ // Get the shortname of the attribute by removing
+ // the attached assertionId, if there is one and
+ // put the shortname as the attribute name
+ pa.setName(pa.getName().split("_")[0]);
+ // We add it to the return list.
+ returnAttrList.add(pa);
+ }
+ return returnAttrList;
+ }
+
+ /**
+ * Setter for the total Personal Attribute List value.
+ *
+ * @param attrList
+ * the new value.
+ *
+ * @see PersonalAttributeList
+ */
+ public void setTotalPersonalAttributeList(final IPersonalAttributeList attrList) {
+ if (attrList != null) {
+ this.totalAttributeList = attrList;
+ }
+ }
+
+ /**
+ * Getter for personal attribute lists
+ *
+ * @return The lists
+ *
+ * @see PersonalAttributeList
+ */
+ public List<IPersonalAttributeList> getPersonalAttributeLists() {
+ return attributeLists;
+ }
+
+ /**
+ * Setter for the Personal Attribute List value.
+ *
+ * @param attrList
+ * the new value.
+ *
+ * @see PersonalAttributeList
+ */
+ public void setPersonalAttributeLists(final List<IPersonalAttributeList> attrLists) {
+ if (attrLists != null) {
+ this.attributeLists = attrLists;
+ }
+ }
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutRequest.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutRequest.java
index 44811aee2..acb70d365 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutRequest.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutRequest.java
@@ -4,194 +4,202 @@ import java.io.Serializable;
public class STORKLogoutRequest implements Serializable, Cloneable {
private static final long serialVersionUID = 4778480781609392750L;
-
- /** The samlId. */
- private String samlId;
-
- /** The destination. */
- private String destination;
-
- /** The distinguished name. */
- private String distinguishedName;
-
- /** The qaa. */
- private int qaa;
-
- /** The token saml. */
- private byte[] tokenSaml = new byte[0];
-
- /** The issuer. */
- private String issuer;
-
- /** The country. */
- private String country;
-
- /** The Alias used at the keystore for saving this certificate. */
- private String alias;
-
- /** The ID of principal as known to SP **/
- private String spProvidedId;
-
- /**
- * Gets the SP's Certificate Alias.
- *
- * @return alias The SP's Certificate Alias.
- */
- public String getAlias() {
- return alias;
- }
-
- /**
- * Sets the SP's Certificate Alias.
- *
- * @param nAlias The SP's Certificate Alias.
- */
- public void setAlias(final String nAlias) {
- this.alias = nAlias;
- }
-
- /**
- * Gets the issuer.
- *
- * @return The issuer value.
- */
- public String getIssuer() {
- return issuer;
- }
-
- /**
- * Sets the issuer.
- *
- * @param samlIssuer the new issuer value.
- */
- public void setIssuer(final String samlIssuer) {
- this.issuer = samlIssuer;
- }
-
- /**
- * Gets the SAML Token.
- *
- * @return The SAML Token value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Sets the SAML Token.
- *
- * @param samlToken The new SAML Token value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Gets the country.
- *
- * @return The country value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Sets the country.
- *
- * @param nCountry the new country value.
- */
- public void setCountry(final String nCountry) {
- this.country = nCountry;
- }
-
- /**
- * Getter for the qaa value.
- *
- * @return The qaa value value.
- */
- public int getQaa() {
- return qaa;
- }
-
- /**
- * Setter for the qaa value.
- *
- * @param qaaLevel The new qaa value.
- */
- public void setQaa(final int qaaLevel) {
- this.qaa = qaaLevel;
- }
-
- /**
- * Getter for the destination value.
- *
- * @return The destination value.
- */
- public String getDestination() {
- return destination;
- }
-
- /**
- * Setter for the destination value.
- *
- * @param detination the new destination value.
- */
- public void setDestination(final String detination) {
- this.destination = detination;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param newSamlId the new samlId value.
- */
- public void setSamlId(final String newSamlId) {
- this.samlId = newSamlId;
- }
-
- /**
- * Getter for the distinguishedName value.
- *
- * @return The distinguishedName value.
- */
- public String getDistinguishedName() {
- return distinguishedName;
- }
-
- /**
- * Setter for the distinguishedName value.
- *
- * @param certDN the distinguished name value.
- */
- public void setDistinguishedName(final String certDN) {
- this.distinguishedName = certDN;
- }
-
- /** Getter for spProvidedId **/
- public String getSpProvidedId() {
- return spProvidedId;
- }
-
- public void setSpProvidedId(final String nSpProvidedId) {
- this.spProvidedId = nSpProvidedId;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException{
- STORKLogoutRequest storkLogoutRequest = null;
- storkLogoutRequest = (STORKLogoutRequest) super.clone();
- storkLogoutRequest.setTokenSaml(getTokenSaml());
- return storkLogoutRequest;
- }
+
+ /** The samlId. */
+ private String samlId;
+
+ /** The destination. */
+ private String destination;
+
+ /** The distinguished name. */
+ private String distinguishedName;
+
+ /** The qaa. */
+ private int qaa;
+
+ /** The token saml. */
+ private byte[] tokenSaml = new byte[0];
+
+ /** The issuer. */
+ private String issuer;
+
+ /** The country. */
+ private String country;
+
+ /** The Alias used at the keystore for saving this certificate. */
+ private String alias;
+
+ /** The ID of principal as known to SP **/
+ private String spProvidedId;
+
+ /**
+ * Gets the SP's Certificate Alias.
+ *
+ * @return alias The SP's Certificate Alias.
+ */
+ public String getAlias() {
+ return alias;
+ }
+
+ /**
+ * Sets the SP's Certificate Alias.
+ *
+ * @param nAlias
+ * The SP's Certificate Alias.
+ */
+ public void setAlias(final String nAlias) {
+ this.alias = nAlias;
+ }
+
+ /**
+ * Gets the issuer.
+ *
+ * @return The issuer value.
+ */
+ public String getIssuer() {
+ return issuer;
+ }
+
+ /**
+ * Sets the issuer.
+ *
+ * @param samlIssuer
+ * the new issuer value.
+ */
+ public void setIssuer(final String samlIssuer) {
+ this.issuer = samlIssuer;
+ }
+
+ /**
+ * Gets the SAML Token.
+ *
+ * @return The SAML Token value.
+ */
+ public byte[] getTokenSaml() {
+ return tokenSaml.clone();
+ }
+
+ /**
+ * Sets the SAML Token.
+ *
+ * @param samlToken
+ * The new SAML Token value.
+ */
+ public void setTokenSaml(final byte[] samlToken) {
+ if (samlToken != null) {
+ this.tokenSaml = samlToken.clone();
+ }
+ }
+
+ /**
+ * Gets the country.
+ *
+ * @return The country value.
+ */
+ public String getCountry() {
+ return country;
+ }
+
+ /**
+ * Sets the country.
+ *
+ * @param nCountry
+ * the new country value.
+ */
+ public void setCountry(final String nCountry) {
+ this.country = nCountry;
+ }
+
+ /**
+ * Getter for the qaa value.
+ *
+ * @return The qaa value value.
+ */
+ public int getQaa() {
+ return qaa;
+ }
+
+ /**
+ * Setter for the qaa value.
+ *
+ * @param qaaLevel
+ * The new qaa value.
+ */
+ public void setQaa(final int qaaLevel) {
+ this.qaa = qaaLevel;
+ }
+
+ /**
+ * Getter for the destination value.
+ *
+ * @return The destination value.
+ */
+ public String getDestination() {
+ return destination;
+ }
+
+ /**
+ * Setter for the destination value.
+ *
+ * @param detination
+ * the new destination value.
+ */
+ public void setDestination(final String detination) {
+ this.destination = detination;
+ }
+
+ /**
+ * Getter for the samlId value.
+ *
+ * @return The samlId value.
+ */
+ public String getSamlId() {
+ return samlId;
+ }
+
+ /**
+ * Setter for the samlId value.
+ *
+ * @param newSamlId
+ * the new samlId value.
+ */
+ public void setSamlId(final String newSamlId) {
+ this.samlId = newSamlId;
+ }
+
+ /**
+ * Getter for the distinguishedName value.
+ *
+ * @return The distinguishedName value.
+ */
+ public String getDistinguishedName() {
+ return distinguishedName;
+ }
+
+ /**
+ * Setter for the distinguishedName value.
+ *
+ * @param certDN
+ * the distinguished name value.
+ */
+ public void setDistinguishedName(final String certDN) {
+ this.distinguishedName = certDN;
+ }
+
+ /** Getter for spProvidedId **/
+ public String getSpProvidedId() {
+ return spProvidedId;
+ }
+
+ public void setSpProvidedId(final String nSpProvidedId) {
+ this.spProvidedId = nSpProvidedId;
+ }
+
+ @Override
+ public Object clone() throws CloneNotSupportedException {
+ STORKLogoutRequest storkLogoutRequest = null;
+ storkLogoutRequest = (STORKLogoutRequest) super.clone();
+ storkLogoutRequest.setTokenSaml(getTokenSaml());
+ return storkLogoutRequest;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutResponse.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutResponse.java
index 21b53a652..8606b6389 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutResponse.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKLogoutResponse.java
@@ -4,247 +4,278 @@ import java.io.Serializable;
public class STORKLogoutResponse implements Serializable, Cloneable {
private static final long serialVersionUID = 4778480781609392750L;
-
- /** The samlId. */
- private String samlId;
-
- /** The destination. */
- private String destination;
-
- /** The distinguished name. */
- private String distinguishedName;
-
- /** The token saml. */
- private byte[] tokenSaml = new byte[0];
-
- /** The issuer. */
- private String issuer;
-
- /** The country. */
- private String country;
-
- /** The Alias used at the keystore for saving this certificate. */
- private String alias;
-
- /** Status code. */
- private String statusCode;
-
- /** Secondary status code. */
- private String subStatusCode;
-
- /** Status message. */
- private String statusMessage;
-
- /** Logout failed? */
- private boolean fail;
-
- /**
- * Gets the SP's Certificate Alias.
- *
- * @return alias The SP's Certificate Alias.
- */
- public String getAlias() {
- return alias;
- }
-
- /**
- * Sets the SP's Certificate Alias.
- *
- * @param nAlias The SP's Certificate Alias.
- */
- public void setAlias(final String nAlias) {
- this.alias = nAlias;
- }
-
- /**
- * Gets the issuer.
- *
- * @return The issuer value.
- */
- public String getIssuer() {
- return issuer;
- }
-
- /**
- * Sets the issuer.
- *
- * @param samlIssuer the new issuer value.
- */
- public void setIssuer(final String samlIssuer) {
- this.issuer = samlIssuer;
- }
-
- /**
- * Gets the SAML Token.
- *
- * @return The SAML Token value.
- */
- public byte[] getTokenSaml() {
- return tokenSaml.clone();
- }
-
- /**
- * Sets the SAML Token.
- *
- * @param samlToken The new SAML Token value.
- */
- public void setTokenSaml(final byte[] samlToken) {
- if (samlToken != null) {
- this.tokenSaml = samlToken.clone();
- }
- }
-
- /**
- * Gets the country.
- *
- * @return The country value.
- */
- public String getCountry() {
- return country;
- }
-
- /**
- * Sets the country.
- *
- * @param nCountry the new country value.
- */
- public void setCountry(final String nCountry) {
- this.country = nCountry;
- }
-
- /**
- * Getter for the destination value.
- *
- * @return The destination value.
- */
- public String getDestination() {
- return destination;
- }
-
- /**
- * Setter for the destination value.
- *
- * @param detination the new destination value.
- */
- public void setDestination(final String detination) {
- this.destination = detination;
- }
-
- /**
- * Getter for the samlId value.
- *
- * @return The samlId value.
- */
- public String getSamlId() {
- return samlId;
- }
-
- /**
- * Setter for the samlId value.
- *
- * @param newSamlId the new samlId value.
- */
- public void setSamlId(final String newSamlId) {
- this.samlId = newSamlId;
- }
-
- /**
- * Getter for the distinguishedName value.
- *
- * @return The distinguishedName value.
- */
- public String getDistinguishedName() {
- return distinguishedName;
- }
-
- /**
- * Setter for the distinguishedName value.
- *
- * @param certDN the distinguished name value.
- */
- public void setDistinguishedName(final String certDN) {
- this.distinguishedName = certDN;
- }
-
-
- /**
- * Getter for the fail value.
- *
- * @return The fail value.
- */
- public boolean isFail() {
- return fail;
- }
-
- /**
- * Setter for the fail value.
- *
- * @param failVal the new fail value.
- */
- public void setFail(final boolean failVal) {
- this.fail = failVal;
- }
-
- /**
- * Getter for the statusCode value.
- *
- * @return The statusCode value.
- */
- public String getStatusCode() {
- return statusCode;
- }
-
- /**
- * Getter for the subStatusCode.
- *
- * @return The subStatusCode value.
- */
- public String getSubStatusCode() {
- return subStatusCode;
- }
-
- /**
- * Setter for the subStatusCode.
- *
- * @param samlSubStatusCode the new subStatusCode value.
- */
- public void setSubStatusCode(final String samlSubStatusCode) {
- this.subStatusCode = samlSubStatusCode;
- }
-
- /**
- * Setter for the statusMessage value.
- *
- * @param status the new statusMessage value.
- */
- public void setStatusMessage(final String status) {
- this.statusMessage = status;
- }
-
- /**
- * Getter for the statusMessage value.
- *
- * @return The statusMessage value.
- */
- public String getStatusMessage() {
- return statusMessage;
- }
-
- /**
- * Setter for the statusCode value.
- *
- * @param status the new statusCode value.
- */
- public void setStatusCode(final String status) {
- this.statusCode = status;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException{
- STORKLogoutResponse storkLogoutResponse = null;
- storkLogoutResponse = (STORKLogoutResponse) super.clone();
- storkLogoutResponse.setTokenSaml(getTokenSaml());
- return storkLogoutResponse;
- }
+ /** The samlId. */
+ private String samlId;
+
+ /** The destination. */
+ private String destination;
+
+ /** The distinguished name. */
+ private String distinguishedName;
+
+ /** The token saml. */
+ private byte[] tokenSaml = new byte[0];
+
+ /** The issuer. */
+ private String issuer;
+
+ /** The country. */
+ private String country;
+
+ /** The Alias used at the keystore for saving this certificate. */
+ private String alias;
+
+ /** Status code. */
+ private String statusCode;
+
+ /** Secondary status code. */
+ private String subStatusCode;
+
+ /** Status message. */
+ private String statusMessage;
+
+ /** Logout failed? */
+ private boolean fail;
+
+ /** The inResponseTo */
+ private String inResponseTo;
+
+ /**
+ * Gets the SP's Certificate Alias.
+ *
+ * @return alias The SP's Certificate Alias.
+ */
+ public String getAlias() {
+ return alias;
+ }
+
+ /**
+ * Sets the SP's Certificate Alias.
+ *
+ * @param nAlias
+ * The SP's Certificate Alias.
+ */
+ public void setAlias(final String nAlias) {
+ this.alias = nAlias;
+ }
+
+ /**
+ * Gets the issuer.
+ *
+ * @return The issuer value.
+ */
+ public String getIssuer() {
+ return issuer;
+ }
+
+ /**
+ * Sets the issuer.
+ *
+ * @param samlIssuer
+ * the new issuer value.
+ */
+ public void setIssuer(final String samlIssuer) {
+ this.issuer = samlIssuer;
+ }
+
+ /**
+ * Gets the SAML Token.
+ *
+ * @return The SAML Token value.
+ */
+ public byte[] getTokenSaml() {
+ return tokenSaml.clone();
+ }
+
+ /**
+ * Sets the SAML Token.
+ *
+ * @param samlToken
+ * The new SAML Token value.
+ */
+ public void setTokenSaml(final byte[] samlToken) {
+ if (samlToken != null) {
+ this.tokenSaml = samlToken.clone();
+ }
+ }
+
+ /**
+ * Gets the country.
+ *
+ * @return The country value.
+ */
+ public String getCountry() {
+ return country;
+ }
+
+ /**
+ * Sets the country.
+ *
+ * @param nCountry
+ * the new country value.
+ */
+ public void setCountry(final String nCountry) {
+ this.country = nCountry;
+ }
+
+ /**
+ * Getter for the destination value.
+ *
+ * @return The destination value.
+ */
+ public String getDestination() {
+ return destination;
+ }
+
+ /**
+ * Setter for the destination value.
+ *
+ * @param detination
+ * the new destination value.
+ */
+ public void setDestination(final String detination) {
+ this.destination = detination;
+ }
+
+ /**
+ * Getter for the samlId value.
+ *
+ * @return The samlId value.
+ */
+ public String getSamlId() {
+ return samlId;
+ }
+
+ /**
+ * Setter for the samlId value.
+ *
+ * @param newSamlId
+ * the new samlId value.
+ */
+ public void setSamlId(final String newSamlId) {
+ this.samlId = newSamlId;
+ }
+
+ /**
+ * Getter for the distinguishedName value.
+ *
+ * @return The distinguishedName value.
+ */
+ public String getDistinguishedName() {
+ return distinguishedName;
+ }
+
+ /**
+ * Setter for the distinguishedName value.
+ *
+ * @param certDN
+ * the distinguished name value.
+ */
+ public void setDistinguishedName(final String certDN) {
+ this.distinguishedName = certDN;
+ }
+
+ /**
+ * Getter for the fail value.
+ *
+ * @return The fail value.
+ */
+ public boolean isFail() {
+ return fail;
+ }
+
+ /**
+ * Setter for the fail value.
+ *
+ * @param failVal
+ * the new fail value.
+ */
+ public void setFail(final boolean failVal) {
+ this.fail = failVal;
+ }
+
+ /**
+ * Getter for the statusCode value.
+ *
+ * @return The statusCode value.
+ */
+ public String getStatusCode() {
+ return statusCode;
+ }
+
+ /**
+ * Getter for the subStatusCode.
+ *
+ * @return The subStatusCode value.
+ */
+ public String getSubStatusCode() {
+ return subStatusCode;
+ }
+
+ /**
+ * Setter for the subStatusCode.
+ *
+ * @param samlSubStatusCode
+ * the new subStatusCode value.
+ */
+ public void setSubStatusCode(final String samlSubStatusCode) {
+ this.subStatusCode = samlSubStatusCode;
+ }
+
+ /**
+ * Setter for the statusMessage value.
+ *
+ * @param status
+ * the new statusMessage value.
+ */
+ public void setStatusMessage(final String status) {
+ this.statusMessage = status;
+ }
+
+ /**
+ * Getter for the statusMessage value.
+ *
+ * @return The statusMessage value.
+ */
+ public String getStatusMessage() {
+ return statusMessage;
+ }
+
+ /**
+ * Setter for the statusCode value.
+ *
+ * @param status
+ * the new statusCode value.
+ */
+ public void setStatusCode(final String status) {
+ this.statusCode = status;
+ }
+
+ @Override
+ public Object clone() throws CloneNotSupportedException {
+ STORKLogoutResponse storkLogoutResponse = null;
+ storkLogoutResponse = (STORKLogoutResponse) super.clone();
+ storkLogoutResponse.setTokenSaml(getTokenSaml());
+ return storkLogoutResponse;
+ }
+
+
+ /**
+ * Getter for the inResponseTo value.
+ *
+ * @return The inResponseTo value.
+ */
+ public String getInResponseTo() {
+ return inResponseTo;
+ }
+
+ /**
+ * Setter for the inResponseTo value.
+ *
+ * @param inResponseTo the new inResponseTo value.
+ */
+ public void setInResponseTo(String inResponseTo) {
+ this.inResponseTo = inResponseTo;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKStatusCode.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKStatusCode.java
index a9c4a156b..98781828e 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKStatusCode.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKStatusCode.java
@@ -16,53 +16,52 @@ package eu.stork.peps.auth.commons;
/**
* This enum class contains the SAML Token Status Code.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.13 $, $Date: 2010-11-17 05:15:28 $
*/
public enum STORKStatusCode {
-
- /** URI for Requester status code. */
- REQUESTER_URI("urn:oasis:names:tc:SAML:2.0:status:Requester"),
-
- /** URI for Responder status code. */
- RESPONDER_URI("urn:oasis:names:tc:SAML:2.0:status:Responder"),
-
- /** URI for Success status code. */
- SUCCESS_URI("urn:oasis:names:tc:SAML:2.0:status:Success"),
-
- /** Attribute is Available. */
- STATUS_AVAILABLE("Available"),
-
- /** Attribute is NotAvailable. */
- STATUS_NOT_AVAILABLE("NotAvailable"),
-
- /** Attribute is Withheld. */
- STATUS_WITHHELD("Withheld");
-
- /**
- * Represents the constant's value.
- */
- private String value;
-
- /**
- * Solo Constructor.
- *
- * @param val The Constant value.
- */
- private STORKStatusCode(final String val) {
-
- this.value = val;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
-
- return value;
- }
+
+ /** URI for Requester status code. */
+ REQUESTER_URI("urn:oasis:names:tc:SAML:2.0:status:Requester"),
+
+ /** URI for Responder status code. */
+ RESPONDER_URI("urn:oasis:names:tc:SAML:2.0:status:Responder"),
+
+ /** URI for Success status code. */
+ SUCCESS_URI("urn:oasis:names:tc:SAML:2.0:status:Success"),
+
+ /** Attribute is Available. */
+ STATUS_AVAILABLE("Available"),
+
+ /** Attribute is NotAvailable. */
+ STATUS_NOT_AVAILABLE("NotAvailable"),
+
+ /** Attribute is Withheld. */
+ STATUS_WITHHELD("Withheld");
+
+ /**
+ * Represents the constant's value.
+ */
+ private String value;
+
+ /**
+ * Solo Constructor.
+ *
+ * @param val
+ * The Constant value.
+ */
+ private STORKStatusCode(final String val) {
+
+ this.value = val;
+ }
+
+ /**
+ * Return the Constant Value.
+ *
+ * @return The constant value.
+ */
+ public String toString() {
+
+ return value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKSubStatusCode.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKSubStatusCode.java
index 0a711c9b7..0d5d72a0e 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKSubStatusCode.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/STORKSubStatusCode.java
@@ -16,56 +16,52 @@ package eu.stork.peps.auth.commons;
/**
* This enum class contains the SAML Token Sub Status Code.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.7 $, $Date: 2010-11-17 05:15:28 $
*/
public enum STORKSubStatusCode {
-
- /** URI for AuthnFailed status code. */
- AUTHN_FAILED_URI("urn:oasis:names:tc:SAML:2.0:status:AuthnFailed"),
-
- /** URI for InvalidAttrNameOrValue status code. */
- INVALID_ATTR_NAME_VALUE_URI(
- "urn:oasis:names:tc:SAML:2.0:status:InvalidAttrNameOrValue"),
-
- /** URI for InvalidNameIDPolicy status code. */
- INVALID_NAMEID_POLICY_URI(
- "urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy"),
-
- /** URI for VersionMismatch status code. */
- VERSION_MISMATCH_URI("urn:oasis:names:tc:SAML:2.0:status:VersionMismatch"),
-
- /** URI for RequestDenied status code. */
- REQUEST_DENIED_URI("urn:oasis:names:tc:SAML:2.0:status:RequestDenied"),
-
- /** URI for QaaNotSupported status code. */
- QAA_NOT_SUPPORTED(
- "http://www.stork.gov.eu/saml20/statusCodes/QAANotSupported");
-
- /**
- * Represents the constant's value.
- */
- private String value;
-
- /**
- * Solo Constructor.
- *
- * @param val The Constant value.
- */
- private STORKSubStatusCode(final String val) {
-
- this.value = val;
- }
-
- /**
- * Return the Constant Value.
- *
- * @return The constant value.
- */
- public String toString() {
-
- return value;
- }
+
+ /** URI for AuthnFailed status code. */
+ AUTHN_FAILED_URI("urn:oasis:names:tc:SAML:2.0:status:AuthnFailed"),
+
+ /** URI for InvalidAttrNameOrValue status code. */
+ INVALID_ATTR_NAME_VALUE_URI("urn:oasis:names:tc:SAML:2.0:status:InvalidAttrNameOrValue"),
+
+ /** URI for InvalidNameIDPolicy status code. */
+ INVALID_NAMEID_POLICY_URI("urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy"),
+
+ /** URI for VersionMismatch status code. */
+ VERSION_MISMATCH_URI("urn:oasis:names:tc:SAML:2.0:status:VersionMismatch"),
+
+ /** URI for RequestDenied status code. */
+ REQUEST_DENIED_URI("urn:oasis:names:tc:SAML:2.0:status:RequestDenied"),
+
+ /** URI for QaaNotSupported status code. */
+ QAA_NOT_SUPPORTED("http://www.stork.gov.eu/saml20/statusCodes/QAANotSupported");
+
+ /**
+ * Represents the constant's value.
+ */
+ private String value;
+
+ /**
+ * Solo Constructor.
+ *
+ * @param val
+ * The Constant value.
+ */
+ private STORKSubStatusCode(final String val) {
+
+ this.value = val;
+ }
+
+ /**
+ * Return the Constant Value.
+ *
+ * @return The constant value.
+ */
+ public String toString() {
+
+ return value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/all-wcprops b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/all-wcprops
deleted file mode 100644
index 14f05b17c..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/all-wcprops
+++ /dev/null
@@ -1,53 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 96
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions
-END
-InvalidParameterPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 131
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidParameterPEPSException.java
-END
-SecurityPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 123
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/SecurityPEPSException.java
-END
-InvalidSessionPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 129
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidSessionPEPSException.java
-END
-package-info.java
-K 25
-svn:wc:ra_dav:version-url
-V 114
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/package-info.java
-END
-CPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 116
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/CPEPSException.java
-END
-StorkPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 120
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/StorkPEPSException.java
-END
-AbstractPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 123
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/AbstractPEPSException.java
-END
-InternalErrorPEPSException.java
-K 25
-svn:wc:ra_dav:version-url
-V 128
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InternalErrorPEPSException.java
-END
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/entries b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/entries
deleted file mode 100644
index 8ca1e325f..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/entries
+++ /dev/null
@@ -1,300 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork/peps/auth/commons/exceptions
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-CPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-5d3cb4a7303baeaf2104aaa7da301b21
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3570
-
-StorkPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-fea01f750728ea5f15b449acb517f4b2
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1690
-
-AbstractPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-c9aedb030e6dbc9f002c7cd3d52cf03f
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-4422
-
-InternalErrorPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-36d8f6310e84c550f65bef78d5dc4238
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2471
-
-InvalidParameterPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-c6ad53378b03a346ca0fc48a381ed771
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1800
-
-SecurityPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-78d50b78a69cb0c630e4e14420e3b7be
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2199
-
-InvalidSessionPEPSException.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-5fd7f04ad6f6cc121084e682b2a4e678
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1555
-
-package-info.java
-file
-
-
-
-
-2013-12-20T12:27:56.626475Z
-7055c01b74382c525c7fcf110646d8fc
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-129
-
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/AbstractPEPSException.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/AbstractPEPSException.java.svn-base
deleted file mode 100644
index e9a96d7c2..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/AbstractPEPSException.java.svn-base
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-import java.io.Serializable;
-
-/**
- * Abstract class to represent the various PEPS exceptions.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.13 $, $Date: 2010-11-17 05:15:28 $
- */
-public abstract class AbstractPEPSException extends RuntimeException implements
- Serializable {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = -1884417567740138022L;
-
- /**
- * Error code.
- */
- private String errorCode;
-
- /**
- * Error message.
- */
- private String errorMessage;
-
- /**
- * SAML token.
- */
- private String samlTokenFail;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param code The error code value.
- * @param message The error message value.
- */
- public AbstractPEPSException(final String code, final String message) {
-
- super(message);
- this.errorCode = code;
- this.errorMessage = message;
- }
-
- /**
- * Exception Constructor with the errorMessage as parameters and the Throwable
- * cause.
- *
- * @param message The error message value.
- * @param cause The throwable object.
- */
- public AbstractPEPSException(final String message, final Throwable cause) {
-
- super(message, cause);
- this.errorMessage = message;
- }
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters and the Throwable cause.
- *
- * @param code The error code value.
- * @param message The error message value.
- * @param cause The throwable object.
- */
- public AbstractPEPSException(final String code, final String message,
- final Throwable cause) {
-
- super(message, cause);
- this.errorCode = code;
- this.errorMessage = message;
- }
-
- /**
- * Exception Constructor with three Strings representing the errorCode,
- * errorMessage and encoded samlToken as parameters.
- *
- * @param code The error code value.
- * @param message The error message value.
- * @param samlToken The error SAML Token.
- */
- public AbstractPEPSException(final String code, final String message,
- final String samlToken) {
-
- super(message);
- this.errorCode = code;
- this.errorMessage = message;
- this.samlTokenFail = samlToken;
- }
-
- /**
- * Constructor with SAML Token as argument. Error message and error code are
- * embedded in the SAML.
- *
- * @param samlToken The error SAML Token.
- */
- public AbstractPEPSException(final String samlToken) {
- super();
- this.samlTokenFail = samlToken;
- }
-
- /**
- * Getter for errorCode.
- *
- * @return The errorCode value.
- */
- public final String getErrorCode() {
- return errorCode;
- }
-
- /**
- * Setter for errorCode.
- *
- * @param code The error code value.
- */
- public final void setErrorCode(final String code) {
- this.errorCode = code;
- }
-
- /**
- * Getter for errorMessage.
- *
- * @return The error Message value.
- */
- public final String getErrorMessage() {
- return errorMessage;
- }
-
- /**
- * Setter for errorMessage.
- *
- * @param message The error message value.
- */
- public final void setErrorMessage(final String message) {
- this.errorMessage = message;
- }
-
- /**
- * Getter for SAMLTokenFail.
- *
- * @return The error SAML Token.
- */
- public final String getSamlTokenFail() {
- return samlTokenFail;
- }
-
- /**
- * Setter for SAMLTokenFail.
- *
- * @param samlToken The error SAML token.
- */
- public final void setSamlTokenFail(final String samlToken) {
- this.samlTokenFail = samlToken;
- }
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/CPEPSException.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/CPEPSException.java.svn-base
deleted file mode 100644
index 69cb20fdd..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/CPEPSException.java.svn-base
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-/**
- * This exception is thrown by the C-PEPS service and holds the relative
- * information to present to the citizen.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.9 $, $Date: 2010-11-17 05:15:28 $
- */
-public final class CPEPSException extends RuntimeException {
-
- /**
- * Serial id.
- */
- private static final long serialVersionUID = -4012295047127999362L;
-
- /**
- * Error code.
- */
- private String errorCode;
-
- /**
- * Error message.
- */
- private String errorMessage;
-
- /**
- * SAML token.
- */
- private String samlTokenFail;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param samlToken The SAML Token.
- * @param code The error code value.
- * @param message The error message value.
- */
- public CPEPSException(final String samlToken, final String code,
- final String message) {
-
- super(message);
- this.setErrorCode(code);
- this.setErrorMessage(message);
- this.setSamlTokenFail(samlToken);
- }
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param samlToken The SAML Token.
- * @param code The error code value.
- * @param message The error message value.
- * @param cause The original exception;
- */
- public CPEPSException(final String samlToken, final String code,
- final String message, final Throwable cause) {
-
- super(message, cause);
- this.setErrorCode(code);
- this.setErrorMessage(message);
- this.setSamlTokenFail(samlToken);
- }
-
- /**
- * {@inheritDoc}
- */
- public String getMessage() {
- return this.getErrorMessage() + " (" + this.getErrorCode() + ")";
- }
-
- /**
- * Getter for the error code.
- *
- * @return The errorCode value.
- */
- public String getErrorCode() {
- return errorCode;
- }
-
- /**
- * Setter for the error code.
- *
- * @param code The error code.
- */
- public void setErrorCode(final String code) {
- this.errorCode = code;
- }
-
- /**
- * Getter for the error message.
- *
- * @return The errorMessage value.
- */
- public String getErrorMessage() {
- return errorMessage;
- }
-
- /**
- * Setter for the error message.
- *
- * @param message The error message.
- */
- public void setErrorMessage(final String message) {
- this.errorMessage = message;
- }
-
- /**
- * Getter for the samlTokenFail.
- *
- * @return The samlTokenFail value.
- */
- public String getSamlTokenFail() {
- return samlTokenFail;
- }
-
- /**
- * Setter for the samlTokenFail.
- *
- * @param samlToken The error Saml Token.
- */
- public void setSamlTokenFail(final String samlToken) {
- this.samlTokenFail = samlToken;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InternalErrorPEPSException.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InternalErrorPEPSException.java.svn-base
deleted file mode 100644
index 67514d4fe..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InternalErrorPEPSException.java.svn-base
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-/**
- * Internal Error Exception class.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.13 $, $Date: 2010-11-17 05:15:28 $
- *
- * @see AbstractPEPSException
- */
-public final class InternalErrorPEPSException extends AbstractPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 1193001455410319795L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters and the Throwable cause.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- * @param cause The throwable object.
- */
- public InternalErrorPEPSException(final String errorCode,
- final String errorMessage, final Throwable cause) {
-
- super(errorCode, errorMessage, cause);
- }
-
- /**
- * Exception Constructor with three strings representing the errorCode,
- * errorMessage and encoded samlToken as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- * @param samlTokenFail The error SAML Token.
- */
- public InternalErrorPEPSException(final String errorCode,
- final String errorMessage, final String samlTokenFail) {
-
- super(errorCode, errorMessage, samlTokenFail);
- }
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- */
- public InternalErrorPEPSException(final String errorCode,
- final String errorMessage) {
-
- super(errorCode, errorMessage);
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidParameterPEPSException.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidParameterPEPSException.java.svn-base
deleted file mode 100644
index 12c83b589..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidParameterPEPSException.java.svn-base
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-/**
- * Invalid Parameter Exception class.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.11 $, $Date: 2010-11-17 05:15:28 $
- *
- * @see InvalidParameterPEPSException
- */
-public class InvalidParameterPEPSException extends AbstractPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 2046282148740524875L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error code message value.
- */
- public InvalidParameterPEPSException(final String errorCode,
- final String errorMessage) {
- super(errorCode, errorMessage);
- }
-
- /**
- * Exception Constructor with one String representing the encoded samlToken.
- *
- * @param samlTokenFail The error SAML Token.
- */
- public InvalidParameterPEPSException(final String samlTokenFail) {
- super(samlTokenFail);
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidSessionPEPSException.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidSessionPEPSException.java.svn-base
deleted file mode 100644
index 800525eee..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/InvalidSessionPEPSException.java.svn-base
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-/**
- * Invalid session Exception class.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.14 $, $Date: 2010-11-17 05:15:28 $
- *
- * @see InvalidParameterPEPSException
- */
-public class InvalidSessionPEPSException extends InvalidParameterPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 7147090160978319016L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- */
- public InvalidSessionPEPSException(final String errorCode,
- final String errorMessage) {
-
- super(errorCode, errorMessage);
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/SecurityPEPSException.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/SecurityPEPSException.java.svn-base
deleted file mode 100644
index fc27371d2..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/SecurityPEPSException.java.svn-base
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-/**
- * Security PEPS Exception class.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.18 $, $Date: 2010-11-17 05:15:28 $
- *
- * @see AbstractPEPSException
- */
-public final class SecurityPEPSException extends AbstractPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 5605743302478554967L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMsg The error message value.
- */
- public SecurityPEPSException(final String errorCode, final String errorMsg) {
- super(errorCode, errorMsg);
- }
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters and the Throwable cause.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- * @param cause The throwable object.
- */
- public SecurityPEPSException(final String errorCode,
- final String errorMessage, final Throwable cause) {
-
- super(errorCode, errorMessage, cause);
- }
-
- /**
- * Exception Constructor with one String representing the encoded samlToken.
- *
- * @param samlTokenFail The error SAML Token.
- */
- public SecurityPEPSException(final String samlTokenFail) {
- super(samlTokenFail);
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/StorkPEPSException.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/StorkPEPSException.java.svn-base
deleted file mode 100644
index a2da61a02..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/StorkPEPSException.java.svn-base
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.commons.exceptions;
-
-/**
- * Security PEPS Exception class.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.15 $, $Date: 2010-11-17 05:15:28 $
- *
- * @see AbstractPEPSException
- */
-public final class StorkPEPSException extends AbstractPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 8048033129798427574L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMsg The error message value.
- */
- public StorkPEPSException(final String errorCode, final String errorMsg) {
- super(errorCode, errorMsg);
- }
-
- /**
- * {@inheritDoc}
- */
- public String getMessage() {
-
- return "Security Error (" + this.getErrorCode() + ") processing request : "
- + this.getErrorMessage();
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/package-info.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/package-info.java.svn-base
deleted file mode 100644
index d83068beb..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/.svn/text-base/package-info.java.svn-base
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * Package for the PEPS’ Exceptions handling.
- *
- * @since 1.0
- */
-package eu.stork.peps.auth.commons.exceptions;
-
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/AbstractPEPSException.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/AbstractPEPSException.java
index e9a96d7c2..97b43cf67 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/AbstractPEPSException.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/AbstractPEPSException.java
@@ -18,156 +18,160 @@ import java.io.Serializable;
/**
* Abstract class to represent the various PEPS exceptions.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.13 $, $Date: 2010-11-17 05:15:28 $
*/
-public abstract class AbstractPEPSException extends RuntimeException implements
- Serializable {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = -1884417567740138022L;
-
- /**
- * Error code.
- */
- private String errorCode;
-
- /**
- * Error message.
- */
- private String errorMessage;
-
- /**
- * SAML token.
- */
- private String samlTokenFail;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param code The error code value.
- * @param message The error message value.
- */
- public AbstractPEPSException(final String code, final String message) {
-
- super(message);
- this.errorCode = code;
- this.errorMessage = message;
- }
-
- /**
- * Exception Constructor with the errorMessage as parameters and the Throwable
- * cause.
- *
- * @param message The error message value.
- * @param cause The throwable object.
- */
- public AbstractPEPSException(final String message, final Throwable cause) {
-
- super(message, cause);
- this.errorMessage = message;
- }
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters and the Throwable cause.
- *
- * @param code The error code value.
- * @param message The error message value.
- * @param cause The throwable object.
- */
- public AbstractPEPSException(final String code, final String message,
- final Throwable cause) {
-
- super(message, cause);
- this.errorCode = code;
- this.errorMessage = message;
- }
-
- /**
- * Exception Constructor with three Strings representing the errorCode,
- * errorMessage and encoded samlToken as parameters.
- *
- * @param code The error code value.
- * @param message The error message value.
- * @param samlToken The error SAML Token.
- */
- public AbstractPEPSException(final String code, final String message,
- final String samlToken) {
-
- super(message);
- this.errorCode = code;
- this.errorMessage = message;
- this.samlTokenFail = samlToken;
- }
-
- /**
- * Constructor with SAML Token as argument. Error message and error code are
- * embedded in the SAML.
- *
- * @param samlToken The error SAML Token.
- */
- public AbstractPEPSException(final String samlToken) {
- super();
- this.samlTokenFail = samlToken;
- }
-
- /**
- * Getter for errorCode.
- *
- * @return The errorCode value.
- */
- public final String getErrorCode() {
- return errorCode;
- }
-
- /**
- * Setter for errorCode.
- *
- * @param code The error code value.
- */
- public final void setErrorCode(final String code) {
- this.errorCode = code;
- }
-
- /**
- * Getter for errorMessage.
- *
- * @return The error Message value.
- */
- public final String getErrorMessage() {
- return errorMessage;
- }
-
- /**
- * Setter for errorMessage.
- *
- * @param message The error message value.
- */
- public final void setErrorMessage(final String message) {
- this.errorMessage = message;
- }
-
- /**
- * Getter for SAMLTokenFail.
- *
- * @return The error SAML Token.
- */
- public final String getSamlTokenFail() {
- return samlTokenFail;
- }
-
- /**
- * Setter for SAMLTokenFail.
- *
- * @param samlToken The error SAML token.
- */
- public final void setSamlTokenFail(final String samlToken) {
- this.samlTokenFail = samlToken;
- }
+public abstract class AbstractPEPSException extends RuntimeException implements Serializable {
+
+ /**
+ * Unique identifier.
+ */
+ private static final long serialVersionUID = -1884417567740138022L;
+
+ /**
+ * Error code.
+ */
+ private String errorCode;
+
+ /**
+ * Error message.
+ */
+ private String errorMessage;
+
+ /**
+ * SAML token.
+ */
+ private String samlTokenFail;
+
+ /**
+ * Exception Constructor with two Strings representing the errorCode and errorMessage as parameters.
+ *
+ * @param code
+ * The error code value.
+ * @param message
+ * The error message value.
+ */
+ public AbstractPEPSException(final String code, final String message) {
+
+ super(message);
+ this.errorCode = code;
+ this.errorMessage = message;
+ }
+
+ /**
+ * Exception Constructor with the errorMessage as parameters and the Throwable cause.
+ *
+ * @param message
+ * The error message value.
+ * @param cause
+ * The throwable object.
+ */
+ public AbstractPEPSException(final String message, final Throwable cause) {
+
+ super(message, cause);
+ this.errorMessage = message;
+ }
+
+ /**
+ * Exception Constructor with two Strings representing the errorCode and errorMessage as parameters and the Throwable cause.
+ *
+ * @param code
+ * The error code value.
+ * @param message
+ * The error message value.
+ * @param cause
+ * The throwable object.
+ */
+ public AbstractPEPSException(final String code, final String message, final Throwable cause) {
+
+ super(message, cause);
+ this.errorCode = code;
+ this.errorMessage = message;
+ }
+
+ /**
+ * Exception Constructor with three Strings representing the errorCode, errorMessage and encoded samlToken as parameters.
+ *
+ * @param code
+ * The error code value.
+ * @param message
+ * The error message value.
+ * @param samlToken
+ * The error SAML Token.
+ */
+ public AbstractPEPSException(final String code, final String message, final String samlToken) {
+
+ super(message);
+ this.errorCode = code;
+ this.errorMessage = message;
+ this.samlTokenFail = samlToken;
+ }
+
+ /**
+ * Constructor with SAML Token as argument. Error message and error code are embedded in the SAML.
+ *
+ * @param samlToken
+ * The error SAML Token.
+ */
+ public AbstractPEPSException(final String samlToken) {
+ super();
+ this.samlTokenFail = samlToken;
+ }
+
+ /**
+ * Getter for errorCode.
+ *
+ * @return The errorCode value.
+ */
+ public final String getErrorCode() {
+ return errorCode;
+ }
+
+ /**
+ * Setter for errorCode.
+ *
+ * @param code
+ * The error code value.
+ */
+ public final void setErrorCode(final String code) {
+ this.errorCode = code;
+ }
+
+ /**
+ * Getter for errorMessage.
+ *
+ * @return The error Message value.
+ */
+ public final String getErrorMessage() {
+ return errorMessage;
+ }
+
+ /**
+ * Setter for errorMessage.
+ *
+ * @param message
+ * The error message value.
+ */
+ public final void setErrorMessage(final String message) {
+ this.errorMessage = message;
+ }
+
+ /**
+ * Getter for SAMLTokenFail.
+ *
+ * @return The error SAML Token.
+ */
+ public final String getSamlTokenFail() {
+ return samlTokenFail;
+ }
+
+ /**
+ * Setter for SAMLTokenFail.
+ *
+ * @param samlToken
+ * The error SAML token.
+ */
+ public final void setSamlTokenFail(final String samlToken) {
+ this.samlTokenFail = samlToken;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/CPEPSException.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/CPEPSException.java
index 69cb20fdd..3479a33b8 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/CPEPSException.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/CPEPSException.java
@@ -14,130 +14,133 @@
package eu.stork.peps.auth.commons.exceptions;
/**
- * This exception is thrown by the C-PEPS service and holds the relative
- * information to present to the citizen.
+ * This exception is thrown by the C-PEPS service and holds the relative information to present to the citizen.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.9 $, $Date: 2010-11-17 05:15:28 $
*/
public final class CPEPSException extends RuntimeException {
-
- /**
- * Serial id.
- */
- private static final long serialVersionUID = -4012295047127999362L;
-
- /**
- * Error code.
- */
- private String errorCode;
-
- /**
- * Error message.
- */
- private String errorMessage;
-
- /**
- * SAML token.
- */
- private String samlTokenFail;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param samlToken The SAML Token.
- * @param code The error code value.
- * @param message The error message value.
- */
- public CPEPSException(final String samlToken, final String code,
- final String message) {
-
- super(message);
- this.setErrorCode(code);
- this.setErrorMessage(message);
- this.setSamlTokenFail(samlToken);
- }
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param samlToken The SAML Token.
- * @param code The error code value.
- * @param message The error message value.
- * @param cause The original exception;
- */
- public CPEPSException(final String samlToken, final String code,
- final String message, final Throwable cause) {
-
- super(message, cause);
- this.setErrorCode(code);
- this.setErrorMessage(message);
- this.setSamlTokenFail(samlToken);
- }
-
- /**
- * {@inheritDoc}
- */
- public String getMessage() {
- return this.getErrorMessage() + " (" + this.getErrorCode() + ")";
- }
-
- /**
- * Getter for the error code.
- *
- * @return The errorCode value.
- */
- public String getErrorCode() {
- return errorCode;
- }
-
- /**
- * Setter for the error code.
- *
- * @param code The error code.
- */
- public void setErrorCode(final String code) {
- this.errorCode = code;
- }
-
- /**
- * Getter for the error message.
- *
- * @return The errorMessage value.
- */
- public String getErrorMessage() {
- return errorMessage;
- }
-
- /**
- * Setter for the error message.
- *
- * @param message The error message.
- */
- public void setErrorMessage(final String message) {
- this.errorMessage = message;
- }
-
- /**
- * Getter for the samlTokenFail.
- *
- * @return The samlTokenFail value.
- */
- public String getSamlTokenFail() {
- return samlTokenFail;
- }
-
- /**
- * Setter for the samlTokenFail.
- *
- * @param samlToken The error Saml Token.
- */
- public void setSamlTokenFail(final String samlToken) {
- this.samlTokenFail = samlToken;
- }
-
+
+ /**
+ * Serial id.
+ */
+ private static final long serialVersionUID = -4012295047127999362L;
+
+ /**
+ * Error code.
+ */
+ private String errorCode;
+
+ /**
+ * Error message.
+ */
+ private String errorMessage;
+
+ /**
+ * SAML token.
+ */
+ private String samlTokenFail;
+
+ /**
+ * Exception Constructor with two Strings representing the errorCode and errorMessage as parameters.
+ *
+ * @param samlToken
+ * The SAML Token.
+ * @param code
+ * The error code value.
+ * @param message
+ * The error message value.
+ */
+ public CPEPSException(final String samlToken, final String code, final String message) {
+
+ super(message);
+ this.setErrorCode(code);
+ this.setErrorMessage(message);
+ this.setSamlTokenFail(samlToken);
+ }
+
+ /**
+ * Exception Constructor with two Strings representing the errorCode and errorMessage as parameters.
+ *
+ * @param samlToken
+ * The SAML Token.
+ * @param code
+ * The error code value.
+ * @param message
+ * The error message value.
+ * @param cause
+ * The original exception;
+ */
+ public CPEPSException(final String samlToken, final String code, final String message, final Throwable cause) {
+
+ super(message, cause);
+ this.setErrorCode(code);
+ this.setErrorMessage(message);
+ this.setSamlTokenFail(samlToken);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getMessage() {
+ return this.getErrorMessage() + " (" + this.getErrorCode() + ")";
+ }
+
+ /**
+ * Getter for the error code.
+ *
+ * @return The errorCode value.
+ */
+ public String getErrorCode() {
+ return errorCode;
+ }
+
+ /**
+ * Setter for the error code.
+ *
+ * @param code
+ * The error code.
+ */
+ public void setErrorCode(final String code) {
+ this.errorCode = code;
+ }
+
+ /**
+ * Getter for the error message.
+ *
+ * @return The errorMessage value.
+ */
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ /**
+ * Setter for the error message.
+ *
+ * @param message
+ * The error message.
+ */
+ public void setErrorMessage(final String message) {
+ this.errorMessage = message;
+ }
+
+ /**
+ * Getter for the samlTokenFail.
+ *
+ * @return The samlTokenFail value.
+ */
+ public String getSamlTokenFail() {
+ return samlTokenFail;
+ }
+
+ /**
+ * Setter for the samlTokenFail.
+ *
+ * @param samlToken
+ * The error Saml Token.
+ */
+ public void setSamlTokenFail(final String samlToken) {
+ this.samlTokenFail = samlToken;
+ }
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InternalErrorPEPSException.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InternalErrorPEPSException.java
index 67514d4fe..f1bccb277 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InternalErrorPEPSException.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InternalErrorPEPSException.java
@@ -16,59 +16,59 @@ package eu.stork.peps.auth.commons.exceptions;
/**
* Internal Error Exception class.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.13 $, $Date: 2010-11-17 05:15:28 $
*
* @see AbstractPEPSException
*/
public final class InternalErrorPEPSException extends AbstractPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 1193001455410319795L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters and the Throwable cause.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- * @param cause The throwable object.
- */
- public InternalErrorPEPSException(final String errorCode,
- final String errorMessage, final Throwable cause) {
-
- super(errorCode, errorMessage, cause);
- }
-
- /**
- * Exception Constructor with three strings representing the errorCode,
- * errorMessage and encoded samlToken as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- * @param samlTokenFail The error SAML Token.
- */
- public InternalErrorPEPSException(final String errorCode,
- final String errorMessage, final String samlTokenFail) {
-
- super(errorCode, errorMessage, samlTokenFail);
- }
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- */
- public InternalErrorPEPSException(final String errorCode,
- final String errorMessage) {
-
- super(errorCode, errorMessage);
- }
-
+
+ /**
+ * Unique identifier.
+ */
+ private static final long serialVersionUID = 1193001455410319795L;
+
+ /**
+ * Exception Constructor with two Strings representing the errorCode and errorMessage as parameters and the Throwable cause.
+ *
+ * @param errorCode
+ * The error code value.
+ * @param errorMessage
+ * The error message value.
+ * @param cause
+ * The throwable object.
+ */
+ public InternalErrorPEPSException(final String errorCode, final String errorMessage, final Throwable cause) {
+
+ super(errorCode, errorMessage, cause);
+ }
+
+ /**
+ * Exception Constructor with three strings representing the errorCode, errorMessage and encoded samlToken as parameters.
+ *
+ * @param errorCode
+ * The error code value.
+ * @param errorMessage
+ * The error message value.
+ * @param samlTokenFail
+ * The error SAML Token.
+ */
+ public InternalErrorPEPSException(final String errorCode, final String errorMessage, final String samlTokenFail) {
+
+ super(errorCode, errorMessage, samlTokenFail);
+ }
+
+ /**
+ * Exception Constructor with two Strings representing the errorCode and errorMessage as parameters.
+ *
+ * @param errorCode
+ * The error code value.
+ * @param errorMessage
+ * The error message value.
+ */
+ public InternalErrorPEPSException(final String errorCode, final String errorMessage) {
+
+ super(errorCode, errorMessage);
+ }
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidParameterPEPSException.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidParameterPEPSException.java
index 12c83b589..0aca67d5b 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidParameterPEPSException.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidParameterPEPSException.java
@@ -16,39 +16,38 @@ package eu.stork.peps.auth.commons.exceptions;
/**
* Invalid Parameter Exception class.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.11 $, $Date: 2010-11-17 05:15:28 $
*
* @see InvalidParameterPEPSException
*/
public class InvalidParameterPEPSException extends AbstractPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 2046282148740524875L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error code message value.
- */
- public InvalidParameterPEPSException(final String errorCode,
- final String errorMessage) {
- super(errorCode, errorMessage);
- }
-
- /**
- * Exception Constructor with one String representing the encoded samlToken.
- *
- * @param samlTokenFail The error SAML Token.
- */
- public InvalidParameterPEPSException(final String samlTokenFail) {
- super(samlTokenFail);
- }
-
+
+ /**
+ * Unique identifier.
+ */
+ private static final long serialVersionUID = 2046282148740524875L;
+
+ /**
+ * Exception Constructor with two Strings representing the errorCode and errorMessage as parameters.
+ *
+ * @param errorCode
+ * The error code value.
+ * @param errorMessage
+ * The error code message value.
+ */
+ public InvalidParameterPEPSException(final String errorCode, final String errorMessage) {
+ super(errorCode, errorMessage);
+ }
+
+ /**
+ * Exception Constructor with one String representing the encoded samlToken.
+ *
+ * @param samlTokenFail
+ * The error SAML Token.
+ */
+ public InvalidParameterPEPSException(final String samlTokenFail) {
+ super(samlTokenFail);
+ }
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidSessionPEPSException.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidSessionPEPSException.java
index 800525eee..a4389da79 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidSessionPEPSException.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/InvalidSessionPEPSException.java
@@ -16,31 +16,29 @@ package eu.stork.peps.auth.commons.exceptions;
/**
* Invalid session Exception class.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.14 $, $Date: 2010-11-17 05:15:28 $
*
* @see InvalidParameterPEPSException
*/
public class InvalidSessionPEPSException extends InvalidParameterPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 7147090160978319016L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- */
- public InvalidSessionPEPSException(final String errorCode,
- final String errorMessage) {
-
- super(errorCode, errorMessage);
- }
-
+
+ /**
+ * Unique identifier.
+ */
+ private static final long serialVersionUID = 7147090160978319016L;
+
+ /**
+ * Exception Constructor with two Strings representing the errorCode and errorMessage as parameters.
+ *
+ * @param errorCode
+ * The error code value.
+ * @param errorMessage
+ * The error message value.
+ */
+ public InvalidSessionPEPSException(final String errorCode, final String errorMessage) {
+
+ super(errorCode, errorMessage);
+ }
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/SecurityPEPSException.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/SecurityPEPSException.java
index fc27371d2..03e7fb72f 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/SecurityPEPSException.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/SecurityPEPSException.java
@@ -16,52 +16,53 @@ package eu.stork.peps.auth.commons.exceptions;
/**
* Security PEPS Exception class.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.18 $, $Date: 2010-11-17 05:15:28 $
*
* @see AbstractPEPSException
*/
public final class SecurityPEPSException extends AbstractPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 5605743302478554967L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMsg The error message value.
- */
- public SecurityPEPSException(final String errorCode, final String errorMsg) {
- super(errorCode, errorMsg);
- }
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters and the Throwable cause.
- *
- * @param errorCode The error code value.
- * @param errorMessage The error message value.
- * @param cause The throwable object.
- */
- public SecurityPEPSException(final String errorCode,
- final String errorMessage, final Throwable cause) {
-
- super(errorCode, errorMessage, cause);
- }
-
- /**
- * Exception Constructor with one String representing the encoded samlToken.
- *
- * @param samlTokenFail The error SAML Token.
- */
- public SecurityPEPSException(final String samlTokenFail) {
- super(samlTokenFail);
- }
-
+
+ /**
+ * Unique identifier.
+ */
+ private static final long serialVersionUID = 5605743302478554967L;
+
+ /**
+ * Exception Constructor with two Strings representing the errorCode and errorMessage as parameters.
+ *
+ * @param errorCode
+ * The error code value.
+ * @param errorMsg
+ * The error message value.
+ */
+ public SecurityPEPSException(final String errorCode, final String errorMsg) {
+ super(errorCode, errorMsg);
+ }
+
+ /**
+ * Exception Constructor with two Strings representing the errorCode and errorMessage as parameters and the Throwable cause.
+ *
+ * @param errorCode
+ * The error code value.
+ * @param errorMessage
+ * The error message value.
+ * @param cause
+ * The throwable object.
+ */
+ public SecurityPEPSException(final String errorCode, final String errorMessage, final Throwable cause) {
+
+ super(errorCode, errorMessage, cause);
+ }
+
+ /**
+ * Exception Constructor with one String representing the encoded samlToken.
+ *
+ * @param samlTokenFail
+ * The error SAML Token.
+ */
+ public SecurityPEPSException(final String samlTokenFail) {
+ super(samlTokenFail);
+ }
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/StorkPEPSException.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/StorkPEPSException.java
index a2da61a02..55f4f5a01 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/StorkPEPSException.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/exceptions/StorkPEPSException.java
@@ -16,38 +16,36 @@ package eu.stork.peps.auth.commons.exceptions;
/**
* Security PEPS Exception class.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com, paulo.ribeiro@multicert.com
* @version $Revision: 1.15 $, $Date: 2010-11-17 05:15:28 $
*
* @see AbstractPEPSException
*/
public final class StorkPEPSException extends AbstractPEPSException {
-
- /**
- * Unique identifier.
- */
- private static final long serialVersionUID = 8048033129798427574L;
-
- /**
- * Exception Constructor with two Strings representing the errorCode and
- * errorMessage as parameters.
- *
- * @param errorCode The error code value.
- * @param errorMsg The error message value.
- */
- public StorkPEPSException(final String errorCode, final String errorMsg) {
- super(errorCode, errorMsg);
- }
-
- /**
- * {@inheritDoc}
- */
- public String getMessage() {
-
- return "Security Error (" + this.getErrorCode() + ") processing request : "
- + this.getErrorMessage();
- }
-
+
+ /**
+ * Unique identifier.
+ */
+ private static final long serialVersionUID = 8048033129798427574L;
+
+ /**
+ * Exception Constructor with two Strings representing the errorCode and errorMessage as parameters.
+ *
+ * @param errorCode
+ * The error code value.
+ * @param errorMsg
+ * The error message value.
+ */
+ public StorkPEPSException(final String errorCode, final String errorMsg) {
+ super(errorCode, errorMsg);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getMessage() {
+
+ return "Security Error (" + this.getErrorCode() + ") processing request : " + this.getErrorMessage();
+ }
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/package-info.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/package-info.java
index 19d45aaa2..d733342d7 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/package-info.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/package-info.java
@@ -7,3 +7,4 @@
* @since 1.0
*/
package eu.stork.peps.auth.commons;
+
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/all-wcprops b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/all-wcprops
deleted file mode 100644
index 3cd5d5378..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/all-wcprops
+++ /dev/null
@@ -1,41 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 87
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/specific
-END
-IDeriveAttribute.java
-K 25
-svn:wc:ra_dav:version-url
-V 108
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/specific/IDeriveAttribute.java
-END
-IAUService.java
-K 25
-svn:wc:ra_dav:version-url
-V 103
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/specific/IAUService.java
-END
-INormaliseValue.java
-K 25
-svn:wc:ra_dav:version-url
-V 107
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/specific/INormaliseValue.java
-END
-ITranslatorService.java
-K 25
-svn:wc:ra_dav:version-url
-V 111
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/main/java/eu/stork/peps/auth/specific/ITranslatorService.java
-END
-package-info.java
-K 25
-svn:wc:ra_dav:version-url
-V 104
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/specific/package-info.java
-END
-ICheckAttributeValue.java
-K 25
-svn:wc:ra_dav:version-url
-V 112
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/java/eu/stork/peps/auth/specific/ICheckAttributeValue.java
-END
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/entries b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/entries
deleted file mode 100644
index acd798b61..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/entries
+++ /dev/null
@@ -1,232 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork/peps/auth/specific
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-ITranslatorService.java
-file
-
-
-
-
-2014-01-21T08:38:55.228702Z
-c027ed5506150c744b8e586b325de5fb
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3120
-
-package-info.java
-file
-
-
-
-
-2013-12-20T12:27:56.654475Z
-eef7721d55c2edb02a432fc08ae9e487
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-164
-
-ICheckAttributeValue.java
-file
-
-
-
-
-2013-12-20T12:27:56.654475Z
-b0472ff15d1c86f175da134b0f0eda71
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1321
-
-IDeriveAttribute.java
-file
-
-
-
-
-2013-12-20T12:27:56.654475Z
-dce3856a97583f739cdf50ca78491277
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1504
-
-IAUService.java
-file
-
-
-
-
-2014-01-21T08:38:55.228702Z
-b622aaaa29b0cd72261ca7799db691b9
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-7023
-
-INormaliseValue.java
-file
-
-
-
-
-2013-12-20T12:27:56.654475Z
-09f6e376875762fca294be4dfecb71f1
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1237
-
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IAUService.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IAUService.java.svn-base
deleted file mode 100644
index 5c24cc5a8..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IAUService.java.svn-base
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.specific;
-
-import java.util.Map;
-
-import eu.stork.peps.auth.commons.IPersonalAttributeList;
-import eu.stork.peps.auth.commons.IStorkSession;
-import eu.stork.peps.auth.commons.STORKAttrQueryResponse;
-import eu.stork.peps.auth.commons.STORKAuthnResponse;
-
-/**
- * Interface for Specific Authentication methods.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
- */
-public interface IAUService {
-
- /**
- * Prepares the citizen to be redirected to the IdP.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param session The session object.
- * @param requestAttributes The Requested attributes.
- *
- * @return byte[] containing a SAML Request.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- byte[] prepareCitizenAuthentication(IPersonalAttributeList personalList,
- Map<String, Object> parameters, Map<String, Object> requestAttributes,
- IStorkSession session);
-
- /**
- * Prepares the citizen to be redirected to the PV.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param session The session object.
- * @param requestAttributes The Requested attributes.
- *
- * @return byte[] containing a SAML Request.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- byte[] preparePVRequest(IPersonalAttributeList personalList,
- Map<String, Object> parameters, Map<String, Object> requestAttributes,
- IStorkSession session);
-
- /**
- * Authenticates a citizen.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param requestAttributes The requested attributes.
- *
- * @return The updated Personal Attribute List.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList authenticateCitizen(
- IPersonalAttributeList personalList, Map<String, Object> parameters,
- Map<String, Object> requestAttributes);
-
- /**
- * Validates a power.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param requestAttributes The requested attributes.
- *
- * @return The updated Personal Attribute List (power validated).
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList powerValidation(
- IPersonalAttributeList personalList, Map<String, Object> parameters,
- Map<String, Object> requestAttributes);
-
- /**
- * Prepares the Citizen browser to be redirected to the AP.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param session The session object.
- * @param requestAttributes The requested attributes.
- *
- * @return true in case of no error.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- boolean prepareAPRedirect(IPersonalAttributeList personalList,
- Map<String, Object> parameters, Map<String, Object> requestAttributes,
- IStorkSession session);
-
- /**
- * Returns the attributes values from the AP.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param requestAttributes The request attributes.
- *
- * @return The updated Personal Attribute List.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList getAttributesFromAttributeProviders(
- IPersonalAttributeList personalList, Map<String, Object> parameters,
- Map<String, Object> requestAttributes);
-
- /**
- * Get the attributes from the AP with verification.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The HTTP Parameters.
- * @param requestAttributes The requested Attributes.
- * @param session The session object.
- * @param auProcessId The SAML identifier.
- *
- * @return true if the attributes were correctly verified.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- boolean getAttributesWithVerification(IPersonalAttributeList personalList,
- Map<String, Object> parameters, Map<String, Object> requestAttributes,
- IStorkSession session, String auProcessId);
-
- /**
- * Validates a SAML Response.
- *
- * @param samlToken The SAML Token.
- * @param session The session object.
- *
- * @return the STORKAuthnResponse associated with the validated response.
- *
- * @see IStorkSession
- */
- STORKAuthnResponse processAuthenticationResponse(byte[] samlToken,
- IStorkSession session);
-
- /**
- * Generates a SAML Response in case of error.
- *
- * @param inResponseTo The SAML's identifier to response.
- * @param issuer The issuer value.
- * @param assertionURL The assertion URL.
- * @param code The error code.
- * @param subcode The sub error code.
- * @param message The error message.
- * @param ipUserAddress The user IP address.
- *
- * @return byte[] containing the SAML Response.
- */
- byte[] generateErrorAuthenticationResponse(String inResponseTo,
- String issuer, String assertionURL, String code, String subcode,
- String message, String ipUserAddress);
-
- /**
- * Compares two given personal attribute lists.
- *
- * @param original The original Personal Attribute List.
- * @param modified The modified Personal Attribute List.
- * @return true if the original list contains the modified one. False
- * otherwise.
- *
- * @see IPersonalAttributeList
- */
- boolean comparePersonalAttributeLists(IPersonalAttributeList original,
- IPersonalAttributeList modified);
-
- /**
- * Prepares the citizen to be redirected to the AtP.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param session The session object.
- *
- * @return byte[] containing a SAML Request.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- byte[] prepareAttributeRequest(IPersonalAttributeList personalList,
- Map<String, Object> parameters, IStorkSession session);
-
- /**
- * Validates a SAML Response.
- *
- * @param samlToken The SAML Token.
- * @param session The session object.
- *
- * @return the STORKAttrQueryResponse associated with the validated response.
- *
- * @see IStorkSession
- */
- STORKAttrQueryResponse processAttributeResponse(byte[] samlToken,
- IStorkSession session);
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ICheckAttributeValue.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ICheckAttributeValue.java.svn-base
deleted file mode 100644
index 31a8d78ff..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ICheckAttributeValue.java.svn-base
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.specific;
-
-import java.util.List;
-
-/**
- * Interface that defines the methods to work with the validation of attributes.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
- */
-public interface ICheckAttributeValue {
-
- /**
- * Checks if the list of values contains the expected value.
- *
- * @param values The List of values.
- * @param expectedValue The value to check if it exists on the list.
- *
- * @return boolean true, if the value is present in the list. False,
- * otherwise.
- */
- boolean checkValue(List<String> values, String expectedValue);
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IDeriveAttribute.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IDeriveAttribute.java.svn-base
deleted file mode 100644
index 78eb53004..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/IDeriveAttribute.java.svn-base
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.specific;
-
-import eu.stork.peps.auth.commons.IStorkSession;
-import eu.stork.peps.auth.commons.PersonalAttribute;
-
-/**
- * Interface that defines the methods to work with derivation of attributes.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
- */
-public interface IDeriveAttribute {
-
- /**
- * Derives the attribute value. Set the Personal Attribute value to null if
- * the value in session or the value of age are invalid (non-numeric or null).
- *
- * @param personalAttrList The Personal Attribute List.
- * @param session The session object.
- *
- * @see PersonalAttribute The personal Attribute
- * @see IStorkSession The session object.
- */
- void deriveAttributeToData(PersonalAttribute personalAttrList,
- IStorkSession session);
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/INormaliseValue.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/INormaliseValue.java.svn-base
deleted file mode 100644
index ca2114e32..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/INormaliseValue.java.svn-base
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.specific;
-
-import eu.stork.peps.auth.commons.PersonalAttribute;
-
-/**
- * Interface for attribute's value normalisation.
- *
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
- */
-public interface INormaliseValue {
-
- /**
- * Translates the attribute's value from local format to STORK format.
- *
- * @param personalAttribute The Personal Attribute to normalise the value.
- *
- * @see PersonalAttribute
- */
- void normaliseAttributeValueToStork(PersonalAttribute personalAttribute);
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ITranslatorService.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ITranslatorService.java.svn-base
deleted file mode 100644
index 8a33897d8..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/ITranslatorService.java.svn-base
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.auth.specific;
-
-import eu.stork.peps.auth.commons.IPersonalAttributeList;
-import eu.stork.peps.auth.commons.IStorkSession;
-import eu.stork.peps.auth.commons.STORKAuthnRequest;
-
-/**
- * Interface for attributes normalization.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
- */
-public interface ITranslatorService {
-
- /**
- * Translates the attributes from local format to STORK format.
- *
- * @param personalList The Personal Attribute List.
- *
- * @return The Personal Attribute List with normalised attributes.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList normaliseAttributeNamesToStork(
- IPersonalAttributeList personalList);
-
- /**
- * Translates the attributes values from local format to STORK format.
- *
- * @param personalList The Personal Attribute List.
- *
- * @return The PersonalAttributeList with normalised values.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList normaliseAttributeValuesToStork(
- IPersonalAttributeList personalList);
-
- /**
- * Translates the attributes from STORK format to local format.
- *
- * @param personalList The Personal Attribute List.
- *
- * @return The PersonalAttributeList with normalised attributes.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList normaliseAttributeNamesFromStork(
- IPersonalAttributeList personalList);
-
- /**
- * Derive Attribute Names To Stork format.
- *
- * @param personalList The Personal Attribute List,
- *
- * @return The PersonalAttributeList with derived attributes.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList deriveAttributeFromStork(
- IPersonalAttributeList personalList);
-
- /**
- * Derive Attribute Names from Stork format.
- *
- * @param session The session object.
- * @param modifiedList The Personal Attribute List.
- *
- * @return The PersonalAttributeList with derived attributes.
- *
- * @see IStorkSession
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList deriveAttributeToStork(IStorkSession session,
- IPersonalAttributeList modifiedList);
-
- /**
- * Validate the values of the attributes.
- *
- * @param pal The attribute list
- *
- * @return True, if all the attributes have values. False, otherwise.
- *
- * @see STORKAuthnRequest
- */
- boolean checkAttributeValues(IPersonalAttributeList pa);
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/package-info.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/package-info.java.svn-base
deleted file mode 100644
index a25c52311..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/.svn/text-base/package-info.java.svn-base
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Specific PEPS Interfaces that implements functionality of the Authentication
- * Service.
- *
- * @since 1.0
- */
-package eu.stork.peps.auth.specific;
-
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/IAUService.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/IAUService.java
index 5c24cc5a8..d9166458f 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/IAUService.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/IAUService.java
@@ -23,193 +23,213 @@ import eu.stork.peps.auth.commons.STORKAuthnResponse;
/**
* Interface for Specific Authentication methods.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com
*/
public interface IAUService {
-
- /**
- * Prepares the citizen to be redirected to the IdP.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param session The session object.
- * @param requestAttributes The Requested attributes.
- *
- * @return byte[] containing a SAML Request.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- byte[] prepareCitizenAuthentication(IPersonalAttributeList personalList,
- Map<String, Object> parameters, Map<String, Object> requestAttributes,
- IStorkSession session);
-
- /**
- * Prepares the citizen to be redirected to the PV.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param session The session object.
- * @param requestAttributes The Requested attributes.
- *
- * @return byte[] containing a SAML Request.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- byte[] preparePVRequest(IPersonalAttributeList personalList,
- Map<String, Object> parameters, Map<String, Object> requestAttributes,
- IStorkSession session);
-
- /**
- * Authenticates a citizen.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param requestAttributes The requested attributes.
- *
- * @return The updated Personal Attribute List.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList authenticateCitizen(
- IPersonalAttributeList personalList, Map<String, Object> parameters,
- Map<String, Object> requestAttributes);
-
- /**
- * Validates a power.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param requestAttributes The requested attributes.
- *
- * @return The updated Personal Attribute List (power validated).
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList powerValidation(
- IPersonalAttributeList personalList, Map<String, Object> parameters,
- Map<String, Object> requestAttributes);
-
- /**
- * Prepares the Citizen browser to be redirected to the AP.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param session The session object.
- * @param requestAttributes The requested attributes.
- *
- * @return true in case of no error.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- boolean prepareAPRedirect(IPersonalAttributeList personalList,
- Map<String, Object> parameters, Map<String, Object> requestAttributes,
- IStorkSession session);
-
- /**
- * Returns the attributes values from the AP.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param requestAttributes The request attributes.
- *
- * @return The updated Personal Attribute List.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList getAttributesFromAttributeProviders(
- IPersonalAttributeList personalList, Map<String, Object> parameters,
- Map<String, Object> requestAttributes);
-
- /**
- * Get the attributes from the AP with verification.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The HTTP Parameters.
- * @param requestAttributes The requested Attributes.
- * @param session The session object.
- * @param auProcessId The SAML identifier.
- *
- * @return true if the attributes were correctly verified.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- boolean getAttributesWithVerification(IPersonalAttributeList personalList,
- Map<String, Object> parameters, Map<String, Object> requestAttributes,
- IStorkSession session, String auProcessId);
-
- /**
- * Validates a SAML Response.
- *
- * @param samlToken The SAML Token.
- * @param session The session object.
- *
- * @return the STORKAuthnResponse associated with the validated response.
- *
- * @see IStorkSession
- */
- STORKAuthnResponse processAuthenticationResponse(byte[] samlToken,
- IStorkSession session);
-
- /**
- * Generates a SAML Response in case of error.
- *
- * @param inResponseTo The SAML's identifier to response.
- * @param issuer The issuer value.
- * @param assertionURL The assertion URL.
- * @param code The error code.
- * @param subcode The sub error code.
- * @param message The error message.
- * @param ipUserAddress The user IP address.
- *
- * @return byte[] containing the SAML Response.
- */
- byte[] generateErrorAuthenticationResponse(String inResponseTo,
- String issuer, String assertionURL, String code, String subcode,
- String message, String ipUserAddress);
-
- /**
- * Compares two given personal attribute lists.
- *
- * @param original The original Personal Attribute List.
- * @param modified The modified Personal Attribute List.
- * @return true if the original list contains the modified one. False
- * otherwise.
- *
- * @see IPersonalAttributeList
- */
- boolean comparePersonalAttributeLists(IPersonalAttributeList original,
- IPersonalAttributeList modified);
-
- /**
- * Prepares the citizen to be redirected to the AtP.
- *
- * @param personalList The Personal Attribute List.
- * @param parameters The parameters.
- * @param session The session object.
- *
- * @return byte[] containing a SAML Request.
- *
- * @see IPersonalAttributeList
- * @see IStorkSession
- */
- byte[] prepareAttributeRequest(IPersonalAttributeList personalList,
- Map<String, Object> parameters, IStorkSession session);
- /**
- * Validates a SAML Response.
- *
- * @param samlToken The SAML Token.
- * @param session The session object.
- *
- * @return the STORKAttrQueryResponse associated with the validated response.
- *
- * @see IStorkSession
- */
- STORKAttrQueryResponse processAttributeResponse(byte[] samlToken,
- IStorkSession session);
+ /**
+ * Prepares the citizen to be redirected to the IdP.
+ *
+ * @param personalList
+ * The Personal Attribute List.
+ * @param parameters
+ * The parameters.
+ * @param session
+ * The session object.
+ * @param requestAttributes
+ * The Requested attributes.
+ *
+ * @return byte[] containing a SAML Request.
+ *
+ * @see IPersonalAttributeList
+ * @see IStorkSession
+ */
+ byte[] prepareCitizenAuthentication(IPersonalAttributeList personalList, Map<String, Object> parameters, Map<String, Object> requestAttributes, IStorkSession session);
+
+ /**
+ * Prepares the citizen to be redirected to the PV.
+ *
+ * @param personalList
+ * The Personal Attribute List.
+ * @param parameters
+ * The parameters.
+ * @param session
+ * The session object.
+ * @param requestAttributes
+ * The Requested attributes.
+ *
+ * @return byte[] containing a SAML Request.
+ *
+ * @see IPersonalAttributeList
+ * @see IStorkSession
+ */
+ byte[] preparePVRequest(IPersonalAttributeList personalList, Map<String, Object> parameters, Map<String, Object> requestAttributes, IStorkSession session);
+
+ /**
+ * Authenticates a citizen.
+ *
+ * @param personalList
+ * The Personal Attribute List.
+ * @param parameters
+ * The parameters.
+ * @param requestAttributes
+ * The requested attributes.
+ *
+ * @return The updated Personal Attribute List.
+ *
+ * @see IPersonalAttributeList
+ */
+ IPersonalAttributeList authenticateCitizen(IPersonalAttributeList personalList, Map<String, Object> parameters, Map<String, Object> requestAttributes);
+
+ /**
+ * Validates a power.
+ *
+ * @param personalList
+ * The Personal Attribute List.
+ * @param parameters
+ * The parameters.
+ * @param requestAttributes
+ * The requested attributes.
+ *
+ * @return The updated Personal Attribute List (power validated).
+ *
+ * @see IPersonalAttributeList
+ */
+ IPersonalAttributeList powerValidation(IPersonalAttributeList personalList, Map<String, Object> parameters, Map<String, Object> requestAttributes);
+
+ /**
+ * Prepares the Citizen browser to be redirected to the AP.
+ *
+ * @param personalList
+ * The Personal Attribute List.
+ * @param parameters
+ * The parameters.
+ * @param session
+ * The session object.
+ * @param requestAttributes
+ * The requested attributes.
+ *
+ * @return true in case of no error.
+ *
+ * @see IPersonalAttributeList
+ * @see IStorkSession
+ */
+ boolean prepareAPRedirect(IPersonalAttributeList personalList, Map<String, Object> parameters, Map<String, Object> requestAttributes, IStorkSession session);
+
+ /**
+ * Returns the attributes values from the AP.
+ *
+ * @param personalList
+ * The Personal Attribute List.
+ * @param parameters
+ * The parameters.
+ * @param requestAttributes
+ * The request attributes.
+ *
+ * @return The updated Personal Attribute List.
+ *
+ * @see IPersonalAttributeList
+ */
+ IPersonalAttributeList getAttributesFromAttributeProviders(IPersonalAttributeList personalList, Map<String, Object> parameters, Map<String, Object> requestAttributes);
+
+ /**
+ * Get the attributes from the AP with verification.
+ *
+ * @param personalList
+ * The Personal Attribute List.
+ * @param parameters
+ * The HTTP Parameters.
+ * @param requestAttributes
+ * The requested Attributes.
+ * @param session
+ * The session object.
+ * @param auProcessId
+ * The SAML identifier.
+ *
+ * @return true if the attributes were correctly verified.
+ *
+ * @see IPersonalAttributeList
+ * @see IStorkSession
+ */
+ boolean getAttributesWithVerification(IPersonalAttributeList personalList, Map<String, Object> parameters, Map<String, Object> requestAttributes, IStorkSession session, String auProcessId);
+
+ /**
+ * Validates a SAML Response.
+ *
+ * @param samlToken
+ * The SAML Token.
+ * @param session
+ * The session object.
+ *
+ * @return the STORKAuthnResponse associated with the validated response.
+ *
+ * @see IStorkSession
+ */
+ STORKAuthnResponse processAuthenticationResponse(byte[] samlToken, IStorkSession session);
+
+ /**
+ * Generates a SAML Response in case of error.
+ *
+ * @param inResponseTo
+ * The SAML's identifier to response.
+ * @param issuer
+ * The issuer value.
+ * @param assertionURL
+ * The assertion URL.
+ * @param code
+ * The error code.
+ * @param subcode
+ * The sub error code.
+ * @param message
+ * The error message.
+ * @param ipUserAddress
+ * The user IP address.
+ *
+ * @return byte[] containing the SAML Response.
+ */
+ byte[] generateErrorAuthenticationResponse(String inResponseTo, String issuer, String assertionURL, String code, String subcode, String message, String ipUserAddress);
+
+ /**
+ * Compares two given personal attribute lists.
+ *
+ * @param original
+ * The original Personal Attribute List.
+ * @param modified
+ * The modified Personal Attribute List.
+ * @return true if the original list contains the modified one. False otherwise.
+ *
+ * @see IPersonalAttributeList
+ */
+ boolean comparePersonalAttributeLists(IPersonalAttributeList original, IPersonalAttributeList modified);
+
+ /**
+ * Prepares the citizen to be redirected to the AtP.
+ *
+ * @param personalList
+ * The Personal Attribute List.
+ * @param parameters
+ * The parameters.
+ * @param session
+ * The session object.
+ *
+ * @return byte[] containing a SAML Request.
+ *
+ * @see IPersonalAttributeList
+ * @see IStorkSession
+ */
+ byte[] prepareAttributeRequest(IPersonalAttributeList personalList, Map<String, Object> parameters, IStorkSession session);
+
+ /**
+ * Validates a SAML Response.
+ *
+ * @param samlToken
+ * The SAML Token.
+ * @param session
+ * The session object.
+ *
+ * @return the STORKAttrQueryResponse associated with the validated response.
+ *
+ * @see IStorkSession
+ */
+ STORKAttrQueryResponse processAttributeResponse(byte[] samlToken, IStorkSession session);
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/ICheckAttributeValue.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/ICheckAttributeValue.java
index 31a8d78ff..ccfcebf43 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/ICheckAttributeValue.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/ICheckAttributeValue.java
@@ -18,20 +18,20 @@ import java.util.List;
/**
* Interface that defines the methods to work with the validation of attributes.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com
*/
public interface ICheckAttributeValue {
-
- /**
- * Checks if the list of values contains the expected value.
- *
- * @param values The List of values.
- * @param expectedValue The value to check if it exists on the list.
- *
- * @return boolean true, if the value is present in the list. False,
- * otherwise.
- */
- boolean checkValue(List<String> values, String expectedValue);
-
+
+ /**
+ * Checks if the list of values contains the expected value.
+ *
+ * @param values
+ * The List of values.
+ * @param expectedValue
+ * The value to check if it exists on the list.
+ *
+ * @return boolean true, if the value is present in the list. False, otherwise.
+ */
+ boolean checkValue(List<String> values, String expectedValue);
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/IDeriveAttribute.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/IDeriveAttribute.java
index 78eb53004..a661e731b 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/IDeriveAttribute.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/IDeriveAttribute.java
@@ -19,22 +19,21 @@ import eu.stork.peps.auth.commons.PersonalAttribute;
/**
* Interface that defines the methods to work with derivation of attributes.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com
*/
public interface IDeriveAttribute {
-
- /**
- * Derives the attribute value. Set the Personal Attribute value to null if
- * the value in session or the value of age are invalid (non-numeric or null).
- *
- * @param personalAttrList The Personal Attribute List.
- * @param session The session object.
- *
- * @see PersonalAttribute The personal Attribute
- * @see IStorkSession The session object.
- */
- void deriveAttributeToData(PersonalAttribute personalAttrList,
- IStorkSession session);
-
+
+ /**
+ * Derives the attribute value. Set the Personal Attribute value to null if the value in session or the value of age are invalid (non-numeric or null).
+ *
+ * @param personalAttrList
+ * The Personal Attribute List.
+ * @param session
+ * The session object.
+ *
+ * @see PersonalAttribute The personal Attribute
+ * @see IStorkSession The session object.
+ */
+ void deriveAttributeToData(PersonalAttribute personalAttrList, IStorkSession session);
+
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/INormaliseValue.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/INormaliseValue.java
index ca2114e32..eaae06481 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/INormaliseValue.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/INormaliseValue.java
@@ -19,17 +19,17 @@ import eu.stork.peps.auth.commons.PersonalAttribute;
* Interface for attribute's value normalisation.
*
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com
*/
public interface INormaliseValue {
-
- /**
- * Translates the attribute's value from local format to STORK format.
- *
- * @param personalAttribute The Personal Attribute to normalise the value.
- *
- * @see PersonalAttribute
- */
- void normaliseAttributeValueToStork(PersonalAttribute personalAttribute);
+
+ /**
+ * Translates the attribute's value from local format to STORK format.
+ *
+ * @param personalAttribute
+ * The Personal Attribute to normalise the value.
+ *
+ * @see PersonalAttribute
+ */
+ void normaliseAttributeValueToStork(PersonalAttribute personalAttribute);
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/ITranslatorService.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/ITranslatorService.java
index 8a33897d8..4769bba19 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/ITranslatorService.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/specific/ITranslatorService.java
@@ -20,81 +20,82 @@ import eu.stork.peps.auth.commons.STORKAuthnRequest;
/**
* Interface for attributes normalization.
*
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com
+ * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com, luis.felix@multicert.com, hugo.magalhaes@multicert.com
*/
public interface ITranslatorService {
-
- /**
- * Translates the attributes from local format to STORK format.
- *
- * @param personalList The Personal Attribute List.
- *
- * @return The Personal Attribute List with normalised attributes.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList normaliseAttributeNamesToStork(
- IPersonalAttributeList personalList);
-
- /**
- * Translates the attributes values from local format to STORK format.
- *
- * @param personalList The Personal Attribute List.
- *
- * @return The PersonalAttributeList with normalised values.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList normaliseAttributeValuesToStork(
- IPersonalAttributeList personalList);
-
- /**
- * Translates the attributes from STORK format to local format.
- *
- * @param personalList The Personal Attribute List.
- *
- * @return The PersonalAttributeList with normalised attributes.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList normaliseAttributeNamesFromStork(
- IPersonalAttributeList personalList);
-
- /**
- * Derive Attribute Names To Stork format.
- *
- * @param personalList The Personal Attribute List,
- *
- * @return The PersonalAttributeList with derived attributes.
- *
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList deriveAttributeFromStork(
- IPersonalAttributeList personalList);
-
- /**
- * Derive Attribute Names from Stork format.
- *
- * @param session The session object.
- * @param modifiedList The Personal Attribute List.
- *
- * @return The PersonalAttributeList with derived attributes.
- *
- * @see IStorkSession
- * @see IPersonalAttributeList
- */
- IPersonalAttributeList deriveAttributeToStork(IStorkSession session,
- IPersonalAttributeList modifiedList);
-
- /**
- * Validate the values of the attributes.
- *
- * @param pal The attribute list
- *
- * @return True, if all the attributes have values. False, otherwise.
- *
- * @see STORKAuthnRequest
- */
- boolean checkAttributeValues(IPersonalAttributeList pa);
+
+ /**
+ * Translates the attributes from local format to STORK format.
+ *
+ * @param personalList
+ * The Personal Attribute List.
+ *
+ * @return The Personal Attribute List with normalised attributes.
+ *
+ * @see IPersonalAttributeList
+ */
+ IPersonalAttributeList normaliseAttributeNamesToStork(IPersonalAttributeList personalList);
+
+ /**
+ * Translates the attributes values from local format to STORK format.
+ *
+ * @param personalList
+ * The Personal Attribute List.
+ *
+ * @return The PersonalAttributeList with normalised values.
+ *
+ * @see IPersonalAttributeList
+ */
+ IPersonalAttributeList normaliseAttributeValuesToStork(IPersonalAttributeList personalList);
+
+ /**
+ * Translates the attributes from STORK format to local format.
+ *
+ * @param personalList
+ * The Personal Attribute List.
+ *
+ * @return The PersonalAttributeList with normalised attributes.
+ *
+ * @see IPersonalAttributeList
+ */
+ IPersonalAttributeList normaliseAttributeNamesFromStork(IPersonalAttributeList personalList);
+
+ /**
+ * Derive Attribute Names To Stork format.
+ *
+ * @param personalList
+ * The Personal Attribute List,
+ *
+ * @return The PersonalAttributeList with derived attributes.
+ *
+ * @see IPersonalAttributeList
+ */
+ IPersonalAttributeList deriveAttributeFromStork(IPersonalAttributeList personalList);
+
+ /**
+ * Derive Attribute Names from Stork format.
+ *
+ * @param session
+ * The session object.
+ * @param modifiedList
+ * The Personal Attribute List.
+ *
+ * @return The PersonalAttributeList with derived attributes.
+ *
+ * @see IStorkSession
+ * @see IPersonalAttributeList
+ */
+ IPersonalAttributeList deriveAttributeToStork(IStorkSession session, IPersonalAttributeList modifiedList);
+
+ /**
+ * Validate the values of the attributes.
+ *
+ * @param pal
+ * The attribute list
+ *
+ * @return True, if all the attributes have values. False, otherwise.
+ *
+ * @see STORKAuthnRequest
+ */
+ boolean checkAttributeValues(IPersonalAttributeList pa);
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/.svn/all-wcprops b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/.svn/all-wcprops
deleted file mode 100644
index d792fc132..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 81
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex
-END
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/.svn/entries b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/.svn/entries
deleted file mode 100644
index e43413c41..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork/peps/complex
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-attributes
-dir
-
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/all-wcprops b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/all-wcprops
deleted file mode 100644
index 76286973c..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/all-wcprops
+++ /dev/null
@@ -1,125 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 92
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes
-END
-ObjectFactory.java
-K 25
-svn:wc:ra_dav:version-url
-V 111
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/ObjectFactory.java
-END
-IsTeacherOfType.java
-K 25
-svn:wc:ra_dav:version-url
-V 113
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/IsTeacherOfType.java
-END
-CanonicalAddressType.java
-K 25
-svn:wc:ra_dav:version-url
-V 118
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/CanonicalAddressType.java
-END
-IsCourseCoordinatorType.java
-K 25
-svn:wc:ra_dav:version-url
-V 121
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/IsCourseCoordinatorType.java
-END
-MandateContentType.java
-K 25
-svn:wc:ra_dav:version-url
-V 116
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/MandateContentType.java
-END
-Habilitation.java
-K 25
-svn:wc:ra_dav:version-url
-V 110
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/Habilitation.java
-END
-IsHCPType.java
-K 25
-svn:wc:ra_dav:version-url
-V 107
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/IsHCPType.java
-END
-IsAcademicStaffType.java
-K 25
-svn:wc:ra_dav:version-url
-V 117
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/IsAcademicStaffType.java
-END
-AttributeStatusType.java
-K 25
-svn:wc:ra_dav:version-url
-V 117
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/AttributeStatusType.java
-END
-HabilitationType.java
-K 25
-svn:wc:ra_dav:version-url
-V 114
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/HabilitationType.java
-END
-IsAdminStaffType.java
-K 25
-svn:wc:ra_dav:version-url
-V 114
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/IsAdminStaffType.java
-END
-MandateType.java
-K 25
-svn:wc:ra_dav:version-url
-V 109
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/MandateType.java
-END
-HasAccountInBankType.java
-K 25
-svn:wc:ra_dav:version-url
-V 118
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/HasAccountInBankType.java
-END
-IsHealthCareProfessionalType.java
-K 25
-svn:wc:ra_dav:version-url
-V 126
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/IsHealthCareProfessionalType.java
-END
-IsStudentType.java
-K 25
-svn:wc:ra_dav:version-url
-V 111
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/IsStudentType.java
-END
-package-info.java
-K 25
-svn:wc:ra_dav:version-url
-V 110
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/package-info.java
-END
-AcTitleType.java
-K 25
-svn:wc:ra_dav:version-url
-V 109
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/AcTitleType.java
-END
-RequestedAttributeType.java
-K 25
-svn:wc:ra_dav:version-url
-V 120
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/RequestedAttributeType.java
-END
-HasDegreeType.java
-K 25
-svn:wc:ra_dav:version-url
-V 111
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/HasDegreeType.java
-END
-RepresentationPersonType.java
-K 25
-svn:wc:ra_dav:version-url
-V 122
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes/RepresentationPersonType.java
-END
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/entries b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/entries
deleted file mode 100644
index c7a7dfa23..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/entries
+++ /dev/null
@@ -1,708 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/java/eu/stork/peps/complex/attributes
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-AcTitleType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.894515Z
-df18729d7dbd509aeeac2f17ef036e19
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2388
-
-AttributeStatusType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.898515Z
-4e30a60177a9ab03aececf580482fad1
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1734
-
-CanonicalAddressType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.898515Z
-63bc0e23343775a0c252a03a5a3b09d1
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-6847
-
-Habilitation.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.898515Z
-248b26e8c89ddc3366c528cf3852d27b
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2298
-
-HabilitationType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.898515Z
-6e9cc940cbe5298156c5e7b524936f11
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2314
-
-HasAccountInBankType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.894515Z
-f71b4c28dd5c9580fb87c3573435837b
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2339
-
-HasDegreeType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.894515Z
-3a54a31f40c97b44d31f1a70e0767daa
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-4432
-
-IsAcademicStaffType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.898515Z
-43d67ea6cedb4601555d0394db95417a
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3818
-
-IsAdminStaffType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.898515Z
-5a49a39f1d260a3c306216069751260f
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2341
-
-IsCourseCoordinatorType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.898515Z
-9927ea145575d05bd2984bee0e3550be
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2423
-
-IsHCPType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.898515Z
-c7794f438dce3f5e4e27e605a642a22a
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3801
-
-IsHealthCareProfessionalType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.894515Z
-2a4106ac8c87cc056b853b7f9ffb6fbc
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3834
-
-IsStudentType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.894515Z
-a576b2ef395482c49cb968e91e33ec89
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3714
-
-IsTeacherOfType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.898515Z
-1575bd6840471d713bd61c5d337d3900
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3668
-
-MandateContentType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.898515Z
-debc98ce374d669b7621dea674120dfc
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-6205
-
-MandateType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.898515Z
-2fbb38548efd320e4df27959a9842731
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3581
-
-ObjectFactory.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.898515Z
-bc36df4b11e93ab03119dfb25626bfb1
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-18679
-
-RepresentationPersonType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.898515Z
-84b6c9432085cf590c3ed06e58b4307f
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-7205
-
-RequestedAttributeType.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.894515Z
-c6ada26a7ff439713e9a4588d1b62b0a
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-6089
-
-package-info.java
-file
-
-
-
-delete
-2014-03-05T09:36:07.894515Z
-5a2f7df8040e53c9e0dc7beacc8f3457
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-549
-
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/AcTitleType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/AcTitleType.java.svn-base
deleted file mode 100644
index 3c214cb7b..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/AcTitleType.java.svn-base
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for acTitleType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="acTitleType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="titleNormalised" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}titleNormalisedType"/>
- * &lt;element name="AQAA" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}QualityAuthenticationAssuranceLevelType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "acTitleType", propOrder = {
- "titleNormalised",
- "aqaa"
-})
-public class AcTitleType {
-
- @XmlElement(required = true)
- protected String titleNormalised;
- @XmlElement(name = "AQAA")
- protected int aqaa;
-
- /**
- * Gets the value of the titleNormalised property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTitleNormalised() {
- return titleNormalised;
- }
-
- /**
- * Sets the value of the titleNormalised property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTitleNormalised(String value) {
- this.titleNormalised = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/AttributeStatusType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/AttributeStatusType.java.svn-base
deleted file mode 100644
index 1a815e944..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/AttributeStatusType.java.svn-base
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for AttributeStatusType.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- * <p>
- * <pre>
- * &lt;simpleType name="AttributeStatusType">
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
- * &lt;enumeration value="Available"/>
- * &lt;enumeration value="NotAvailable"/>
- * &lt;enumeration value="Withheld"/>
- * &lt;/restriction>
- * &lt;/simpleType>
- * </pre>
- *
- */
-@XmlType(name = "AttributeStatusType")
-@XmlEnum
-public enum AttributeStatusType {
-
- @XmlEnumValue("Available")
- AVAILABLE("Available"),
- @XmlEnumValue("NotAvailable")
- NOT_AVAILABLE("NotAvailable"),
- @XmlEnumValue("Withheld")
- WITHHELD("Withheld");
- private final String value;
-
- AttributeStatusType(String v) {
- value = v;
- }
-
- public String value() {
- return value;
- }
-
- public static AttributeStatusType fromValue(String v) {
- for (AttributeStatusType c: AttributeStatusType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/CanonicalAddressType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/CanonicalAddressType.java.svn-base
deleted file mode 100644
index fa0289cfa..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/CanonicalAddressType.java.svn-base
+++ /dev/null
@@ -1,264 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
-
-/**
- * <p>Java class for canonicalAddressType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="canonicalAddressType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="countryCodeAddress" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}CountryCodeType"/>
- * &lt;element name="state" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- * &lt;element name="municipalityCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- * &lt;element name="town" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="postalCode" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="streetName" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="streetNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- * &lt;element name="apartmentNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "canonicalAddressType", propOrder = {
- "countryCodeAddress",
- "state",
- "municipalityCode",
- "town",
- "postalCode",
- "streetName",
- "streetNumber",
- "apartmentNumber"
-})
-public class CanonicalAddressType {
-
- @XmlElement(required = true)
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- protected String countryCodeAddress;
- protected String state;
- protected String municipalityCode;
- @XmlElement(required = true)
- protected String town;
- @XmlElement(required = true)
- protected String postalCode;
- @XmlElement(required = true)
- protected String streetName;
- protected String streetNumber;
- protected String apartmentNumber;
-
- /**
- * Gets the value of the countryCodeAddress property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCountryCodeAddress() {
- return countryCodeAddress;
- }
-
- /**
- * Sets the value of the countryCodeAddress property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCountryCodeAddress(String value) {
- this.countryCodeAddress = value;
- }
-
- /**
- * Gets the value of the state property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getState() {
- return state;
- }
-
- /**
- * Sets the value of the state property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setState(String value) {
- this.state = value;
- }
-
- /**
- * Gets the value of the municipalityCode property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getMunicipalityCode() {
- return municipalityCode;
- }
-
- /**
- * Sets the value of the municipalityCode property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setMunicipalityCode(String value) {
- this.municipalityCode = value;
- }
-
- /**
- * Gets the value of the town property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTown() {
- return town;
- }
-
- /**
- * Sets the value of the town property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTown(String value) {
- this.town = value;
- }
-
- /**
- * Gets the value of the postalCode property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getPostalCode() {
- return postalCode;
- }
-
- /**
- * Sets the value of the postalCode property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setPostalCode(String value) {
- this.postalCode = value;
- }
-
- /**
- * Gets the value of the streetName property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStreetName() {
- return streetName;
- }
-
- /**
- * Sets the value of the streetName property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStreetName(String value) {
- this.streetName = value;
- }
-
- /**
- * Gets the value of the streetNumber property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStreetNumber() {
- return streetNumber;
- }
-
- /**
- * Sets the value of the streetNumber property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStreetNumber(String value) {
- this.streetNumber = value;
- }
-
- /**
- * Gets the value of the apartmentNumber property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getApartmentNumber() {
- return apartmentNumber;
- }
-
- /**
- * Sets the value of the apartmentNumber property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setApartmentNumber(String value) {
- this.apartmentNumber = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/Habilitation.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/Habilitation.java.svn-base
deleted file mode 100644
index 3d99c9600..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/Habilitation.java.svn-base
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for habilitation complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="habilitation">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="ability" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="AQAA" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}QualityAuthenticationAssuranceLevelType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "habilitation", propOrder = {
- "ability",
- "aqaa"
-})
-public class Habilitation {
-
- @XmlElement(required = true)
- protected String ability;
- @XmlElement(name = "AQAA")
- protected int aqaa;
-
- /**
- * Gets the value of the ability property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAbility() {
- return ability;
- }
-
- /**
- * Sets the value of the ability property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAbility(String value) {
- this.ability = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/HabilitationType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/HabilitationType.java.svn-base
deleted file mode 100644
index 6a5cb7b00..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/HabilitationType.java.svn-base
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for habilitationType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="habilitationType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="ability" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="AQAA" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}QualityAuthenticationAssuranceLevelType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "habilitationType", propOrder = {
- "ability",
- "aqaa"
-})
-public class HabilitationType {
-
- @XmlElement(required = true)
- protected String ability;
- @XmlElement(name = "AQAA")
- protected int aqaa;
-
- /**
- * Gets the value of the ability property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAbility() {
- return ability;
- }
-
- /**
- * Sets the value of the ability property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAbility(String value) {
- this.ability = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/HasAccountInBankType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/HasAccountInBankType.java.svn-base
deleted file mode 100644
index cc09f0486..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/HasAccountInBankType.java.svn-base
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for hasAccountInBankType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="hasAccountInBankType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="bankName" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="AQAA" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}QualityAuthenticationAssuranceLevelType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "hasAccountInBankType", propOrder = {
- "bankName",
- "aqaa"
-})
-public class HasAccountInBankType {
-
- @XmlElement(required = true)
- protected String bankName;
- @XmlElement(name = "AQAA")
- protected int aqaa;
-
- /**
- * Gets the value of the bankName property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getBankName() {
- return bankName;
- }
-
- /**
- * Sets the value of the bankName property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setBankName(String value) {
- this.bankName = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/HasDegreeType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/HasDegreeType.java.svn-base
deleted file mode 100644
index ea466cb18..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/HasDegreeType.java.svn-base
+++ /dev/null
@@ -1,174 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for hasDegreeType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="hasDegreeType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="study" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}studyType"/>
- * &lt;element name="level" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}LevelType"/>
- * &lt;element name="yearObtained" type="{http://www.w3.org/2001/XMLSchema}integer"/>
- * &lt;element name="nameOfInstitution" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="AQAA" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}QualityAuthenticationAssuranceLevelType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "hasDegreeType", propOrder = {
- "study",
- "level",
- "yearObtained",
- "nameOfInstitution",
- "aqaa"
-})
-public class HasDegreeType {
-
- @XmlElement(required = true)
- protected String study;
- @XmlElement(required = true)
- protected String level;
- @XmlElement(required = true)
- protected BigInteger yearObtained;
- @XmlElement(required = true)
- protected String nameOfInstitution;
- @XmlElement(name = "AQAA")
- protected int aqaa;
-
- /**
- * Gets the value of the study property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStudy() {
- return study;
- }
-
- /**
- * Sets the value of the study property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStudy(String value) {
- this.study = value;
- }
-
- /**
- * Gets the value of the level property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getLevel() {
- return level;
- }
-
- /**
- * Sets the value of the level property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setLevel(String value) {
- this.level = value;
- }
-
- /**
- * Gets the value of the yearObtained property.
- *
- * @return
- * possible object is
- * {@link BigInteger }
- *
- */
- public BigInteger getYearObtained() {
- return yearObtained;
- }
-
- /**
- * Sets the value of the yearObtained property.
- *
- * @param value
- * allowed object is
- * {@link BigInteger }
- *
- */
- public void setYearObtained(BigInteger value) {
- this.yearObtained = value;
- }
-
- /**
- * Gets the value of the nameOfInstitution property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameOfInstitution() {
- return nameOfInstitution;
- }
-
- /**
- * Sets the value of the nameOfInstitution property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameOfInstitution(String value) {
- this.nameOfInstitution = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsAcademicStaffType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsAcademicStaffType.java.svn-base
deleted file mode 100644
index 02d9286d8..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsAcademicStaffType.java.svn-base
+++ /dev/null
@@ -1,145 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for isAcademicStaffType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="isAcademicStaffType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="nameOfInstitution" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="occupation" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}occupationType"/>
- * &lt;element name="knowledgearea" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="AQAA" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}QualityAuthenticationAssuranceLevelType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isAcademicStaffType", propOrder = {
- "nameOfInstitution",
- "occupation",
- "knowledgearea",
- "aqaa"
-})
-public class IsAcademicStaffType {
-
- @XmlElement(required = true)
- protected String nameOfInstitution;
- @XmlElement(required = true)
- protected String occupation;
- @XmlElement(required = true)
- protected String knowledgearea;
- @XmlElement(name = "AQAA")
- protected int aqaa;
-
- /**
- * Gets the value of the nameOfInstitution property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameOfInstitution() {
- return nameOfInstitution;
- }
-
- /**
- * Sets the value of the nameOfInstitution property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameOfInstitution(String value) {
- this.nameOfInstitution = value;
- }
-
- /**
- * Gets the value of the occupation property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getOccupation() {
- return occupation;
- }
-
- /**
- * Sets the value of the occupation property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setOccupation(String value) {
- this.occupation = value;
- }
-
- /**
- * Gets the value of the knowledgearea property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getKnowledgearea() {
- return knowledgearea;
- }
-
- /**
- * Sets the value of the knowledgearea property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setKnowledgearea(String value) {
- this.knowledgearea = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsAdminStaffType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsAdminStaffType.java.svn-base
deleted file mode 100644
index 0de16ee77..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsAdminStaffType.java.svn-base
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for isAdminStaffType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="isAdminStaffType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="adminStaff" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="AQAA" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}QualityAuthenticationAssuranceLevelType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isAdminStaffType", propOrder = {
- "adminStaff",
- "aqaa"
-})
-public class IsAdminStaffType {
-
- @XmlElement(required = true)
- protected String adminStaff;
- @XmlElement(name = "AQAA")
- protected int aqaa;
-
- /**
- * Gets the value of the adminStaff property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAdminStaff() {
- return adminStaff;
- }
-
- /**
- * Sets the value of the adminStaff property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAdminStaff(String value) {
- this.adminStaff = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsCourseCoordinatorType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsCourseCoordinatorType.java.svn-base
deleted file mode 100644
index 58caa2f22..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsCourseCoordinatorType.java.svn-base
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for isCourseCoordinatorType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="isCourseCoordinatorType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="courseCoodinator" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="AQAA" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}QualityAuthenticationAssuranceLevelType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isCourseCoordinatorType", propOrder = {
- "courseCoodinator",
- "aqaa"
-})
-public class IsCourseCoordinatorType {
-
- @XmlElement(required = true)
- protected String courseCoodinator;
- @XmlElement(name = "AQAA")
- protected int aqaa;
-
- /**
- * Gets the value of the courseCoodinator property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCourseCoodinator() {
- return courseCoodinator;
- }
-
- /**
- * Sets the value of the courseCoodinator property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCourseCoodinator(String value) {
- this.courseCoodinator = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsHCPType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsHCPType.java.svn-base
deleted file mode 100644
index 17e315d2d..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsHCPType.java.svn-base
+++ /dev/null
@@ -1,145 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for isHCPType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="isHCPType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="nameOfOrganisation" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="HCPType" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}HCPType"/>
- * &lt;element name="specialisation" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}specialisationType"/>
- * &lt;element name="AQAA" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}QualityAuthenticationAssuranceLevelType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isHCPType", propOrder = {
- "nameOfOrganisation",
- "hcpType",
- "specialisation",
- "aqaa"
-})
-public class IsHCPType {
-
- @XmlElement(required = true)
- protected String nameOfOrganisation;
- @XmlElement(name = "HCPType", required = true)
- protected String hcpType;
- @XmlElement(required = true)
- protected String specialisation;
- @XmlElement(name = "AQAA")
- protected int aqaa;
-
- /**
- * Gets the value of the nameOfOrganisation property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameOfOrganisation() {
- return nameOfOrganisation;
- }
-
- /**
- * Sets the value of the nameOfOrganisation property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameOfOrganisation(String value) {
- this.nameOfOrganisation = value;
- }
-
- /**
- * Gets the value of the hcpType property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getHCPType() {
- return hcpType;
- }
-
- /**
- * Sets the value of the hcpType property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setHCPType(String value) {
- this.hcpType = value;
- }
-
- /**
- * Gets the value of the specialisation property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getSpecialisation() {
- return specialisation;
- }
-
- /**
- * Sets the value of the specialisation property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setSpecialisation(String value) {
- this.specialisation = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsHealthCareProfessionalType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsHealthCareProfessionalType.java.svn-base
deleted file mode 100644
index de2003a3f..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsHealthCareProfessionalType.java.svn-base
+++ /dev/null
@@ -1,145 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for isHealthCareProfessionalType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="isHealthCareProfessionalType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="nameOfOrganisation" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element ref="{urn:eu:stork:names:tc:STORK:1.0:assertion}HCPType"/>
- * &lt;element ref="{urn:eu:stork:names:tc:STORK:1.0:assertion}specialisation"/>
- * &lt;element name="AQAA" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}QualityAuthenticationAssuranceLevelType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isHealthCareProfessionalType", propOrder = {
- "nameOfOrganisation",
- "hcpType",
- "specialisation",
- "aqaa"
-})
-public class IsHealthCareProfessionalType {
-
- @XmlElement(required = true)
- protected String nameOfOrganisation;
- @XmlElement(name = "HCPType", required = true)
- protected String hcpType;
- @XmlElement(required = true)
- protected String specialisation;
- @XmlElement(name = "AQAA")
- protected int aqaa;
-
- /**
- * Gets the value of the nameOfOrganisation property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameOfOrganisation() {
- return nameOfOrganisation;
- }
-
- /**
- * Sets the value of the nameOfOrganisation property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameOfOrganisation(String value) {
- this.nameOfOrganisation = value;
- }
-
- /**
- * Gets the value of the hcpType property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getHCPType() {
- return hcpType;
- }
-
- /**
- * Sets the value of the hcpType property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setHCPType(String value) {
- this.hcpType = value;
- }
-
- /**
- * Gets the value of the specialisation property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getSpecialisation() {
- return specialisation;
- }
-
- /**
- * Sets the value of the specialisation property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setSpecialisation(String value) {
- this.specialisation = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsStudentType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsStudentType.java.svn-base
deleted file mode 100644
index 6a7dc838a..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsStudentType.java.svn-base
+++ /dev/null
@@ -1,146 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for isStudentType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="isStudentType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element ref="{urn:eu:stork:names:tc:STORK:1.0:assertion}study"/>
- * &lt;element name="nameOfInstitution" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="course" type="{http://www.w3.org/2001/XMLSchema}integer"/>
- * &lt;element name="AQAA" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}QualityAuthenticationAssuranceLevelType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isStudentType", propOrder = {
- "study",
- "nameOfInstitution",
- "course",
- "aqaa"
-})
-public class IsStudentType {
-
- @XmlElement(required = true)
- protected String study;
- @XmlElement(required = true)
- protected String nameOfInstitution;
- @XmlElement(required = true)
- protected BigInteger course;
- @XmlElement(name = "AQAA")
- protected int aqaa;
-
- /**
- * Gets the value of the study property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStudy() {
- return study;
- }
-
- /**
- * Sets the value of the study property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStudy(String value) {
- this.study = value;
- }
-
- /**
- * Gets the value of the nameOfInstitution property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameOfInstitution() {
- return nameOfInstitution;
- }
-
- /**
- * Sets the value of the nameOfInstitution property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameOfInstitution(String value) {
- this.nameOfInstitution = value;
- }
-
- /**
- * Gets the value of the course property.
- *
- * @return
- * possible object is
- * {@link BigInteger }
- *
- */
- public BigInteger getCourse() {
- return course;
- }
-
- /**
- * Sets the value of the course property.
- *
- * @param value
- * allowed object is
- * {@link BigInteger }
- *
- */
- public void setCourse(BigInteger value) {
- this.course = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsTeacherOfType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsTeacherOfType.java.svn-base
deleted file mode 100644
index 810f652c1..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/IsTeacherOfType.java.svn-base
+++ /dev/null
@@ -1,145 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for isTeacherOfType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="isTeacherOfType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="nameOfInstitution" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="course" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="role" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="AQAA" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}QualityAuthenticationAssuranceLevelType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isTeacherOfType", propOrder = {
- "nameOfInstitution",
- "course",
- "role",
- "aqaa"
-})
-public class IsTeacherOfType {
-
- @XmlElement(required = true)
- protected String nameOfInstitution;
- @XmlElement(required = true)
- protected String course;
- @XmlElement(required = true)
- protected String role;
- @XmlElement(name = "AQAA")
- protected int aqaa;
-
- /**
- * Gets the value of the nameOfInstitution property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameOfInstitution() {
- return nameOfInstitution;
- }
-
- /**
- * Sets the value of the nameOfInstitution property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameOfInstitution(String value) {
- this.nameOfInstitution = value;
- }
-
- /**
- * Gets the value of the course property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCourse() {
- return course;
- }
-
- /**
- * Sets the value of the course property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCourse(String value) {
- this.course = value;
- }
-
- /**
- * Gets the value of the role property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getRole() {
- return role;
- }
-
- /**
- * Sets the value of the role property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setRole(String value) {
- this.role = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/MandateContentType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/MandateContentType.java.svn-base
deleted file mode 100644
index 84ce2727b..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/MandateContentType.java.svn-base
+++ /dev/null
@@ -1,233 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import java.math.BigInteger;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-
-/**
- * <p>Java class for mandateContentType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="mandateContentType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="validFrom" type="{http://www.w3.org/2001/XMLSchema}date"/>
- * &lt;element name="validTo" type="{http://www.w3.org/2001/XMLSchema}date"/>
- * &lt;element name="transactionLimit" type="{http://www.w3.org/2001/XMLSchema}integer"/>
- * &lt;element name="transactionLimitCurrency" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}currencyType"/>
- * &lt;element name="isJoint" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="ischained" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
- * &lt;element name="typePower" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "mandateContentType", propOrder = {
- "validFrom",
- "validTo",
- "transactionLimit",
- "transactionLimitCurrency",
- "isJoint",
- "ischained",
- "typePower"
-})
-public class MandateContentType {
-
- @XmlElement(required = true)
- @XmlSchemaType(name = "date")
- protected XMLGregorianCalendar validFrom;
- @XmlElement(required = true)
- @XmlSchemaType(name = "date")
- protected XMLGregorianCalendar validTo;
- @XmlElement(required = true)
- protected BigInteger transactionLimit;
- @XmlElement(required = true)
- protected String transactionLimitCurrency;
- @XmlElement(required = true)
- protected String isJoint;
- protected boolean ischained;
- @XmlElement(required = true)
- protected String typePower;
-
- /**
- * Gets the value of the validFrom property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getValidFrom() {
- return validFrom;
- }
-
- /**
- * Sets the value of the validFrom property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setValidFrom(XMLGregorianCalendar value) {
- this.validFrom = value;
- }
-
- /**
- * Gets the value of the validTo property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getValidTo() {
- return validTo;
- }
-
- /**
- * Sets the value of the validTo property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setValidTo(XMLGregorianCalendar value) {
- this.validTo = value;
- }
-
- /**
- * Gets the value of the transactionLimit property.
- *
- * @return
- * possible object is
- * {@link BigInteger }
- *
- */
- public BigInteger getTransactionLimit() {
- return transactionLimit;
- }
-
- /**
- * Sets the value of the transactionLimit property.
- *
- * @param value
- * allowed object is
- * {@link BigInteger }
- *
- */
- public void setTransactionLimit(BigInteger value) {
- this.transactionLimit = value;
- }
-
- /**
- * Gets the value of the transactionLimitCurrency property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTransactionLimitCurrency() {
- return transactionLimitCurrency;
- }
-
- /**
- * Sets the value of the transactionLimitCurrency property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTransactionLimitCurrency(String value) {
- this.transactionLimitCurrency = value;
- }
-
- /**
- * Gets the value of the isJoint property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getIsJoint() {
- return isJoint;
- }
-
- /**
- * Sets the value of the isJoint property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setIsJoint(String value) {
- this.isJoint = value;
- }
-
- /**
- * Gets the value of the ischained property.
- *
- */
- public boolean isIschained() {
- return ischained;
- }
-
- /**
- * Sets the value of the ischained property.
- *
- */
- public void setIschained(boolean value) {
- this.ischained = value;
- }
-
- /**
- * Gets the value of the typePower property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTypePower() {
- return typePower;
- }
-
- /**
- * Sets the value of the typePower property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTypePower(String value) {
- this.typePower = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/MandateType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/MandateType.java.svn-base
deleted file mode 100644
index 26597dc6b..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/MandateType.java.svn-base
+++ /dev/null
@@ -1,125 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for mandateType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="mandateType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element name="represented" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}representationPersonType"/>
- * &lt;element name="representing" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}representationPersonType"/>
- * &lt;element name="mandateContent" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}mandateContentType"/>
- * &lt;/sequence>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "mandateType", propOrder = {
- "represented",
- "representing",
- "mandateContent"
-})
-public class MandateType {
-
- @XmlElement(required = true)
- protected RepresentationPersonType represented;
- @XmlElement(required = true)
- protected RepresentationPersonType representing;
- @XmlElement(required = true)
- protected MandateContentType mandateContent;
-
- /**
- * Gets the value of the represented property.
- *
- * @return
- * possible object is
- * {@link RepresentationPersonType }
- *
- */
- public RepresentationPersonType getRepresented() {
- return represented;
- }
-
- /**
- * Sets the value of the represented property.
- *
- * @param value
- * allowed object is
- * {@link RepresentationPersonType }
- *
- */
- public void setRepresented(RepresentationPersonType value) {
- this.represented = value;
- }
-
- /**
- * Gets the value of the representing property.
- *
- * @return
- * possible object is
- * {@link RepresentationPersonType }
- *
- */
- public RepresentationPersonType getRepresenting() {
- return representing;
- }
-
- /**
- * Sets the value of the representing property.
- *
- * @param value
- * allowed object is
- * {@link RepresentationPersonType }
- *
- */
- public void setRepresenting(RepresentationPersonType value) {
- this.representing = value;
- }
-
- /**
- * Gets the value of the mandateContent property.
- *
- * @return
- * possible object is
- * {@link MandateContentType }
- *
- */
- public MandateContentType getMandateContent() {
- return mandateContent;
- }
-
- /**
- * Sets the value of the mandateContent property.
- *
- * @param value
- * allowed object is
- * {@link MandateContentType }
- *
- */
- public void setMandateContent(MandateContentType value) {
- this.mandateContent = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/ObjectFactory.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/ObjectFactory.java.svn-base
deleted file mode 100644
index eca4ca3de..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/ObjectFactory.java.svn-base
+++ /dev/null
@@ -1,433 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlElementDecl;
-import javax.xml.bind.annotation.XmlRegistry;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.namespace.QName;
-
-
-/**
- * This object contains factory methods for each
- * Java content interface and Java element interface
- * generated in the eu.stork.peps.complex.attributes package.
- * <p>An ObjectFactory allows you to programatically
- * construct new instances of the Java representation
- * for XML content. The Java representation of XML
- * content can consist of schema derived interfaces
- * and classes representing the binding of schema
- * type definitions, element declarations and model
- * groups. Factory methods for each of these are
- * provided in this class.
- *
- */
-@XmlRegistry
-public class ObjectFactory {
-
- private final static QName _Habilitation_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "habilitation");
- private final static QName _HasDegree_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "hasDegree");
- private final static QName _SpApplication_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "spApplication");
- private final static QName _Specialisation_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "specialisation");
- private final static QName _IsStudent_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isStudent");
- private final static QName _AQAA_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "AQAA");
- private final static QName _HCPType_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "HCPType");
- private final static QName _CanonicalResidenceAddress_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "canonicalResidenceAddress");
- private final static QName _AcTitle_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "acTitle");
- private final static QName _QualityAuthenticationAssuranceLevel_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "QualityAuthenticationAssuranceLevel");
- private final static QName _IsAcademicStaff_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isAcademicStaff");
- private final static QName _IsTeacherOf_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isTeacherOf");
- private final static QName _IsCourseCoordinator_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isCourseCoordinator");
- private final static QName _CanonicalRegisteredAddress_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "canonicalRegisteredAddress");
- private final static QName _SpCountry_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "spCountry");
- private final static QName _IsAdminStaff_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isAdminStaff");
- private final static QName _CitizenCountryCode_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "CitizenCountryCode");
- private final static QName _AttributeValue_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "AttributeValue");
- private final static QName _HasAccountInBank_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "hasAccountInBank");
- private final static QName _CountryCodeAddress_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "countryCodeAddress");
- private final static QName _Study_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "study");
- private final static QName _IsHealthCareProfessional_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isHealthCareProfessional");
- private final static QName _Mandate_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "mandate");
- private final static QName _RequestedAttribute_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "RequestedAttribute");
- private final static QName _SpSector_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "spSector");
-
- /**
- * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: eu.stork.peps.complex.attributes
- *
- */
- public ObjectFactory() {
- }
-
- /**
- * Create an instance of {@link RequestedAttributeType }
- *
- */
- public RequestedAttributeType createRequestedAttributeType() {
- return new RequestedAttributeType();
- }
-
- /**
- * Create an instance of {@link MandateType }
- *
- */
- public MandateType createMandateType() {
- return new MandateType();
- }
-
- /**
- * Create an instance of {@link HasAccountInBankType }
- *
- */
- public HasAccountInBankType createHasAccountInBankType() {
- return new HasAccountInBankType();
- }
-
- /**
- * Create an instance of {@link IsHealthCareProfessionalType }
- *
- */
- public IsHealthCareProfessionalType createIsHealthCareProfessionalType() {
- return new IsHealthCareProfessionalType();
- }
-
- /**
- * Create an instance of {@link IsAdminStaffType }
- *
- */
- public IsAdminStaffType createIsAdminStaffType() {
- return new IsAdminStaffType();
- }
-
- /**
- * Create an instance of {@link CanonicalAddressType }
- *
- */
- public CanonicalAddressType createCanonicalAddressType() {
- return new CanonicalAddressType();
- }
-
- /**
- * Create an instance of {@link IsCourseCoordinatorType }
- *
- */
- public IsCourseCoordinatorType createIsCourseCoordinatorType() {
- return new IsCourseCoordinatorType();
- }
-
- /**
- * Create an instance of {@link IsAcademicStaffType }
- *
- */
- public IsAcademicStaffType createIsAcademicStaffType() {
- return new IsAcademicStaffType();
- }
-
- /**
- * Create an instance of {@link IsTeacherOfType }
- *
- */
- public IsTeacherOfType createIsTeacherOfType() {
- return new IsTeacherOfType();
- }
-
- /**
- * Create an instance of {@link AcTitleType }
- *
- */
- public AcTitleType createAcTitleType() {
- return new AcTitleType();
- }
-
- /**
- * Create an instance of {@link IsStudentType }
- *
- */
- public IsStudentType createIsStudentType() {
- return new IsStudentType();
- }
-
- /**
- * Create an instance of {@link HasDegreeType }
- *
- */
- public HasDegreeType createHasDegreeType() {
- return new HasDegreeType();
- }
-
- /**
- * Create an instance of {@link HabilitationType }
- *
- */
- public HabilitationType createHabilitationType() {
- return new HabilitationType();
- }
-
- /**
- * Create an instance of {@link MandateContentType }
- *
- */
- public MandateContentType createMandateContentType() {
- return new MandateContentType();
- }
-
- /**
- * Create an instance of {@link RepresentationPersonType }
- *
- */
- public RepresentationPersonType createRepresentationPersonType() {
- return new RepresentationPersonType();
- }
-
- /**
- * Create an instance of {@link Habilitation }
- *
- */
- public Habilitation createHabilitation() {
- return new Habilitation();
- }
-
- /**
- * Create an instance of {@link IsHCPType }
- *
- */
- public IsHCPType createIsHCPType() {
- return new IsHCPType();
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link HabilitationType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "habilitation")
- public JAXBElement<HabilitationType> createHabilitation(HabilitationType value) {
- return new JAXBElement<HabilitationType>(_Habilitation_QNAME, HabilitationType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link HasDegreeType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "hasDegree")
- public JAXBElement<HasDegreeType> createHasDegree(HasDegreeType value) {
- return new JAXBElement<HasDegreeType>(_HasDegree_QNAME, HasDegreeType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "spApplication")
- public JAXBElement<String> createSpApplication(String value) {
- return new JAXBElement<String>(_SpApplication_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "specialisation")
- public JAXBElement<String> createSpecialisation(String value) {
- return new JAXBElement<String>(_Specialisation_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link IsStudentType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isStudent")
- public JAXBElement<IsStudentType> createIsStudent(IsStudentType value) {
- return new JAXBElement<IsStudentType>(_IsStudent_QNAME, IsStudentType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "AQAA")
- public JAXBElement<Integer> createAQAA(Integer value) {
- return new JAXBElement<Integer>(_AQAA_QNAME, Integer.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "HCPType")
- public JAXBElement<String> createHCPType(String value) {
- return new JAXBElement<String>(_HCPType_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link CanonicalAddressType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "canonicalResidenceAddress")
- public JAXBElement<CanonicalAddressType> createCanonicalResidenceAddress(CanonicalAddressType value) {
- return new JAXBElement<CanonicalAddressType>(_CanonicalResidenceAddress_QNAME, CanonicalAddressType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link AcTitleType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "acTitle")
- public JAXBElement<AcTitleType> createAcTitle(AcTitleType value) {
- return new JAXBElement<AcTitleType>(_AcTitle_QNAME, AcTitleType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "QualityAuthenticationAssuranceLevel")
- public JAXBElement<Integer> createQualityAuthenticationAssuranceLevel(Integer value) {
- return new JAXBElement<Integer>(_QualityAuthenticationAssuranceLevel_QNAME, Integer.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link IsAcademicStaffType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isAcademicStaff")
- public JAXBElement<IsAcademicStaffType> createIsAcademicStaff(IsAcademicStaffType value) {
- return new JAXBElement<IsAcademicStaffType>(_IsAcademicStaff_QNAME, IsAcademicStaffType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link IsTeacherOfType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isTeacherOf")
- public JAXBElement<IsTeacherOfType> createIsTeacherOf(IsTeacherOfType value) {
- return new JAXBElement<IsTeacherOfType>(_IsTeacherOf_QNAME, IsTeacherOfType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link IsCourseCoordinatorType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isCourseCoordinator")
- public JAXBElement<IsCourseCoordinatorType> createIsCourseCoordinator(IsCourseCoordinatorType value) {
- return new JAXBElement<IsCourseCoordinatorType>(_IsCourseCoordinator_QNAME, IsCourseCoordinatorType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link CanonicalAddressType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "canonicalRegisteredAddress")
- public JAXBElement<CanonicalAddressType> createCanonicalRegisteredAddress(CanonicalAddressType value) {
- return new JAXBElement<CanonicalAddressType>(_CanonicalRegisteredAddress_QNAME, CanonicalAddressType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "spCountry")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- public JAXBElement<String> createSpCountry(String value) {
- return new JAXBElement<String>(_SpCountry_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link IsAdminStaffType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isAdminStaff")
- public JAXBElement<IsAdminStaffType> createIsAdminStaff(IsAdminStaffType value) {
- return new JAXBElement<IsAdminStaffType>(_IsAdminStaff_QNAME, IsAdminStaffType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "CitizenCountryCode")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- public JAXBElement<String> createCitizenCountryCode(String value) {
- return new JAXBElement<String>(_CitizenCountryCode_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link Object }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "AttributeValue")
- public JAXBElement<Object> createAttributeValue(Object value) {
- return new JAXBElement<Object>(_AttributeValue_QNAME, Object.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link HasAccountInBankType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "hasAccountInBank")
- public JAXBElement<HasAccountInBankType> createHasAccountInBank(HasAccountInBankType value) {
- return new JAXBElement<HasAccountInBankType>(_HasAccountInBank_QNAME, HasAccountInBankType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "countryCodeAddress")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- public JAXBElement<String> createCountryCodeAddress(String value) {
- return new JAXBElement<String>(_CountryCodeAddress_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "study")
- public JAXBElement<String> createStudy(String value) {
- return new JAXBElement<String>(_Study_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link IsHealthCareProfessionalType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isHealthCareProfessional")
- public JAXBElement<IsHealthCareProfessionalType> createIsHealthCareProfessional(IsHealthCareProfessionalType value) {
- return new JAXBElement<IsHealthCareProfessionalType>(_IsHealthCareProfessional_QNAME, IsHealthCareProfessionalType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link MandateType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "mandate")
- public JAXBElement<MandateType> createMandate(MandateType value) {
- return new JAXBElement<MandateType>(_Mandate_QNAME, MandateType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link RequestedAttributeType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "RequestedAttribute")
- public JAXBElement<RequestedAttributeType> createRequestedAttribute(RequestedAttributeType value) {
- return new JAXBElement<RequestedAttributeType>(_RequestedAttribute_QNAME, RequestedAttributeType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "spSector")
- public JAXBElement<String> createSpSector(String value) {
- return new JAXBElement<String>(_SpSector_QNAME, String.class, null, value);
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/RepresentationPersonType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/RepresentationPersonType.java.svn-base
deleted file mode 100644
index b1d993f89..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/RepresentationPersonType.java.svn-base
+++ /dev/null
@@ -1,289 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for representationPersonType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="representationPersonType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;choice>
- * &lt;sequence>
- * &lt;element name="eIdentifier" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="givenName" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="surname" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="dateOfBirth" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;/sequence>
- * &lt;sequence>
- * &lt;element name="eLPIdentifier" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="address" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;element name="canonicalAddress" type="{urn:eu:stork:names:tc:STORK:1.0:assertion}canonicalAddressType"/>
- * &lt;element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * &lt;/sequence>
- * &lt;/choice>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "representationPersonType", propOrder = {
- "eIdentifier",
- "givenName",
- "surname",
- "dateOfBirth",
- "elpIdentifier",
- "name",
- "address",
- "canonicalAddress",
- "type"
-})
-public class RepresentationPersonType {
-
- protected String eIdentifier;
- protected String givenName;
- protected String surname;
- protected String dateOfBirth;
- @XmlElement(name = "eLPIdentifier")
- protected String elpIdentifier;
- protected String name;
- protected String address;
- protected CanonicalAddressType canonicalAddress;
- protected String type;
-
- /**
- * Gets the value of the eIdentifier property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getEIdentifier() {
- return eIdentifier;
- }
-
- /**
- * Sets the value of the eIdentifier property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setEIdentifier(String value) {
- this.eIdentifier = value;
- }
-
- /**
- * Gets the value of the givenName property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getGivenName() {
- return givenName;
- }
-
- /**
- * Sets the value of the givenName property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setGivenName(String value) {
- this.givenName = value;
- }
-
- /**
- * Gets the value of the surname property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getSurname() {
- return surname;
- }
-
- /**
- * Sets the value of the surname property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setSurname(String value) {
- this.surname = value;
- }
-
- /**
- * Gets the value of the dateOfBirth property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getDateOfBirth() {
- return dateOfBirth;
- }
-
- /**
- * Sets the value of the dateOfBirth property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setDateOfBirth(String value) {
- this.dateOfBirth = value;
- }
-
- /**
- * Gets the value of the elpIdentifier property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getELPIdentifier() {
- return elpIdentifier;
- }
-
- /**
- * Sets the value of the elpIdentifier property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setELPIdentifier(String value) {
- this.elpIdentifier = value;
- }
-
- /**
- * Gets the value of the name property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getName() {
- return name;
- }
-
- /**
- * Sets the value of the name property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setName(String value) {
- this.name = value;
- }
-
- /**
- * Gets the value of the address property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAddress() {
- return address;
- }
-
- /**
- * Sets the value of the address property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAddress(String value) {
- this.address = value;
- }
-
- /**
- * Gets the value of the canonicalAddress property.
- *
- * @return
- * possible object is
- * {@link CanonicalAddressType }
- *
- */
- public CanonicalAddressType getCanonicalAddress() {
- return canonicalAddress;
- }
-
- /**
- * Sets the value of the canonicalAddress property.
- *
- * @param value
- * allowed object is
- * {@link CanonicalAddressType }
- *
- */
- public void setCanonicalAddress(CanonicalAddressType value) {
- this.canonicalAddress = value;
- }
-
- /**
- * Gets the value of the type property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getType() {
- return type;
- }
-
- /**
- * Sets the value of the type property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setType(String value) {
- this.type = value;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/RequestedAttributeType.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/RequestedAttributeType.java.svn-base
deleted file mode 100644
index 6a7c0b443..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/RequestedAttributeType.java.svn-base
+++ /dev/null
@@ -1,212 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-
-package eu.stork.peps.complex.attributes;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.namespace.QName;
-
-
-/**
- * <p>Java class for RequestedAttributeType complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType name="RequestedAttributeType">
- * &lt;complexContent>
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- * &lt;sequence>
- * &lt;element ref="{urn:eu:stork:names:tc:STORK:1.0:assertion}AttributeValue" maxOccurs="unbounded" minOccurs="0"/>
- * &lt;/sequence>
- * &lt;attribute name="Name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- * &lt;attribute name="NameFormat" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
- * &lt;attribute name="FriendlyName" type="{http://www.w3.org/2001/XMLSchema}string" />
- * &lt;attribute name="isRequired" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- * &lt;anyAttribute processContents='lax' namespace='##other'/>
- * &lt;/restriction>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "RequestedAttributeType", propOrder = {
- "attributeValue"
-})
-public class RequestedAttributeType {
-
- @XmlElement(name = "AttributeValue")
- protected List<Object> attributeValue;
- @XmlAttribute(name = "Name", required = true)
- protected String name;
- @XmlAttribute(name = "NameFormat", required = true)
- @XmlSchemaType(name = "anyURI")
- protected String nameFormat;
- @XmlAttribute(name = "FriendlyName")
- protected String friendlyName;
- @XmlAttribute(name = "isRequired")
- protected Boolean isRequired;
- @XmlAnyAttribute
- private Map<QName, String> otherAttributes = new HashMap<QName, String>();
-
- /**
- * Gets the value of the attributeValue property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the attributeValue property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getAttributeValue().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link Object }
- *
- *
- */
- public List<Object> getAttributeValue() {
- if (attributeValue == null) {
- attributeValue = new ArrayList<Object>();
- }
- return this.attributeValue;
- }
-
- /**
- * Gets the value of the name property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getName() {
- return name;
- }
-
- /**
- * Sets the value of the name property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setName(String value) {
- this.name = value;
- }
-
- /**
- * Gets the value of the nameFormat property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameFormat() {
- return nameFormat;
- }
-
- /**
- * Sets the value of the nameFormat property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameFormat(String value) {
- this.nameFormat = value;
- }
-
- /**
- * Gets the value of the friendlyName property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getFriendlyName() {
- return friendlyName;
- }
-
- /**
- * Sets the value of the friendlyName property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setFriendlyName(String value) {
- this.friendlyName = value;
- }
-
- /**
- * Gets the value of the isRequired property.
- *
- * @return
- * possible object is
- * {@link Boolean }
- *
- */
- public Boolean isIsRequired() {
- return isRequired;
- }
-
- /**
- * Sets the value of the isRequired property.
- *
- * @param value
- * allowed object is
- * {@link Boolean }
- *
- */
- public void setIsRequired(Boolean value) {
- this.isRequired = value;
- }
-
- /**
- * Gets a map that contains attributes that aren't bound to any typed property on this class.
- *
- * <p>
- * the map is keyed by the name of the attribute and
- * the value is the string value of the attribute.
- *
- * the map returned by this method is live, and you can add new attribute
- * by updating the map directly. Because of this design, there's no setter.
- *
- *
- * @return
- * always non-null
- */
- public Map<QName, String> getOtherAttributes() {
- return otherAttributes;
- }
-
-}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/package-info.java.svn-base b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/package-info.java.svn-base
deleted file mode 100644
index 47e225d22..000000000
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/text-base/package-info.java.svn-base
+++ /dev/null
@@ -1,9 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2014.02.17 at 10:36:59 AM GMT
-//
-
-@javax.xml.bind.annotation.XmlSchema(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
-package eu.stork.peps.complex.attributes;
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AdditionalInformationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AdditionalInformationType.java
index 21a15820b..87268f991 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AdditionalInformationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AdditionalInformationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,13 +12,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Additional information
*
- * <p>Java class for AdditionalInformationType complex type.
+ * <p>
+ * Java class for AdditionalInformationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AdditionalInformationType">
@@ -37,63 +37,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AdditionalInformationType", propOrder = {
- "specificInformation",
- "otherSources"
-})
+@XmlType(name = "AdditionalInformationType", propOrder = { "specificInformation", "otherSources" })
public class AdditionalInformationType {
- @XmlElement(name = "SpecificInformation")
- protected RichTextTagType specificInformation;
- @XmlElement(name = "OtherSources")
- protected RichTextTagType otherSources;
+ @XmlElement(name = "SpecificInformation")
+ protected RichTextTagType specificInformation;
+ @XmlElement(name = "OtherSources")
+ protected RichTextTagType otherSources;
- /**
- * Gets the value of the specificInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getSpecificInformation() {
- return specificInformation;
- }
+ /**
+ * Gets the value of the specificInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getSpecificInformation() {
+ return specificInformation;
+ }
- /**
- * Sets the value of the specificInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setSpecificInformation(RichTextTagType value) {
- this.specificInformation = value;
- }
+ /**
+ * Sets the value of the specificInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setSpecificInformation(RichTextTagType value) {
+ this.specificInformation = value;
+ }
- /**
- * Gets the value of the otherSources property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getOtherSources() {
- return otherSources;
- }
+ /**
+ * Gets the value of the otherSources property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getOtherSources() {
+ return otherSources;
+ }
- /**
- * Sets the value of the otherSources property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setOtherSources(RichTextTagType value) {
- this.otherSources = value;
- }
+ /**
+ * Sets the value of the otherSources property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setOtherSources(RichTextTagType value) {
+ this.otherSources = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AddressType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AddressType.java
index 044801564..044fd0a04 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AddressType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AddressType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -17,13 +16,14 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-
/**
* Address
*
- * <p>Java class for AddressType complex type.
+ * <p>
+ * Java class for AddressType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AddressType">
@@ -52,230 +52,203 @@ import javax.xml.bind.annotation.XmlValue;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AddressType", propOrder = {
- "line",
- "city",
- "stateOrRegion",
- "postalCode",
- "country"
-})
+@XmlType(name = "AddressType", propOrder = { "line", "city", "stateOrRegion", "postalCode", "country" })
public class AddressType {
- @XmlElement(name = "Line", required = true)
- protected List<String> line;
- @XmlElement(name = "City", required = true)
- protected String city;
- @XmlElement(name = "StateOrRegion", required = true)
- protected String stateOrRegion;
- @XmlElement(name = "PostalCode", required = true)
- protected String postalCode;
- @XmlElement(name = "Country", required = true)
- protected AddressType.Country country;
-
- /**
- * Gets the value of the line property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the line property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getLine().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link String }
- *
- *
- */
- public List<String> getLine() {
- if (line == null) {
- line = new ArrayList<String>();
- }
- return this.line;
- }
-
- /**
- * Gets the value of the city property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCity() {
- return city;
- }
-
- /**
- * Sets the value of the city property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCity(String value) {
- this.city = value;
- }
-
- /**
- * Gets the value of the stateOrRegion property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStateOrRegion() {
- return stateOrRegion;
- }
-
- /**
- * Sets the value of the stateOrRegion property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStateOrRegion(String value) {
- this.stateOrRegion = value;
- }
-
- /**
- * Gets the value of the postalCode property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getPostalCode() {
- return postalCode;
- }
-
- /**
- * Sets the value of the postalCode property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setPostalCode(String value) {
- this.postalCode = value;
- }
-
- /**
- * Gets the value of the country property.
- *
- * @return
- * possible object is
- * {@link AddressType.Country }
- *
- */
- public AddressType.Country getCountry() {
- return country;
- }
-
- /**
- * Sets the value of the country property.
- *
- * @param value
- * allowed object is
- * {@link AddressType.Country }
- *
- */
- public void setCountry(AddressType.Country value) {
- this.country = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
- * &lt;attribute name="country" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}CountryType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class Country {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "country", required = true)
- protected CountryType country;
-
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the country property.
- *
- * @return
- * possible object is
- * {@link CountryType }
- *
- */
- public CountryType getCountry() {
- return country;
- }
-
- /**
- * Sets the value of the country property.
- *
- * @param value
- * allowed object is
- * {@link CountryType }
- *
- */
- public void setCountry(CountryType value) {
- this.country = value;
- }
-
- }
+ @XmlElement(name = "Line", required = true)
+ protected List<String> line;
+ @XmlElement(name = "City", required = true)
+ protected String city;
+ @XmlElement(name = "StateOrRegion", required = true)
+ protected String stateOrRegion;
+ @XmlElement(name = "PostalCode", required = true)
+ protected String postalCode;
+ @XmlElement(name = "Country", required = true)
+ protected AddressType.Country country;
+
+ /**
+ * Gets the value of the line property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the line property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getLine().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String }
+ *
+ *
+ */
+ public List<String> getLine() {
+ if (line == null) {
+ line = new ArrayList<String>();
+ }
+ return this.line;
+ }
+
+ /**
+ * Gets the value of the city property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCity() {
+ return city;
+ }
+
+ /**
+ * Sets the value of the city property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCity(String value) {
+ this.city = value;
+ }
+
+ /**
+ * Gets the value of the stateOrRegion property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getStateOrRegion() {
+ return stateOrRegion;
+ }
+
+ /**
+ * Sets the value of the stateOrRegion property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setStateOrRegion(String value) {
+ this.stateOrRegion = value;
+ }
+
+ /**
+ * Gets the value of the postalCode property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getPostalCode() {
+ return postalCode;
+ }
+
+ /**
+ * Sets the value of the postalCode property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setPostalCode(String value) {
+ this.postalCode = value;
+ }
+
+ /**
+ * Gets the value of the country property.
+ *
+ * @return possible object is {@link AddressType.Country }
+ *
+ */
+ public AddressType.Country getCountry() {
+ return country;
+ }
+
+ /**
+ * Sets the value of the country property.
+ *
+ * @param value
+ * allowed object is {@link AddressType.Country }
+ *
+ */
+ public void setCountry(AddressType.Country value) {
+ this.country = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
+ * &lt;attribute name="country" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}CountryType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class Country {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "country", required = true)
+ protected CountryType country;
+
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the country property.
+ *
+ * @return possible object is {@link CountryType }
+ *
+ */
+ public CountryType getCountry() {
+ return country;
+ }
+
+ /**
+ * Sets the value of the country property.
+ *
+ * @param value
+ * allowed object is {@link CountryType }
+ *
+ */
+ public void setCountry(CountryType value) {
+ this.country = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedFileDataType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedFileDataType.java
index d30d97334..17212282b 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedFileDataType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedFileDataType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,13 +12,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Data file
*
- * <p>Java class for AttachedFileDataType complex type.
+ * <p>
+ * Java class for AttachedFileDataType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AttachedFileDataType">
@@ -38,88 +38,75 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AttachedFileDataType", propOrder = {
- "description",
- "mime",
- "data"
-})
+@XmlType(name = "AttachedFileDataType", propOrder = { "description", "mime", "data" })
public class AttachedFileDataType {
- @XmlElement(name = "Description", required = true)
- protected String description;
- @XmlElement(name = "Mime", required = true)
- protected MimeType mime;
- @XmlElement(name = "Data", required = true)
- protected byte[] data;
+ @XmlElement(name = "Description", required = true)
+ protected String description;
+ @XmlElement(name = "Mime", required = true)
+ protected MimeType mime;
+ @XmlElement(name = "Data", required = true)
+ protected byte[] data;
- /**
- * Gets the value of the description property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getDescription() {
- return description;
- }
+ /**
+ * Gets the value of the description property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
- /**
- * Sets the value of the description property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setDescription(String value) {
- this.description = value;
- }
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
- /**
- * Gets the value of the mime property.
- *
- * @return
- * possible object is
- * {@link MimeType }
- *
- */
- public MimeType getMime() {
- return mime;
- }
+ /**
+ * Gets the value of the mime property.
+ *
+ * @return possible object is {@link MimeType }
+ *
+ */
+ public MimeType getMime() {
+ return mime;
+ }
- /**
- * Sets the value of the mime property.
- *
- * @param value
- * allowed object is
- * {@link MimeType }
- *
- */
- public void setMime(MimeType value) {
- this.mime = value;
- }
+ /**
+ * Sets the value of the mime property.
+ *
+ * @param value
+ * allowed object is {@link MimeType }
+ *
+ */
+ public void setMime(MimeType value) {
+ this.mime = value;
+ }
- /**
- * Gets the value of the data property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getData() {
- return data;
- }
+ /**
+ * Gets the value of the data property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getData() {
+ return data;
+ }
- /**
- * Sets the value of the data property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setData(byte[] value) {
- this.data = value;
- }
+ /**
+ * Sets the value of the data property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setData(byte[] value) {
+ this.data = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedFileURLType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedFileURLType.java
index 3e49c0053..5cae1a677 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedFileURLType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedFileURLType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,13 +12,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* URL reference to the file
*
- * <p>Java class for AttachedFileURLType complex type.
+ * <p>
+ * Java class for AttachedFileURLType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AttachedFileURLType">
@@ -38,90 +38,77 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AttachedFileURLType", propOrder = {
- "description",
- "mime",
- "url"
-})
+@XmlType(name = "AttachedFileURLType", propOrder = { "description", "mime", "url" })
public class AttachedFileURLType {
- @XmlElement(name = "Description", required = true)
- protected String description;
- @XmlElement(name = "Mime", required = true)
- protected MimeType mime;
- @XmlElement(name = "URL", required = true)
- protected String url;
+ @XmlElement(name = "Description", required = true)
+ protected String description;
+ @XmlElement(name = "Mime", required = true)
+ protected MimeType mime;
+ @XmlElement(name = "URL", required = true)
+ protected String url;
- /**
- * Gets the value of the description property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getDescription() {
- return description;
- }
+ /**
+ * Gets the value of the description property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
- /**
- * Sets the value of the description property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setDescription(String value) {
- this.description = value;
- }
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
- /**
- * Gets the value of the mime property.
- *
- * @return
- * possible object is
- * {@link MimeType }
- *
- */
- public MimeType getMime() {
- return mime;
- }
+ /**
+ * Gets the value of the mime property.
+ *
+ * @return possible object is {@link MimeType }
+ *
+ */
+ public MimeType getMime() {
+ return mime;
+ }
- /**
- * Sets the value of the mime property.
- *
- * @param value
- * allowed object is
- * {@link MimeType }
- *
- */
- public void setMime(MimeType value) {
- this.mime = value;
- }
+ /**
+ * Sets the value of the mime property.
+ *
+ * @param value
+ * allowed object is {@link MimeType }
+ *
+ */
+ public void setMime(MimeType value) {
+ this.mime = value;
+ }
- /**
- * Gets the value of the url property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getURL() {
- return url;
- }
+ /**
+ * Gets the value of the url property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getURL() {
+ return url;
+ }
- /**
- * Sets the value of the url property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setURL(String value) {
- this.url = value;
- }
+ /**
+ * Sets the value of the url property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setURL(String value) {
+ this.url = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedImageDataType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedImageDataType.java
index 4e66627a4..24b2df121 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedImageDataType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedImageDataType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,13 +12,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Image data file
*
- * <p>Java class for AttachedImageDataType complex type.
+ * <p>
+ * Java class for AttachedImageDataType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AttachedImageDataType">
@@ -38,88 +38,75 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AttachedImageDataType", propOrder = {
- "description",
- "mime",
- "data"
-})
+@XmlType(name = "AttachedImageDataType", propOrder = { "description", "mime", "data" })
public class AttachedImageDataType {
- @XmlElement(name = "Description", required = true)
- protected String description;
- @XmlElement(name = "Mime", required = true)
- protected ImageMimeType mime;
- @XmlElement(name = "Data", required = true)
- protected byte[] data;
+ @XmlElement(name = "Description", required = true)
+ protected String description;
+ @XmlElement(name = "Mime", required = true)
+ protected ImageMimeType mime;
+ @XmlElement(name = "Data", required = true)
+ protected byte[] data;
- /**
- * Gets the value of the description property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getDescription() {
- return description;
- }
+ /**
+ * Gets the value of the description property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
- /**
- * Sets the value of the description property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setDescription(String value) {
- this.description = value;
- }
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
- /**
- * Gets the value of the mime property.
- *
- * @return
- * possible object is
- * {@link ImageMimeType }
- *
- */
- public ImageMimeType getMime() {
- return mime;
- }
+ /**
+ * Gets the value of the mime property.
+ *
+ * @return possible object is {@link ImageMimeType }
+ *
+ */
+ public ImageMimeType getMime() {
+ return mime;
+ }
- /**
- * Sets the value of the mime property.
- *
- * @param value
- * allowed object is
- * {@link ImageMimeType }
- *
- */
- public void setMime(ImageMimeType value) {
- this.mime = value;
- }
+ /**
+ * Sets the value of the mime property.
+ *
+ * @param value
+ * allowed object is {@link ImageMimeType }
+ *
+ */
+ public void setMime(ImageMimeType value) {
+ this.mime = value;
+ }
- /**
- * Gets the value of the data property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getData() {
- return data;
- }
+ /**
+ * Gets the value of the data property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getData() {
+ return data;
+ }
- /**
- * Sets the value of the data property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setData(byte[] value) {
- this.data = value;
- }
+ /**
+ * Sets the value of the data property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setData(byte[] value) {
+ this.data = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedImageURLType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedImageURLType.java
index 76dffaa4a..2a13c9332 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedImageURLType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedImageURLType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,13 +12,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* URL reference to the image file
*
- * <p>Java class for AttachedImageURLType complex type.
+ * <p>
+ * Java class for AttachedImageURLType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AttachedImageURLType">
@@ -38,90 +38,77 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AttachedImageURLType", propOrder = {
- "description",
- "mime",
- "url"
-})
+@XmlType(name = "AttachedImageURLType", propOrder = { "description", "mime", "url" })
public class AttachedImageURLType {
- @XmlElement(name = "Description", required = true)
- protected String description;
- @XmlElement(name = "Mime", required = true)
- protected ImageMimeType mime;
- @XmlElement(name = "URL", required = true)
- protected String url;
+ @XmlElement(name = "Description", required = true)
+ protected String description;
+ @XmlElement(name = "Mime", required = true)
+ protected ImageMimeType mime;
+ @XmlElement(name = "URL", required = true)
+ protected String url;
- /**
- * Gets the value of the description property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getDescription() {
- return description;
- }
+ /**
+ * Gets the value of the description property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
- /**
- * Sets the value of the description property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setDescription(String value) {
- this.description = value;
- }
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
- /**
- * Gets the value of the mime property.
- *
- * @return
- * possible object is
- * {@link ImageMimeType }
- *
- */
- public ImageMimeType getMime() {
- return mime;
- }
+ /**
+ * Gets the value of the mime property.
+ *
+ * @return possible object is {@link ImageMimeType }
+ *
+ */
+ public ImageMimeType getMime() {
+ return mime;
+ }
- /**
- * Sets the value of the mime property.
- *
- * @param value
- * allowed object is
- * {@link ImageMimeType }
- *
- */
- public void setMime(ImageMimeType value) {
- this.mime = value;
- }
+ /**
+ * Sets the value of the mime property.
+ *
+ * @param value
+ * allowed object is {@link ImageMimeType }
+ *
+ */
+ public void setMime(ImageMimeType value) {
+ this.mime = value;
+ }
- /**
- * Gets the value of the url property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getURL() {
- return url;
- }
+ /**
+ * Gets the value of the url property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getURL() {
+ return url;
+ }
- /**
- * Sets the value of the url property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setURL(String value) {
- this.url = value;
- }
+ /**
+ * Sets the value of the url property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setURL(String value) {
+ this.url = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedType.java
index ba693c9a0..9f9cca5d7 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachedType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -18,13 +17,14 @@ import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
/**
* Attachment resource
*
- * <p>Java class for AttachedType complex type.
+ * <p>
+ * Java class for AttachedType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AttachedType">
@@ -45,146 +45,126 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AttachedType", propOrder = {
- "fileData",
- "fileURI",
- "imageData",
- "imageURI"
-})
+@XmlType(name = "AttachedType", propOrder = { "fileData", "fileURI", "imageData", "imageURI" })
public class AttachedType {
- @XmlElement(name = "FileData")
- protected AttachedFileDataType fileData;
- @XmlElement(name = "FileURI")
- protected AttachedFileURLType fileURI;
- @XmlElement(name = "ImageData")
- protected AttachedImageDataType imageData;
- @XmlElement(name = "ImageURI")
- protected AttachedImageURLType imageURI;
- @XmlAttribute(name = "attachedID", required = true)
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- @XmlID
- @XmlSchemaType(name = "ID")
- protected String attachedID;
-
- /**
- * Gets the value of the fileData property.
- *
- * @return
- * possible object is
- * {@link AttachedFileDataType }
- *
- */
- public AttachedFileDataType getFileData() {
- return fileData;
- }
-
- /**
- * Sets the value of the fileData property.
- *
- * @param value
- * allowed object is
- * {@link AttachedFileDataType }
- *
- */
- public void setFileData(AttachedFileDataType value) {
- this.fileData = value;
- }
-
- /**
- * Gets the value of the fileURI property.
- *
- * @return
- * possible object is
- * {@link AttachedFileURLType }
- *
- */
- public AttachedFileURLType getFileURI() {
- return fileURI;
- }
-
- /**
- * Sets the value of the fileURI property.
- *
- * @param value
- * allowed object is
- * {@link AttachedFileURLType }
- *
- */
- public void setFileURI(AttachedFileURLType value) {
- this.fileURI = value;
- }
-
- /**
- * Gets the value of the imageData property.
- *
- * @return
- * possible object is
- * {@link AttachedImageDataType }
- *
- */
- public AttachedImageDataType getImageData() {
- return imageData;
- }
-
- /**
- * Sets the value of the imageData property.
- *
- * @param value
- * allowed object is
- * {@link AttachedImageDataType }
- *
- */
- public void setImageData(AttachedImageDataType value) {
- this.imageData = value;
- }
-
- /**
- * Gets the value of the imageURI property.
- *
- * @return
- * possible object is
- * {@link AttachedImageURLType }
- *
- */
- public AttachedImageURLType getImageURI() {
- return imageURI;
- }
-
- /**
- * Sets the value of the imageURI property.
- *
- * @param value
- * allowed object is
- * {@link AttachedImageURLType }
- *
- */
- public void setImageURI(AttachedImageURLType value) {
- this.imageURI = value;
- }
-
- /**
- * Gets the value of the attachedID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAttachedID() {
- return attachedID;
- }
-
- /**
- * Sets the value of the attachedID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAttachedID(String value) {
- this.attachedID = value;
- }
+ @XmlElement(name = "FileData")
+ protected AttachedFileDataType fileData;
+ @XmlElement(name = "FileURI")
+ protected AttachedFileURLType fileURI;
+ @XmlElement(name = "ImageData")
+ protected AttachedImageDataType imageData;
+ @XmlElement(name = "ImageURI")
+ protected AttachedImageURLType imageURI;
+ @XmlAttribute(name = "attachedID", required = true)
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String attachedID;
+
+ /**
+ * Gets the value of the fileData property.
+ *
+ * @return possible object is {@link AttachedFileDataType }
+ *
+ */
+ public AttachedFileDataType getFileData() {
+ return fileData;
+ }
+
+ /**
+ * Sets the value of the fileData property.
+ *
+ * @param value
+ * allowed object is {@link AttachedFileDataType }
+ *
+ */
+ public void setFileData(AttachedFileDataType value) {
+ this.fileData = value;
+ }
+
+ /**
+ * Gets the value of the fileURI property.
+ *
+ * @return possible object is {@link AttachedFileURLType }
+ *
+ */
+ public AttachedFileURLType getFileURI() {
+ return fileURI;
+ }
+
+ /**
+ * Sets the value of the fileURI property.
+ *
+ * @param value
+ * allowed object is {@link AttachedFileURLType }
+ *
+ */
+ public void setFileURI(AttachedFileURLType value) {
+ this.fileURI = value;
+ }
+
+ /**
+ * Gets the value of the imageData property.
+ *
+ * @return possible object is {@link AttachedImageDataType }
+ *
+ */
+ public AttachedImageDataType getImageData() {
+ return imageData;
+ }
+
+ /**
+ * Sets the value of the imageData property.
+ *
+ * @param value
+ * allowed object is {@link AttachedImageDataType }
+ *
+ */
+ public void setImageData(AttachedImageDataType value) {
+ this.imageData = value;
+ }
+
+ /**
+ * Gets the value of the imageURI property.
+ *
+ * @return possible object is {@link AttachedImageURLType }
+ *
+ */
+ public AttachedImageURLType getImageURI() {
+ return imageURI;
+ }
+
+ /**
+ * Sets the value of the imageURI property.
+ *
+ * @param value
+ * allowed object is {@link AttachedImageURLType }
+ *
+ */
+ public void setImageURI(AttachedImageURLType value) {
+ this.imageURI = value;
+ }
+
+ /**
+ * Gets the value of the attachedID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAttachedID() {
+ return attachedID;
+ }
+
+ /**
+ * Sets the value of the attachedID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAttachedID(String value) {
+ this.attachedID = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachmentsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachmentsType.java
index a646bd390..751482eba 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachmentsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/AttachmentsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -15,13 +14,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Attachments resources
*
- * <p>Java class for AttachmentsType complex type.
+ * <p>
+ * Java class for AttachmentsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AttachmentsType">
@@ -38,41 +38,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AttachmentsType", propOrder = {
- "attached"
-})
+@XmlType(name = "AttachmentsType", propOrder = { "attached" })
public class AttachmentsType {
- @XmlElement(name = "Attached", required = true)
- protected List<AttachedType> attached;
+ @XmlElement(name = "Attached", required = true)
+ protected List<AttachedType> attached;
- /**
- * Gets the value of the attached property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the attached property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getAttached().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link AttachedType }
- *
- *
- */
- public List<AttachedType> getAttached() {
- if (attached == null) {
- attached = new ArrayList<AttachedType>();
- }
- return this.attached;
- }
+ /**
+ * Gets the value of the attached property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the attached property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getAttached().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link AttachedType }
+ *
+ *
+ */
+ public List<AttachedType> getAttached() {
+ if (attached == null) {
+ attached = new ArrayList<AttachedType>();
+ }
+ return this.attached;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CertificationOfTheSupplementType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CertificationOfTheSupplementType.java
index 2d053514b..e2d0d51f7 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CertificationOfTheSupplementType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CertificationOfTheSupplementType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,13 +13,14 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
-
/**
* Certification of the Supplement
*
- * <p>Java class for CertificationOfTheSupplementType complex type.
+ * <p>
+ * Java class for CertificationOfTheSupplementType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CertificationOfTheSupplementType">
@@ -39,90 +39,77 @@ import javax.xml.datatype.XMLGregorianCalendar;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CertificationOfTheSupplementType", propOrder = {
- "certificationDate",
- "officialsCertifying",
- "officialStamp"
-})
+@XmlType(name = "CertificationOfTheSupplementType", propOrder = { "certificationDate", "officialsCertifying", "officialStamp" })
public class CertificationOfTheSupplementType {
- @XmlElement(name = "CertificationDate", required = true)
- protected XMLGregorianCalendar certificationDate;
- @XmlElement(name = "OfficialsCertifying", required = true)
- protected OfficialsCertifyingType officialsCertifying;
- @XmlElement(name = "OfficialStamp")
- protected OfficialStampType officialStamp;
+ @XmlElement(name = "CertificationDate", required = true)
+ protected XMLGregorianCalendar certificationDate;
+ @XmlElement(name = "OfficialsCertifying", required = true)
+ protected OfficialsCertifyingType officialsCertifying;
+ @XmlElement(name = "OfficialStamp")
+ protected OfficialStampType officialStamp;
- /**
- * Gets the value of the certificationDate property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getCertificationDate() {
- return certificationDate;
- }
+ /**
+ * Gets the value of the certificationDate property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getCertificationDate() {
+ return certificationDate;
+ }
- /**
- * Sets the value of the certificationDate property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setCertificationDate(XMLGregorianCalendar value) {
- this.certificationDate = value;
- }
+ /**
+ * Sets the value of the certificationDate property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setCertificationDate(XMLGregorianCalendar value) {
+ this.certificationDate = value;
+ }
- /**
- * Gets the value of the officialsCertifying property.
- *
- * @return
- * possible object is
- * {@link OfficialsCertifyingType }
- *
- */
- public OfficialsCertifyingType getOfficialsCertifying() {
- return officialsCertifying;
- }
+ /**
+ * Gets the value of the officialsCertifying property.
+ *
+ * @return possible object is {@link OfficialsCertifyingType }
+ *
+ */
+ public OfficialsCertifyingType getOfficialsCertifying() {
+ return officialsCertifying;
+ }
- /**
- * Sets the value of the officialsCertifying property.
- *
- * @param value
- * allowed object is
- * {@link OfficialsCertifyingType }
- *
- */
- public void setOfficialsCertifying(OfficialsCertifyingType value) {
- this.officialsCertifying = value;
- }
+ /**
+ * Sets the value of the officialsCertifying property.
+ *
+ * @param value
+ * allowed object is {@link OfficialsCertifyingType }
+ *
+ */
+ public void setOfficialsCertifying(OfficialsCertifyingType value) {
+ this.officialsCertifying = value;
+ }
- /**
- * Gets the value of the officialStamp property.
- *
- * @return
- * possible object is
- * {@link OfficialStampType }
- *
- */
- public OfficialStampType getOfficialStamp() {
- return officialStamp;
- }
+ /**
+ * Gets the value of the officialStamp property.
+ *
+ * @return possible object is {@link OfficialStampType }
+ *
+ */
+ public OfficialStampType getOfficialStamp() {
+ return officialStamp;
+ }
- /**
- * Sets the value of the officialStamp property.
- *
- * @param value
- * allowed object is
- * {@link OfficialStampType }
- *
- */
- public void setOfficialStamp(OfficialStampType value) {
- this.officialStamp = value;
- }
+ /**
+ * Sets the value of the officialStamp property.
+ *
+ * @param value
+ * allowed object is {@link OfficialStampType }
+ *
+ */
+ public void setOfficialStamp(OfficialStampType value) {
+ this.officialStamp = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ContactInformationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ContactInformationType.java
index 2ad8c81ec..63df83402 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ContactInformationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ContactInformationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -15,13 +14,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Contact information
*
- * <p>Java class for ContactInformationType complex type.
+ * <p>
+ * Java class for ContactInformationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ContactInformationType">
@@ -41,132 +41,118 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "ContactInformationType", propOrder = {
- "address",
- "phoneNumber",
- "email",
- "webSite"
-})
+@XmlType(name = "ContactInformationType", propOrder = { "address", "phoneNumber", "email", "webSite" })
public class ContactInformationType {
- @XmlElement(name = "Address", required = true)
- protected AddressType address;
- @XmlElement(name = "PhoneNumber")
- protected List<String> phoneNumber;
- @XmlElement(name = "Email")
- protected List<String> email;
- @XmlElement(name = "WebSite")
- protected List<String> webSite;
+ @XmlElement(name = "Address", required = true)
+ protected AddressType address;
+ @XmlElement(name = "PhoneNumber")
+ protected List<String> phoneNumber;
+ @XmlElement(name = "Email")
+ protected List<String> email;
+ @XmlElement(name = "WebSite")
+ protected List<String> webSite;
- /**
- * Gets the value of the address property.
- *
- * @return
- * possible object is
- * {@link AddressType }
- *
- */
- public AddressType getAddress() {
- return address;
- }
+ /**
+ * Gets the value of the address property.
+ *
+ * @return possible object is {@link AddressType }
+ *
+ */
+ public AddressType getAddress() {
+ return address;
+ }
- /**
- * Sets the value of the address property.
- *
- * @param value
- * allowed object is
- * {@link AddressType }
- *
- */
- public void setAddress(AddressType value) {
- this.address = value;
- }
+ /**
+ * Sets the value of the address property.
+ *
+ * @param value
+ * allowed object is {@link AddressType }
+ *
+ */
+ public void setAddress(AddressType value) {
+ this.address = value;
+ }
- /**
- * Gets the value of the phoneNumber property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the phoneNumber property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getPhoneNumber().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link String }
- *
- *
- */
- public List<String> getPhoneNumber() {
- if (phoneNumber == null) {
- phoneNumber = new ArrayList<String>();
- }
- return this.phoneNumber;
- }
+ /**
+ * Gets the value of the phoneNumber property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the phoneNumber property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getPhoneNumber().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String }
+ *
+ *
+ */
+ public List<String> getPhoneNumber() {
+ if (phoneNumber == null) {
+ phoneNumber = new ArrayList<String>();
+ }
+ return this.phoneNumber;
+ }
- /**
- * Gets the value of the email property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the email property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getEmail().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link String }
- *
- *
- */
- public List<String> getEmail() {
- if (email == null) {
- email = new ArrayList<String>();
- }
- return this.email;
- }
+ /**
+ * Gets the value of the email property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the email property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getEmail().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String }
+ *
+ *
+ */
+ public List<String> getEmail() {
+ if (email == null) {
+ email = new ArrayList<String>();
+ }
+ return this.email;
+ }
- /**
- * Gets the value of the webSite property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the webSite property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getWebSite().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link String }
- *
- *
- */
- public List<String> getWebSite() {
- if (webSite == null) {
- webSite = new ArrayList<String>();
- }
- return this.webSite;
- }
+ /**
+ * Gets the value of the webSite property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the webSite property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getWebSite().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String }
+ *
+ *
+ */
+ public List<String> getWebSite() {
+ if (webSite == null) {
+ webSite = new ArrayList<String>();
+ }
+ return this.webSite;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CountryType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CountryType.java
index 5ace3fcb6..5988f5ef7 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CountryType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CountryType.java
@@ -5,18 +5,19 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CountryType.
+ * <p>
+ * Java class for CountryType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="CountryType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -226,1195 +227,1194 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum CountryType {
-
- /**
- * Andorra
- *
- */
- AD,
-
- /**
- * United Arab Emirates
- *
- */
- AE,
-
- /**
- * Afghanistan
- *
- */
- AF,
-
- /**
- * Antigua and Barbuda
- *
- */
- AG,
-
- /**
- * Albania
- *
- */
- AL,
-
- /**
- * Armenia
- *
- */
- AM,
-
- /**
- * Angola
- *
- */
- AO,
-
- /**
- * Argentina
- *
- */
- AR,
-
- /**
- * Austria
- *
- */
- AT,
-
- /**
- * Australia
- *
- */
- AU,
-
- /**
- * Azerbaijan
- *
- */
- AZ,
-
- /**
- * Bosnia and Herzegovina
- *
- */
- BA,
-
- /**
- * Barbados
- *
- */
- BB,
-
- /**
- * Bangladesh
- *
- */
- BD,
-
- /**
- * Belgium
- *
- */
- BE,
-
- /**
- * Burkina Faso
- *
- */
- BF,
-
- /**
- * Bulgaria
- *
- */
- BG,
-
- /**
- * Bahrain
- *
- */
- BH,
-
- /**
- * Burundi
- *
- */
- BI,
-
- /**
- * Benin
- *
- */
- BJ,
-
- /**
- * Brunei Darussalam
- *
- */
- BN,
-
- /**
- * Bolivia
- *
- */
- BO,
-
- /**
- * Brazil
- *
- */
- BR,
-
- /**
- * Bahamas
- *
- */
- BS,
-
- /**
- * Bhutan
- *
- */
- BT,
-
- /**
- * Botswana
- *
- */
- BW,
-
- /**
- * Belarus
- *
- */
- BY,
-
- /**
- * Belize
- *
- */
- BZ,
-
- /**
- * Canada
- *
- */
- CA,
-
- /**
- * Congo, Democratic Republic of the
- *
- */
- CD,
-
- /**
- * Central African Republic
- *
- */
- CF,
-
- /**
- * Congo, Republic of the
- *
- */
- CG,
-
- /**
- * Switzerland
- *
- */
- CH,
-
- /**
- * Cote d/Ivoire
- *
- */
- CI,
-
- /**
- * Chile
- *
- */
- CL,
-
- /**
- * Cameroon
- *
- */
- CM,
-
- /**
- * China
- *
- */
- CN,
-
- /**
- * Colombia
- *
- */
- CO,
-
- /**
- * Costa Rica
- *
- */
- CR,
-
- /**
- * Cuba
- *
- */
- CU,
-
- /**
- * Cape Verde
- *
- */
- CV,
-
- /**
- * Cyprus
- *
- */
- CY,
-
- /**
- * Czech Republic
- *
- */
- CZ,
-
- /**
- * Germany
- *
- */
- DE,
-
- /**
- * Djibouti
- *
- */
- DJ,
-
- /**
- * Denmark
- *
- */
- DK,
-
- /**
- * Dominica
- *
- */
- DM,
-
- /**
- * Dominican Republic
- *
- */
- DO,
-
- /**
- * Algeria
- *
- */
- DZ,
-
- /**
- * Ecuador
- *
- */
- EC,
-
- /**
- * Estonia
- *
- */
- EE,
-
- /**
- * Egypt
- *
- */
- EG,
-
- /**
- * Eritrea
- *
- */
- ER,
-
- /**
- * Spain
- *
- */
- ES,
-
- /**
- * Ethiopia
- *
- */
- ET,
-
- /**
- * Finland
- *
- */
- FI,
-
- /**
- * Fiji
- *
- */
- FJ,
-
- /**
- * Federated States of Micronesia
- *
- */
- FM,
-
- /**
- * France
- *
- */
- FR,
-
- /**
- * Gabon
- *
- */
- GA,
-
- /**
- * United Kingdom
- *
- */
- GB,
-
- /**
- * Grenada
- *
- */
- GD,
-
- /**
- * Georgia
- *
- */
- GE,
-
- /**
- * Ghana
- *
- */
- GH,
-
- /**
- * Greenland
- *
- */
- GL,
-
- /**
- * Gambia
- *
- */
- GM,
-
- /**
- * Guinea
- *
- */
- GN,
-
- /**
- * Equatorial Guinea
- *
- */
- GQ,
-
- /**
- * Greece
- *
- */
- GR,
-
- /**
- * Guatemala
- *
- */
- GT,
-
- /**
- * Guinea-Bissau
- *
- */
- GW,
-
- /**
- * Guyana
- *
- */
- GY,
-
- /**
- * Honduras
- *
- */
- HN,
-
- /**
- * Croatia
- *
- */
- HR,
-
- /**
- * Haiti
- *
- */
- HT,
-
- /**
- * Hungary
- *
- */
- HU,
-
- /**
- * Indonesia
- *
- */
- ID,
-
- /**
- * Ireland
- *
- */
- IE,
-
- /**
- * Israel
- *
- */
- IL,
-
- /**
- * India
- *
- */
- IN,
-
- /**
- * Iraq
- *
- */
- IQ,
-
- /**
- * Iran
- *
- */
- IR,
-
- /**
- * Iceland
- *
- */
- IS,
-
- /**
- * Italy
- *
- */
- IT,
-
- /**
- * Jamaica
- *
- */
- JM,
-
- /**
- * Jordan
- *
- */
- JO,
-
- /**
- * Japan
- *
- */
- JP,
-
- /**
- * Kenya
- *
- */
- KE,
-
- /**
- * Kyrgyzstan
- *
- */
- KG,
-
- /**
- * Cambodia
- *
- */
- KH,
-
- /**
- * Kiribati
- *
- */
- KI,
-
- /**
- * Comoros
- *
- */
- KM,
-
- /**
- * Saint Kitts and Nevis
- *
- */
- KN,
-
- /**
- * Korea, Democratic People/s Republic
- *
- */
- KP,
-
- /**
- * Korea, Republic of
- *
- */
- KR,
-
- /**
- * Kuwait
- *
- */
- KW,
-
- /**
- * Kazakstan
- *
- */
- KZ,
-
- /**
- * Lao People/s Democratic Republic
- *
- */
- LA,
-
- /**
- * Lebanon
- *
- */
- LB,
-
- /**
- * Saint Lucia
- *
- */
- LC,
-
- /**
- * Liechtenstein
- *
- */
- LI,
-
- /**
- * Sri Lanka
- *
- */
- LK,
-
- /**
- * Liberia
- *
- */
- LR,
-
- /**
- * Lesotho
- *
- */
- LS,
-
- /**
- * Lithuania
- *
- */
- LT,
-
- /**
- * Luxembourg
- *
- */
- LU,
-
- /**
- * Latvia
- *
- */
- LV,
-
- /**
- * Libyan Arab Jamahiriya
- *
- */
- LY,
-
- /**
- * Morocco
- *
- */
- MA,
-
- /**
- * Monaco
- *
- */
- MC,
-
- /**
- * Moldova, Republic of
- *
- */
- MD,
-
- /**
- * Montenegro
- *
- */
- ME,
-
- /**
- * Madagascar
- *
- */
- MG,
-
- /**
- * Marshall Islands
- *
- */
- MH,
-
- /**
- * Macedonia, the former Yugoslav Republic of
- *
- */
- MK,
-
- /**
- * Mali
- *
- */
- ML,
-
- /**
- * Myanmar
- *
- */
- MM,
-
- /**
- * Mongolia
- *
- */
- MN,
-
- /**
- * Mauritania
- *
- */
- MR,
-
- /**
- * Malta
- *
- */
- MT,
-
- /**
- * Mauritius
- *
- */
- MU,
-
- /**
- * Maldives
- *
- */
- MV,
-
- /**
- * Malawi
- *
- */
- MW,
-
- /**
- * Mexico
- *
- */
- MX,
-
- /**
- * Malaysia
- *
- */
- MY,
-
- /**
- * Mozambique
- *
- */
- MZ,
-
- /**
- * Namibia
- *
- */
- NA,
-
- /**
- * Niger
- *
- */
- NE,
-
- /**
- * Nigeria
- *
- */
- NG,
-
- /**
- * Nicaragua
- *
- */
- NI,
-
- /**
- * Netherlands
- *
- */
- NL,
-
- /**
- * Norway
- *
- */
- NO,
-
- /**
- * Nepal
- *
- */
- NP,
-
- /**
- * Nauru
- *
- */
- NR,
-
- /**
- * Niue
- *
- */
- NU,
-
- /**
- * New Zealand
- *
- */
- NZ,
-
- /**
- * Oman
- *
- */
- OM,
-
- /**
- * Panama
- *
- */
- PA,
-
- /**
- * Peru
- *
- */
- PE,
-
- /**
- * Papua New Guinea
- *
- */
- PG,
-
- /**
- * Philippines
- *
- */
- PH,
-
- /**
- * Pakistan
- *
- */
- PK,
-
- /**
- * Poland
- *
- */
- PL,
-
- /**
- * Puerto Rico
- *
- */
- PR,
-
- /**
- * Palestinian Territory, Occupied
- *
- */
- PS,
-
- /**
- * Portugal
- *
- */
- PT,
-
- /**
- * Palau
- *
- */
- PW,
-
- /**
- * Paraguay
- *
- */
- PY,
-
- /**
- * Qatar
- *
- */
- QA,
-
- /**
- * Romania
- *
- */
- RO,
-
- /**
- * Serbia
- *
- */
- RS,
-
- /**
- * Russian Federation
- *
- */
- RU,
-
- /**
- * Rwanda
- *
- */
- RW,
-
- /**
- * Saudi Arabia
- *
- */
- SA,
-
- /**
- * Solomon Islands
- *
- */
- SB,
-
- /**
- * Seychelles
- *
- */
- SC,
-
- /**
- * Sudan
- *
- */
- SD,
-
- /**
- * Sweden
- *
- */
- SE,
-
- /**
- * Singapore
- *
- */
- SG,
-
- /**
- * Slovenia
- *
- */
- SI,
-
- /**
- * Slovakia
- *
- */
- SK,
-
- /**
- * Sierra Leone
- *
- */
- SL,
-
- /**
- * San Marino
- *
- */
- SM,
-
- /**
- * Senegal
- *
- */
- SN,
-
- /**
- * Somalia
- *
- */
- SO,
-
- /**
- * Suriname
- *
- */
- SR,
-
- /**
- * Sao Tome and Principe
- *
- */
- ST,
-
- /**
- * El Salvador
- *
- */
- SV,
-
- /**
- * Syrian Arab Republic
- *
- */
- SY,
-
- /**
- * Swaziland
- *
- */
- SZ,
-
- /**
- * Chad
- *
- */
- TD,
-
- /**
- * Togo
- *
- */
- TG,
-
- /**
- * Thailand
- *
- */
- TH,
-
- /**
- * Tajikistan
- *
- */
- TJ,
-
- /**
- * Timor-Leste
- *
- */
- TL,
-
- /**
- * Turkmenistan
- *
- */
- TM,
-
- /**
- * Tunisia
- *
- */
- TN,
-
- /**
- * Tonga
- *
- */
- TO,
-
- /**
- * Turkey
- *
- */
- TR,
-
- /**
- * Trindidad and Tobago
- *
- */
- TT,
-
- /**
- * Tuvalu
- *
- */
- TV,
-
- /**
- * Tanzania, United republic of
- *
- */
- TZ,
-
- /**
- * Ukraina
- *
- */
- UA,
-
- /**
- * Uganda
- *
- */
- UG,
-
- /**
- * United States
- *
- */
- US,
-
- /**
- * Uruguay
- *
- */
- UY,
-
- /**
- * Uzbekistan
- *
- */
- UZ,
-
- /**
- * Holy See (Vatican City State)
- *
- */
- VA,
-
- /**
- * Saint Vincent and the Granadines
- *
- */
- VC,
-
- /**
- * Venezuela
- *
- */
- VE,
-
- /**
- * Viet Nam
- *
- */
- VN,
-
- /**
- * Vanuatu
- *
- */
- VU,
-
- /**
- * Samoa
- *
- */
- WS,
-
- /**
- * Yemen
- *
- */
- YE,
-
- /**
- * South Africa
- *
- */
- ZA,
-
- /**
- * Zambia
- *
- */
- ZM,
-
- /**
- * Zimbabwe
- *
- */
- ZW;
-
- public String value() {
- return name();
- }
-
- public static CountryType fromValue(String v) {
- return valueOf(v);
- }
+ /**
+ * Andorra
+ *
+ */
+ AD,
+
+ /**
+ * United Arab Emirates
+ *
+ */
+ AE,
+
+ /**
+ * Afghanistan
+ *
+ */
+ AF,
+
+ /**
+ * Antigua and Barbuda
+ *
+ */
+ AG,
+
+ /**
+ * Albania
+ *
+ */
+ AL,
+
+ /**
+ * Armenia
+ *
+ */
+ AM,
+
+ /**
+ * Angola
+ *
+ */
+ AO,
+
+ /**
+ * Argentina
+ *
+ */
+ AR,
+
+ /**
+ * Austria
+ *
+ */
+ AT,
+
+ /**
+ * Australia
+ *
+ */
+ AU,
+
+ /**
+ * Azerbaijan
+ *
+ */
+ AZ,
+
+ /**
+ * Bosnia and Herzegovina
+ *
+ */
+ BA,
+
+ /**
+ * Barbados
+ *
+ */
+ BB,
+
+ /**
+ * Bangladesh
+ *
+ */
+ BD,
+
+ /**
+ * Belgium
+ *
+ */
+ BE,
+
+ /**
+ * Burkina Faso
+ *
+ */
+ BF,
+
+ /**
+ * Bulgaria
+ *
+ */
+ BG,
+
+ /**
+ * Bahrain
+ *
+ */
+ BH,
+
+ /**
+ * Burundi
+ *
+ */
+ BI,
+
+ /**
+ * Benin
+ *
+ */
+ BJ,
+
+ /**
+ * Brunei Darussalam
+ *
+ */
+ BN,
+
+ /**
+ * Bolivia
+ *
+ */
+ BO,
+
+ /**
+ * Brazil
+ *
+ */
+ BR,
+
+ /**
+ * Bahamas
+ *
+ */
+ BS,
+
+ /**
+ * Bhutan
+ *
+ */
+ BT,
+
+ /**
+ * Botswana
+ *
+ */
+ BW,
+
+ /**
+ * Belarus
+ *
+ */
+ BY,
+
+ /**
+ * Belize
+ *
+ */
+ BZ,
+
+ /**
+ * Canada
+ *
+ */
+ CA,
+
+ /**
+ * Congo, Democratic Republic of the
+ *
+ */
+ CD,
+
+ /**
+ * Central African Republic
+ *
+ */
+ CF,
+
+ /**
+ * Congo, Republic of the
+ *
+ */
+ CG,
+
+ /**
+ * Switzerland
+ *
+ */
+ CH,
+
+ /**
+ * Cote d/Ivoire
+ *
+ */
+ CI,
+
+ /**
+ * Chile
+ *
+ */
+ CL,
+
+ /**
+ * Cameroon
+ *
+ */
+ CM,
+
+ /**
+ * China
+ *
+ */
+ CN,
+
+ /**
+ * Colombia
+ *
+ */
+ CO,
+
+ /**
+ * Costa Rica
+ *
+ */
+ CR,
+
+ /**
+ * Cuba
+ *
+ */
+ CU,
+
+ /**
+ * Cape Verde
+ *
+ */
+ CV,
+
+ /**
+ * Cyprus
+ *
+ */
+ CY,
+
+ /**
+ * Czech Republic
+ *
+ */
+ CZ,
+
+ /**
+ * Germany
+ *
+ */
+ DE,
+
+ /**
+ * Djibouti
+ *
+ */
+ DJ,
+
+ /**
+ * Denmark
+ *
+ */
+ DK,
+
+ /**
+ * Dominica
+ *
+ */
+ DM,
+
+ /**
+ * Dominican Republic
+ *
+ */
+ DO,
+
+ /**
+ * Algeria
+ *
+ */
+ DZ,
+
+ /**
+ * Ecuador
+ *
+ */
+ EC,
+
+ /**
+ * Estonia
+ *
+ */
+ EE,
+
+ /**
+ * Egypt
+ *
+ */
+ EG,
+
+ /**
+ * Eritrea
+ *
+ */
+ ER,
+
+ /**
+ * Spain
+ *
+ */
+ ES,
+
+ /**
+ * Ethiopia
+ *
+ */
+ ET,
+
+ /**
+ * Finland
+ *
+ */
+ FI,
+
+ /**
+ * Fiji
+ *
+ */
+ FJ,
+
+ /**
+ * Federated States of Micronesia
+ *
+ */
+ FM,
+
+ /**
+ * France
+ *
+ */
+ FR,
+
+ /**
+ * Gabon
+ *
+ */
+ GA,
+
+ /**
+ * United Kingdom
+ *
+ */
+ GB,
+
+ /**
+ * Grenada
+ *
+ */
+ GD,
+
+ /**
+ * Georgia
+ *
+ */
+ GE,
+
+ /**
+ * Ghana
+ *
+ */
+ GH,
+
+ /**
+ * Greenland
+ *
+ */
+ GL,
+
+ /**
+ * Gambia
+ *
+ */
+ GM,
+
+ /**
+ * Guinea
+ *
+ */
+ GN,
+
+ /**
+ * Equatorial Guinea
+ *
+ */
+ GQ,
+
+ /**
+ * Greece
+ *
+ */
+ GR,
+
+ /**
+ * Guatemala
+ *
+ */
+ GT,
+
+ /**
+ * Guinea-Bissau
+ *
+ */
+ GW,
+
+ /**
+ * Guyana
+ *
+ */
+ GY,
+
+ /**
+ * Honduras
+ *
+ */
+ HN,
+
+ /**
+ * Croatia
+ *
+ */
+ HR,
+
+ /**
+ * Haiti
+ *
+ */
+ HT,
+
+ /**
+ * Hungary
+ *
+ */
+ HU,
+
+ /**
+ * Indonesia
+ *
+ */
+ ID,
+
+ /**
+ * Ireland
+ *
+ */
+ IE,
+
+ /**
+ * Israel
+ *
+ */
+ IL,
+
+ /**
+ * India
+ *
+ */
+ IN,
+
+ /**
+ * Iraq
+ *
+ */
+ IQ,
+
+ /**
+ * Iran
+ *
+ */
+ IR,
+
+ /**
+ * Iceland
+ *
+ */
+ IS,
+
+ /**
+ * Italy
+ *
+ */
+ IT,
+
+ /**
+ * Jamaica
+ *
+ */
+ JM,
+
+ /**
+ * Jordan
+ *
+ */
+ JO,
+
+ /**
+ * Japan
+ *
+ */
+ JP,
+
+ /**
+ * Kenya
+ *
+ */
+ KE,
+
+ /**
+ * Kyrgyzstan
+ *
+ */
+ KG,
+
+ /**
+ * Cambodia
+ *
+ */
+ KH,
+
+ /**
+ * Kiribati
+ *
+ */
+ KI,
+
+ /**
+ * Comoros
+ *
+ */
+ KM,
+
+ /**
+ * Saint Kitts and Nevis
+ *
+ */
+ KN,
+
+ /**
+ * Korea, Democratic People/s Republic
+ *
+ */
+ KP,
+
+ /**
+ * Korea, Republic of
+ *
+ */
+ KR,
+
+ /**
+ * Kuwait
+ *
+ */
+ KW,
+
+ /**
+ * Kazakstan
+ *
+ */
+ KZ,
+
+ /**
+ * Lao People/s Democratic Republic
+ *
+ */
+ LA,
+
+ /**
+ * Lebanon
+ *
+ */
+ LB,
+
+ /**
+ * Saint Lucia
+ *
+ */
+ LC,
+
+ /**
+ * Liechtenstein
+ *
+ */
+ LI,
+
+ /**
+ * Sri Lanka
+ *
+ */
+ LK,
+
+ /**
+ * Liberia
+ *
+ */
+ LR,
+
+ /**
+ * Lesotho
+ *
+ */
+ LS,
+
+ /**
+ * Lithuania
+ *
+ */
+ LT,
+
+ /**
+ * Luxembourg
+ *
+ */
+ LU,
+
+ /**
+ * Latvia
+ *
+ */
+ LV,
+
+ /**
+ * Libyan Arab Jamahiriya
+ *
+ */
+ LY,
+
+ /**
+ * Morocco
+ *
+ */
+ MA,
+
+ /**
+ * Monaco
+ *
+ */
+ MC,
+
+ /**
+ * Moldova, Republic of
+ *
+ */
+ MD,
+
+ /**
+ * Montenegro
+ *
+ */
+ ME,
+
+ /**
+ * Madagascar
+ *
+ */
+ MG,
+
+ /**
+ * Marshall Islands
+ *
+ */
+ MH,
+
+ /**
+ * Macedonia, the former Yugoslav Republic of
+ *
+ */
+ MK,
+
+ /**
+ * Mali
+ *
+ */
+ ML,
+
+ /**
+ * Myanmar
+ *
+ */
+ MM,
+
+ /**
+ * Mongolia
+ *
+ */
+ MN,
+
+ /**
+ * Mauritania
+ *
+ */
+ MR,
+
+ /**
+ * Malta
+ *
+ */
+ MT,
+
+ /**
+ * Mauritius
+ *
+ */
+ MU,
+
+ /**
+ * Maldives
+ *
+ */
+ MV,
+
+ /**
+ * Malawi
+ *
+ */
+ MW,
+
+ /**
+ * Mexico
+ *
+ */
+ MX,
+
+ /**
+ * Malaysia
+ *
+ */
+ MY,
+
+ /**
+ * Mozambique
+ *
+ */
+ MZ,
+
+ /**
+ * Namibia
+ *
+ */
+ NA,
+
+ /**
+ * Niger
+ *
+ */
+ NE,
+
+ /**
+ * Nigeria
+ *
+ */
+ NG,
+
+ /**
+ * Nicaragua
+ *
+ */
+ NI,
+
+ /**
+ * Netherlands
+ *
+ */
+ NL,
+
+ /**
+ * Norway
+ *
+ */
+ NO,
+
+ /**
+ * Nepal
+ *
+ */
+ NP,
+
+ /**
+ * Nauru
+ *
+ */
+ NR,
+
+ /**
+ * Niue
+ *
+ */
+ NU,
+
+ /**
+ * New Zealand
+ *
+ */
+ NZ,
+
+ /**
+ * Oman
+ *
+ */
+ OM,
+
+ /**
+ * Panama
+ *
+ */
+ PA,
+
+ /**
+ * Peru
+ *
+ */
+ PE,
+
+ /**
+ * Papua New Guinea
+ *
+ */
+ PG,
+
+ /**
+ * Philippines
+ *
+ */
+ PH,
+
+ /**
+ * Pakistan
+ *
+ */
+ PK,
+
+ /**
+ * Poland
+ *
+ */
+ PL,
+
+ /**
+ * Puerto Rico
+ *
+ */
+ PR,
+
+ /**
+ * Palestinian Territory, Occupied
+ *
+ */
+ PS,
+
+ /**
+ * Portugal
+ *
+ */
+ PT,
+
+ /**
+ * Palau
+ *
+ */
+ PW,
+
+ /**
+ * Paraguay
+ *
+ */
+ PY,
+
+ /**
+ * Qatar
+ *
+ */
+ QA,
+
+ /**
+ * Romania
+ *
+ */
+ RO,
+
+ /**
+ * Serbia
+ *
+ */
+ RS,
+
+ /**
+ * Russian Federation
+ *
+ */
+ RU,
+
+ /**
+ * Rwanda
+ *
+ */
+ RW,
+
+ /**
+ * Saudi Arabia
+ *
+ */
+ SA,
+
+ /**
+ * Solomon Islands
+ *
+ */
+ SB,
+
+ /**
+ * Seychelles
+ *
+ */
+ SC,
+
+ /**
+ * Sudan
+ *
+ */
+ SD,
+
+ /**
+ * Sweden
+ *
+ */
+ SE,
+
+ /**
+ * Singapore
+ *
+ */
+ SG,
+
+ /**
+ * Slovenia
+ *
+ */
+ SI,
+
+ /**
+ * Slovakia
+ *
+ */
+ SK,
+
+ /**
+ * Sierra Leone
+ *
+ */
+ SL,
+
+ /**
+ * San Marino
+ *
+ */
+ SM,
+
+ /**
+ * Senegal
+ *
+ */
+ SN,
+
+ /**
+ * Somalia
+ *
+ */
+ SO,
+
+ /**
+ * Suriname
+ *
+ */
+ SR,
+
+ /**
+ * Sao Tome and Principe
+ *
+ */
+ ST,
+
+ /**
+ * El Salvador
+ *
+ */
+ SV,
+
+ /**
+ * Syrian Arab Republic
+ *
+ */
+ SY,
+
+ /**
+ * Swaziland
+ *
+ */
+ SZ,
+
+ /**
+ * Chad
+ *
+ */
+ TD,
+
+ /**
+ * Togo
+ *
+ */
+ TG,
+
+ /**
+ * Thailand
+ *
+ */
+ TH,
+
+ /**
+ * Tajikistan
+ *
+ */
+ TJ,
+
+ /**
+ * Timor-Leste
+ *
+ */
+ TL,
+
+ /**
+ * Turkmenistan
+ *
+ */
+ TM,
+
+ /**
+ * Tunisia
+ *
+ */
+ TN,
+
+ /**
+ * Tonga
+ *
+ */
+ TO,
+
+ /**
+ * Turkey
+ *
+ */
+ TR,
+
+ /**
+ * Trindidad and Tobago
+ *
+ */
+ TT,
+
+ /**
+ * Tuvalu
+ *
+ */
+ TV,
+
+ /**
+ * Tanzania, United republic of
+ *
+ */
+ TZ,
+
+ /**
+ * Ukraina
+ *
+ */
+ UA,
+
+ /**
+ * Uganda
+ *
+ */
+ UG,
+
+ /**
+ * United States
+ *
+ */
+ US,
+
+ /**
+ * Uruguay
+ *
+ */
+ UY,
+
+ /**
+ * Uzbekistan
+ *
+ */
+ UZ,
+
+ /**
+ * Holy See (Vatican City State)
+ *
+ */
+ VA,
+
+ /**
+ * Saint Vincent and the Granadines
+ *
+ */
+ VC,
+
+ /**
+ * Venezuela
+ *
+ */
+ VE,
+
+ /**
+ * Viet Nam
+ *
+ */
+ VN,
+
+ /**
+ * Vanuatu
+ *
+ */
+ VU,
+
+ /**
+ * Samoa
+ *
+ */
+ WS,
+
+ /**
+ * Yemen
+ *
+ */
+ YE,
+
+ /**
+ * South Africa
+ *
+ */
+ ZA,
+
+ /**
+ * Zambia
+ *
+ */
+ ZM,
+
+ /**
+ * Zimbabwe
+ *
+ */
+ ZW;
+
+ public String value() {
+ return name();
+ }
+
+ public static CountryType fromValue(String v) {
+ return valueOf(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseStructureDiagramType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseStructureDiagramType.java
index 35041350c..1438d6f1e 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseStructureDiagramType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseStructureDiagramType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,13 +12,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Course structure diagram
*
- * <p>Java class for CourseStructureDiagramType complex type.
+ * <p>
+ * Java class for CourseStructureDiagramType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseStructureDiagramType">
@@ -37,63 +37,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseStructureDiagramType", propOrder = {
- "coursesGroups",
- "coursesUnits"
-})
+@XmlType(name = "CourseStructureDiagramType", propOrder = { "coursesGroups", "coursesUnits" })
public class CourseStructureDiagramType {
- @XmlElement(name = "CoursesGroups", required = true)
- protected CoursesGroupsType coursesGroups;
- @XmlElement(name = "CoursesUnits")
- protected CoursesUnitsType coursesUnits;
+ @XmlElement(name = "CoursesGroups", required = true)
+ protected CoursesGroupsType coursesGroups;
+ @XmlElement(name = "CoursesUnits")
+ protected CoursesUnitsType coursesUnits;
- /**
- * Gets the value of the coursesGroups property.
- *
- * @return
- * possible object is
- * {@link CoursesGroupsType }
- *
- */
- public CoursesGroupsType getCoursesGroups() {
- return coursesGroups;
- }
+ /**
+ * Gets the value of the coursesGroups property.
+ *
+ * @return possible object is {@link CoursesGroupsType }
+ *
+ */
+ public CoursesGroupsType getCoursesGroups() {
+ return coursesGroups;
+ }
- /**
- * Sets the value of the coursesGroups property.
- *
- * @param value
- * allowed object is
- * {@link CoursesGroupsType }
- *
- */
- public void setCoursesGroups(CoursesGroupsType value) {
- this.coursesGroups = value;
- }
+ /**
+ * Sets the value of the coursesGroups property.
+ *
+ * @param value
+ * allowed object is {@link CoursesGroupsType }
+ *
+ */
+ public void setCoursesGroups(CoursesGroupsType value) {
+ this.coursesGroups = value;
+ }
- /**
- * Gets the value of the coursesUnits property.
- *
- * @return
- * possible object is
- * {@link CoursesUnitsType }
- *
- */
- public CoursesUnitsType getCoursesUnits() {
- return coursesUnits;
- }
+ /**
+ * Gets the value of the coursesUnits property.
+ *
+ * @return possible object is {@link CoursesUnitsType }
+ *
+ */
+ public CoursesUnitsType getCoursesUnits() {
+ return coursesUnits;
+ }
- /**
- * Sets the value of the coursesUnits property.
- *
- * @param value
- * allowed object is
- * {@link CoursesUnitsType }
- *
- */
- public void setCoursesUnits(CoursesUnitsType value) {
- this.coursesUnits = value;
- }
+ /**
+ * Sets the value of the coursesUnits property.
+ *
+ * @param value
+ * allowed object is {@link CoursesUnitsType }
+ *
+ */
+ public void setCoursesUnits(CoursesUnitsType value) {
+ this.coursesUnits = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitLanguageOfInstructionType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitLanguageOfInstructionType.java
index 4542085b6..69e63c4d3 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitLanguageOfInstructionType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitLanguageOfInstructionType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,13 +13,14 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-
/**
* Language of instruction
*
- * <p>Java class for CourseUnitLanguageOfInstructionType complex type.
+ * <p>
+ * Java class for CourseUnitLanguageOfInstructionType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseUnitLanguageOfInstructionType">
@@ -35,64 +35,56 @@ import javax.xml.bind.annotation.XmlValue;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseUnitLanguageOfInstructionType", propOrder = {
- "value"
-})
+@XmlType(name = "CourseUnitLanguageOfInstructionType", propOrder = { "value" })
public class CourseUnitLanguageOfInstructionType {
- @XmlValue
- protected String value;
- @XmlAttribute(name = "language", required = true)
- protected LanguageType language;
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "language", required = true)
+ protected LanguageType language;
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
- /**
- * Gets the value of the language property.
- *
- * @return
- * possible object is
- * {@link LanguageType }
- *
- */
- public LanguageType getLanguage() {
- return language;
- }
+ /**
+ * Gets the value of the language property.
+ *
+ * @return possible object is {@link LanguageType }
+ *
+ */
+ public LanguageType getLanguage() {
+ return language;
+ }
- /**
- * Sets the value of the language property.
- *
- * @param value
- * allowed object is
- * {@link LanguageType }
- *
- */
- public void setLanguage(LanguageType value) {
- this.language = value;
- }
+ /**
+ * Sets the value of the language property.
+ *
+ * @param value
+ * allowed object is {@link LanguageType }
+ *
+ */
+ public void setLanguage(LanguageType value) {
+ this.language = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitLanguagesOfInstructionType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitLanguagesOfInstructionType.java
index bfc905a75..94db5baa0 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitLanguagesOfInstructionType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitLanguagesOfInstructionType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -15,13 +14,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Language of instruction
*
- * <p>Java class for CourseUnitLanguagesOfInstructionType complex type.
+ * <p>
+ * Java class for CourseUnitLanguagesOfInstructionType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseUnitLanguagesOfInstructionType">
@@ -38,41 +38,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseUnitLanguagesOfInstructionType", propOrder = {
- "language"
-})
+@XmlType(name = "CourseUnitLanguagesOfInstructionType", propOrder = { "language" })
public class CourseUnitLanguagesOfInstructionType {
- @XmlElement(name = "Language", required = true)
- protected List<CourseUnitLanguageOfInstructionType> language;
+ @XmlElement(name = "Language", required = true)
+ protected List<CourseUnitLanguageOfInstructionType> language;
- /**
- * Gets the value of the language property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the language property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getLanguage().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link CourseUnitLanguageOfInstructionType }
- *
- *
- */
- public List<CourseUnitLanguageOfInstructionType> getLanguage() {
- if (language == null) {
- language = new ArrayList<CourseUnitLanguageOfInstructionType>();
- }
- return this.language;
- }
+ /**
+ * Gets the value of the language property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the language property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getLanguage().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link CourseUnitLanguageOfInstructionType }
+ *
+ *
+ */
+ public List<CourseUnitLanguageOfInstructionType> getLanguage() {
+ if (language == null) {
+ language = new ArrayList<CourseUnitLanguageOfInstructionType>();
+ }
+ return this.language;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitStudentPerformanceType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitStudentPerformanceType.java
index 344d49990..1a5562a63 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitStudentPerformanceType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitStudentPerformanceType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,13 +12,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Student performance
*
- * <p>Java class for CourseUnitStudentPerformanceType complex type.
+ * <p>
+ * Java class for CourseUnitStudentPerformanceType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseUnitStudentPerformanceType">
@@ -37,63 +37,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseUnitStudentPerformanceType", propOrder = {
- "localGrade",
- "ectsGrade"
-})
+@XmlType(name = "CourseUnitStudentPerformanceType", propOrder = { "localGrade", "ectsGrade" })
public class CourseUnitStudentPerformanceType {
- @XmlElement(name = "LocalGrade", required = true)
- protected LocalGradeType localGrade;
- @XmlElement(name = "ECTSGrade")
- protected ECTSGradingScaleType ectsGrade;
+ @XmlElement(name = "LocalGrade", required = true)
+ protected LocalGradeType localGrade;
+ @XmlElement(name = "ECTSGrade")
+ protected ECTSGradingScaleType ectsGrade;
- /**
- * Gets the value of the localGrade property.
- *
- * @return
- * possible object is
- * {@link LocalGradeType }
- *
- */
- public LocalGradeType getLocalGrade() {
- return localGrade;
- }
+ /**
+ * Gets the value of the localGrade property.
+ *
+ * @return possible object is {@link LocalGradeType }
+ *
+ */
+ public LocalGradeType getLocalGrade() {
+ return localGrade;
+ }
- /**
- * Sets the value of the localGrade property.
- *
- * @param value
- * allowed object is
- * {@link LocalGradeType }
- *
- */
- public void setLocalGrade(LocalGradeType value) {
- this.localGrade = value;
- }
+ /**
+ * Sets the value of the localGrade property.
+ *
+ * @param value
+ * allowed object is {@link LocalGradeType }
+ *
+ */
+ public void setLocalGrade(LocalGradeType value) {
+ this.localGrade = value;
+ }
- /**
- * Gets the value of the ectsGrade property.
- *
- * @return
- * possible object is
- * {@link ECTSGradingScaleType }
- *
- */
- public ECTSGradingScaleType getECTSGrade() {
- return ectsGrade;
- }
+ /**
+ * Gets the value of the ectsGrade property.
+ *
+ * @return possible object is {@link ECTSGradingScaleType }
+ *
+ */
+ public ECTSGradingScaleType getECTSGrade() {
+ return ectsGrade;
+ }
- /**
- * Sets the value of the ectsGrade property.
- *
- * @param value
- * allowed object is
- * {@link ECTSGradingScaleType }
- *
- */
- public void setECTSGrade(ECTSGradingScaleType value) {
- this.ectsGrade = value;
- }
+ /**
+ * Sets the value of the ectsGrade property.
+ *
+ * @param value
+ * allowed object is {@link ECTSGradingScaleType }
+ *
+ */
+ public void setECTSGrade(ECTSGradingScaleType value) {
+ this.ectsGrade = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitType.java
index fe0d62b0b..8c0d96fe2 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.math.BigDecimal;
@@ -16,13 +15,14 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-
/**
* Course unit
*
- * <p>Java class for CourseUnitType complex type.
+ * <p>
+ * Java class for CourseUnitType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseUnitType">
@@ -96,1036 +96,908 @@ import javax.xml.bind.annotation.XmlValue;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseUnitType", propOrder = {
- "code",
- "scientificArea",
- "title",
- "theme",
- "type",
- "yearOfStudy",
- "level",
- "ectsCredits",
- "localCredits",
- "hours",
- "languagesOfInstruction",
- "modeOfDelivery",
- "workPlacements",
- "studentPerformance",
- "nameOfLecturers",
- "learningOutcomes",
- "prerequisitesAndCorequisites",
- "recomendedOptionalProgrammeComponents",
- "courseContents",
- "recomendedOrRequiredReading",
- "planedLearningActivitiesAndTeachingMethod",
- "assesmentMethodsAndCriteria",
- "observations"
-})
+@XmlType(name = "CourseUnitType", propOrder = { "code", "scientificArea", "title", "theme", "type", "yearOfStudy", "level", "ectsCredits", "localCredits", "hours", "languagesOfInstruction",
+ "modeOfDelivery", "workPlacements", "studentPerformance", "nameOfLecturers", "learningOutcomes", "prerequisitesAndCorequisites", "recomendedOptionalProgrammeComponents", "courseContents",
+ "recomendedOrRequiredReading", "planedLearningActivitiesAndTeachingMethod", "assesmentMethodsAndCriteria", "observations" })
public class CourseUnitType {
- @XmlElement(name = "Code", required = true)
- protected String code;
- @XmlElement(name = "ScientificArea")
- protected String scientificArea;
- @XmlElement(name = "Title", required = true)
- protected String title;
- @XmlElement(name = "Theme")
- protected String theme;
- @XmlElement(name = "Type", required = true)
- protected CourseUnitType.Type type;
- @XmlElement(name = "YearOfStudy")
- protected CourseUnitType.YearOfStudy yearOfStudy;
- @XmlElement(name = "Level")
- protected CourseUnitType.Level level;
- @XmlElement(name = "ECTSCredits")
- protected BigDecimal ectsCredits;
- @XmlElement(name = "LocalCredits")
- protected BigDecimal localCredits;
- @XmlElement(name = "Hours")
- protected BigDecimal hours;
- @XmlElement(name = "LanguagesOfInstruction")
- protected CourseUnitLanguagesOfInstructionType languagesOfInstruction;
- @XmlElement(name = "ModeOfDelivery")
- protected CourseUnitType.ModeOfDelivery modeOfDelivery;
- @XmlElement(name = "WorkPlacements")
- protected CourseUnitWorkPlacementsType workPlacements;
- @XmlElement(name = "StudentPerformance")
- protected CourseUnitStudentPerformanceType studentPerformance;
- @XmlElement(name = "NameOfLecturers")
- protected RichTextTagType nameOfLecturers;
- @XmlElement(name = "LearningOutcomes")
- protected RichTextTagType learningOutcomes;
- @XmlElement(name = "PrerequisitesAndCorequisites")
- protected RichTextTagType prerequisitesAndCorequisites;
- @XmlElement(name = "RecomendedOptionalProgrammeComponents")
- protected RichTextTagType recomendedOptionalProgrammeComponents;
- @XmlElement(name = "CourseContents")
- protected RichTextTagType courseContents;
- @XmlElement(name = "RecomendedOrRequiredReading")
- protected RichTextTagType recomendedOrRequiredReading;
- @XmlElement(name = "PlanedLearningActivitiesAndTeachingMethod")
- protected RichTextTagType planedLearningActivitiesAndTeachingMethod;
- @XmlElement(name = "AssesmentMethodsAndCriteria")
- protected RichTextTagType assesmentMethodsAndCriteria;
- @XmlElement(name = "Observations")
- protected RichTextTagType observations;
- @XmlAttribute(name = "groupID", required = true)
- protected String groupID;
- @XmlAttribute(name = "institutionAdministeringStudiesID", required = true)
- protected String institutionAdministeringStudiesID;
- @XmlAttribute(name = "isRequiredByTheProgramme")
- protected Boolean isRequiredByTheProgramme;
-
- /**
- * Gets the value of the code property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCode() {
- return code;
- }
-
- /**
- * Sets the value of the code property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCode(String value) {
- this.code = value;
- }
-
- /**
- * Gets the value of the scientificArea property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getScientificArea() {
- return scientificArea;
- }
-
- /**
- * Sets the value of the scientificArea property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setScientificArea(String value) {
- this.scientificArea = value;
- }
-
- /**
- * Gets the value of the title property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTitle() {
- return title;
- }
-
- /**
- * Sets the value of the title property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTitle(String value) {
- this.title = value;
- }
-
- /**
- * Gets the value of the theme property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTheme() {
- return theme;
- }
-
- /**
- * Sets the value of the theme property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTheme(String value) {
- this.theme = value;
- }
-
- /**
- * Gets the value of the type property.
- *
- * @return
- * possible object is
- * {@link CourseUnitType.Type }
- *
- */
- public CourseUnitType.Type getType() {
- return type;
- }
-
- /**
- * Sets the value of the type property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitType.Type }
- *
- */
- public void setType(CourseUnitType.Type value) {
- this.type = value;
- }
-
- /**
- * Gets the value of the yearOfStudy property.
- *
- * @return
- * possible object is
- * {@link CourseUnitType.YearOfStudy }
- *
- */
- public CourseUnitType.YearOfStudy getYearOfStudy() {
- return yearOfStudy;
- }
-
- /**
- * Sets the value of the yearOfStudy property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitType.YearOfStudy }
- *
- */
- public void setYearOfStudy(CourseUnitType.YearOfStudy value) {
- this.yearOfStudy = value;
- }
-
- /**
- * Gets the value of the level property.
- *
- * @return
- * possible object is
- * {@link CourseUnitType.Level }
- *
- */
- public CourseUnitType.Level getLevel() {
- return level;
- }
-
- /**
- * Sets the value of the level property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitType.Level }
- *
- */
- public void setLevel(CourseUnitType.Level value) {
- this.level = value;
- }
-
- /**
- * Gets the value of the ectsCredits property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getECTSCredits() {
- return ectsCredits;
- }
-
- /**
- * Sets the value of the ectsCredits property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setECTSCredits(BigDecimal value) {
- this.ectsCredits = value;
- }
-
- /**
- * Gets the value of the localCredits property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getLocalCredits() {
- return localCredits;
- }
-
- /**
- * Sets the value of the localCredits property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setLocalCredits(BigDecimal value) {
- this.localCredits = value;
- }
-
- /**
- * Gets the value of the hours property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getHours() {
- return hours;
- }
-
- /**
- * Sets the value of the hours property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setHours(BigDecimal value) {
- this.hours = value;
- }
-
- /**
- * Gets the value of the languagesOfInstruction property.
- *
- * @return
- * possible object is
- * {@link CourseUnitLanguagesOfInstructionType }
- *
- */
- public CourseUnitLanguagesOfInstructionType getLanguagesOfInstruction() {
- return languagesOfInstruction;
- }
-
- /**
- * Sets the value of the languagesOfInstruction property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitLanguagesOfInstructionType }
- *
- */
- public void setLanguagesOfInstruction(CourseUnitLanguagesOfInstructionType value) {
- this.languagesOfInstruction = value;
- }
-
- /**
- * Gets the value of the modeOfDelivery property.
- *
- * @return
- * possible object is
- * {@link CourseUnitType.ModeOfDelivery }
- *
- */
- public CourseUnitType.ModeOfDelivery getModeOfDelivery() {
- return modeOfDelivery;
- }
-
- /**
- * Sets the value of the modeOfDelivery property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitType.ModeOfDelivery }
- *
- */
- public void setModeOfDelivery(CourseUnitType.ModeOfDelivery value) {
- this.modeOfDelivery = value;
- }
-
- /**
- * Gets the value of the workPlacements property.
- *
- * @return
- * possible object is
- * {@link CourseUnitWorkPlacementsType }
- *
- */
- public CourseUnitWorkPlacementsType getWorkPlacements() {
- return workPlacements;
- }
-
- /**
- * Sets the value of the workPlacements property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitWorkPlacementsType }
- *
- */
- public void setWorkPlacements(CourseUnitWorkPlacementsType value) {
- this.workPlacements = value;
- }
-
- /**
- * Gets the value of the studentPerformance property.
- *
- * @return
- * possible object is
- * {@link CourseUnitStudentPerformanceType }
- *
- */
- public CourseUnitStudentPerformanceType getStudentPerformance() {
- return studentPerformance;
- }
-
- /**
- * Sets the value of the studentPerformance property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitStudentPerformanceType }
- *
- */
- public void setStudentPerformance(CourseUnitStudentPerformanceType value) {
- this.studentPerformance = value;
- }
-
- /**
- * Gets the value of the nameOfLecturers property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getNameOfLecturers() {
- return nameOfLecturers;
- }
-
- /**
- * Sets the value of the nameOfLecturers property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setNameOfLecturers(RichTextTagType value) {
- this.nameOfLecturers = value;
- }
-
- /**
- * Gets the value of the learningOutcomes property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getLearningOutcomes() {
- return learningOutcomes;
- }
-
- /**
- * Sets the value of the learningOutcomes property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setLearningOutcomes(RichTextTagType value) {
- this.learningOutcomes = value;
- }
-
- /**
- * Gets the value of the prerequisitesAndCorequisites property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getPrerequisitesAndCorequisites() {
- return prerequisitesAndCorequisites;
- }
-
- /**
- * Sets the value of the prerequisitesAndCorequisites property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setPrerequisitesAndCorequisites(RichTextTagType value) {
- this.prerequisitesAndCorequisites = value;
- }
-
- /**
- * Gets the value of the recomendedOptionalProgrammeComponents property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getRecomendedOptionalProgrammeComponents() {
- return recomendedOptionalProgrammeComponents;
- }
-
- /**
- * Sets the value of the recomendedOptionalProgrammeComponents property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setRecomendedOptionalProgrammeComponents(RichTextTagType value) {
- this.recomendedOptionalProgrammeComponents = value;
- }
-
- /**
- * Gets the value of the courseContents property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getCourseContents() {
- return courseContents;
- }
-
- /**
- * Sets the value of the courseContents property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setCourseContents(RichTextTagType value) {
- this.courseContents = value;
- }
-
- /**
- * Gets the value of the recomendedOrRequiredReading property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getRecomendedOrRequiredReading() {
- return recomendedOrRequiredReading;
- }
-
- /**
- * Sets the value of the recomendedOrRequiredReading property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setRecomendedOrRequiredReading(RichTextTagType value) {
- this.recomendedOrRequiredReading = value;
- }
-
- /**
- * Gets the value of the planedLearningActivitiesAndTeachingMethod property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getPlanedLearningActivitiesAndTeachingMethod() {
- return planedLearningActivitiesAndTeachingMethod;
- }
-
- /**
- * Sets the value of the planedLearningActivitiesAndTeachingMethod property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setPlanedLearningActivitiesAndTeachingMethod(RichTextTagType value) {
- this.planedLearningActivitiesAndTeachingMethod = value;
- }
-
- /**
- * Gets the value of the assesmentMethodsAndCriteria property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getAssesmentMethodsAndCriteria() {
- return assesmentMethodsAndCriteria;
- }
-
- /**
- * Sets the value of the assesmentMethodsAndCriteria property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setAssesmentMethodsAndCriteria(RichTextTagType value) {
- this.assesmentMethodsAndCriteria = value;
- }
-
- /**
- * Gets the value of the observations property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getObservations() {
- return observations;
- }
-
- /**
- * Sets the value of the observations property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setObservations(RichTextTagType value) {
- this.observations = value;
- }
-
- /**
- * Gets the value of the groupID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getGroupID() {
- return groupID;
- }
-
- /**
- * Sets the value of the groupID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setGroupID(String value) {
- this.groupID = value;
- }
-
- /**
- * Gets the value of the institutionAdministeringStudiesID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getInstitutionAdministeringStudiesID() {
- return institutionAdministeringStudiesID;
- }
-
- /**
- * Sets the value of the institutionAdministeringStudiesID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setInstitutionAdministeringStudiesID(String value) {
- this.institutionAdministeringStudiesID = value;
- }
-
- /**
- * Gets the value of the isRequiredByTheProgramme property.
- *
- * @return
- * possible object is
- * {@link Boolean }
- *
- */
- public boolean isIsRequiredByTheProgramme() {
- if (isRequiredByTheProgramme == null) {
- return true;
- } else {
- return isRequiredByTheProgramme;
- }
- }
-
- /**
- * Sets the value of the isRequiredByTheProgramme property.
- *
- * @param value
- * allowed object is
- * {@link Boolean }
- *
- */
- public void setIsRequiredByTheProgramme(Boolean value) {
- this.isRequiredByTheProgramme = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
- * &lt;attribute name="eheaFramework" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}EHEAFrameworkType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class Level {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "eheaFramework", required = true)
- protected EHEAFrameworkType eheaFramework;
-
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the eheaFramework property.
- *
- * @return
- * possible object is
- * {@link EHEAFrameworkType }
- *
- */
- public EHEAFrameworkType getEheaFramework() {
- return eheaFramework;
- }
-
- /**
- * Sets the value of the eheaFramework property.
- *
- * @param value
- * allowed object is
- * {@link EHEAFrameworkType }
- *
- */
- public void setEheaFramework(EHEAFrameworkType value) {
- this.eheaFramework = value;
- }
-
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
- * &lt;attribute name="modeOfDelivery" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}ModeOfDeliveryType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class ModeOfDelivery {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "modeOfDelivery", required = true)
- protected ModeOfDeliveryType modeOfDelivery;
-
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the modeOfDelivery property.
- *
- * @return
- * possible object is
- * {@link ModeOfDeliveryType }
- *
- */
- public ModeOfDeliveryType getModeOfDelivery() {
- return modeOfDelivery;
- }
-
- /**
- * Sets the value of the modeOfDelivery property.
- *
- * @param value
- * allowed object is
- * {@link ModeOfDeliveryType }
- *
- */
- public void setModeOfDelivery(ModeOfDeliveryType value) {
- this.modeOfDelivery = value;
- }
-
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
- * &lt;attribute name="type" type="{urn:crue:academic:xsd:language:diplomasupplement}CourseUnitTypeType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class Type {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "type")
- protected CourseUnitTypeType type;
-
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the type property.
- *
- * @return
- * possible object is
- * {@link CourseUnitTypeType }
- *
- */
- public CourseUnitTypeType getType() {
- return type;
- }
-
- /**
- * Sets the value of the type property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitTypeType }
- *
- */
- public void setType(CourseUnitTypeType value) {
- this.type = value;
- }
-
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
- * &lt;attribute name="year" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}PositiveDecimalType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class YearOfStudy {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "year", required = true)
- protected BigDecimal year;
-
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the year property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getYear() {
- return year;
- }
-
- /**
- * Sets the value of the year property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setYear(BigDecimal value) {
- this.year = value;
- }
-
- }
+ @XmlElement(name = "Code", required = true)
+ protected String code;
+ @XmlElement(name = "ScientificArea")
+ protected String scientificArea;
+ @XmlElement(name = "Title", required = true)
+ protected String title;
+ @XmlElement(name = "Theme")
+ protected String theme;
+ @XmlElement(name = "Type", required = true)
+ protected CourseUnitType.Type type;
+ @XmlElement(name = "YearOfStudy")
+ protected CourseUnitType.YearOfStudy yearOfStudy;
+ @XmlElement(name = "Level")
+ protected CourseUnitType.Level level;
+ @XmlElement(name = "ECTSCredits")
+ protected BigDecimal ectsCredits;
+ @XmlElement(name = "LocalCredits")
+ protected BigDecimal localCredits;
+ @XmlElement(name = "Hours")
+ protected BigDecimal hours;
+ @XmlElement(name = "LanguagesOfInstruction")
+ protected CourseUnitLanguagesOfInstructionType languagesOfInstruction;
+ @XmlElement(name = "ModeOfDelivery")
+ protected CourseUnitType.ModeOfDelivery modeOfDelivery;
+ @XmlElement(name = "WorkPlacements")
+ protected CourseUnitWorkPlacementsType workPlacements;
+ @XmlElement(name = "StudentPerformance")
+ protected CourseUnitStudentPerformanceType studentPerformance;
+ @XmlElement(name = "NameOfLecturers")
+ protected RichTextTagType nameOfLecturers;
+ @XmlElement(name = "LearningOutcomes")
+ protected RichTextTagType learningOutcomes;
+ @XmlElement(name = "PrerequisitesAndCorequisites")
+ protected RichTextTagType prerequisitesAndCorequisites;
+ @XmlElement(name = "RecomendedOptionalProgrammeComponents")
+ protected RichTextTagType recomendedOptionalProgrammeComponents;
+ @XmlElement(name = "CourseContents")
+ protected RichTextTagType courseContents;
+ @XmlElement(name = "RecomendedOrRequiredReading")
+ protected RichTextTagType recomendedOrRequiredReading;
+ @XmlElement(name = "PlanedLearningActivitiesAndTeachingMethod")
+ protected RichTextTagType planedLearningActivitiesAndTeachingMethod;
+ @XmlElement(name = "AssesmentMethodsAndCriteria")
+ protected RichTextTagType assesmentMethodsAndCriteria;
+ @XmlElement(name = "Observations")
+ protected RichTextTagType observations;
+ @XmlAttribute(name = "groupID", required = true)
+ protected String groupID;
+ @XmlAttribute(name = "institutionAdministeringStudiesID", required = true)
+ protected String institutionAdministeringStudiesID;
+ @XmlAttribute(name = "isRequiredByTheProgramme")
+ protected Boolean isRequiredByTheProgramme;
+
+ /**
+ * Gets the value of the code property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCode() {
+ return code;
+ }
+
+ /**
+ * Sets the value of the code property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCode(String value) {
+ this.code = value;
+ }
+
+ /**
+ * Gets the value of the scientificArea property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getScientificArea() {
+ return scientificArea;
+ }
+
+ /**
+ * Sets the value of the scientificArea property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setScientificArea(String value) {
+ this.scientificArea = value;
+ }
+
+ /**
+ * Gets the value of the title property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * Sets the value of the title property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTitle(String value) {
+ this.title = value;
+ }
+
+ /**
+ * Gets the value of the theme property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTheme() {
+ return theme;
+ }
+
+ /**
+ * Sets the value of the theme property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTheme(String value) {
+ this.theme = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return possible object is {@link CourseUnitType.Type }
+ *
+ */
+ public CourseUnitType.Type getType() {
+ return type;
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitType.Type }
+ *
+ */
+ public void setType(CourseUnitType.Type value) {
+ this.type = value;
+ }
+
+ /**
+ * Gets the value of the yearOfStudy property.
+ *
+ * @return possible object is {@link CourseUnitType.YearOfStudy }
+ *
+ */
+ public CourseUnitType.YearOfStudy getYearOfStudy() {
+ return yearOfStudy;
+ }
+
+ /**
+ * Sets the value of the yearOfStudy property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitType.YearOfStudy }
+ *
+ */
+ public void setYearOfStudy(CourseUnitType.YearOfStudy value) {
+ this.yearOfStudy = value;
+ }
+
+ /**
+ * Gets the value of the level property.
+ *
+ * @return possible object is {@link CourseUnitType.Level }
+ *
+ */
+ public CourseUnitType.Level getLevel() {
+ return level;
+ }
+
+ /**
+ * Sets the value of the level property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitType.Level }
+ *
+ */
+ public void setLevel(CourseUnitType.Level value) {
+ this.level = value;
+ }
+
+ /**
+ * Gets the value of the ectsCredits property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getECTSCredits() {
+ return ectsCredits;
+ }
+
+ /**
+ * Sets the value of the ectsCredits property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setECTSCredits(BigDecimal value) {
+ this.ectsCredits = value;
+ }
+
+ /**
+ * Gets the value of the localCredits property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getLocalCredits() {
+ return localCredits;
+ }
+
+ /**
+ * Sets the value of the localCredits property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setLocalCredits(BigDecimal value) {
+ this.localCredits = value;
+ }
+
+ /**
+ * Gets the value of the hours property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getHours() {
+ return hours;
+ }
+
+ /**
+ * Sets the value of the hours property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setHours(BigDecimal value) {
+ this.hours = value;
+ }
+
+ /**
+ * Gets the value of the languagesOfInstruction property.
+ *
+ * @return possible object is {@link CourseUnitLanguagesOfInstructionType }
+ *
+ */
+ public CourseUnitLanguagesOfInstructionType getLanguagesOfInstruction() {
+ return languagesOfInstruction;
+ }
+
+ /**
+ * Sets the value of the languagesOfInstruction property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitLanguagesOfInstructionType }
+ *
+ */
+ public void setLanguagesOfInstruction(CourseUnitLanguagesOfInstructionType value) {
+ this.languagesOfInstruction = value;
+ }
+
+ /**
+ * Gets the value of the modeOfDelivery property.
+ *
+ * @return possible object is {@link CourseUnitType.ModeOfDelivery }
+ *
+ */
+ public CourseUnitType.ModeOfDelivery getModeOfDelivery() {
+ return modeOfDelivery;
+ }
+
+ /**
+ * Sets the value of the modeOfDelivery property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitType.ModeOfDelivery }
+ *
+ */
+ public void setModeOfDelivery(CourseUnitType.ModeOfDelivery value) {
+ this.modeOfDelivery = value;
+ }
+
+ /**
+ * Gets the value of the workPlacements property.
+ *
+ * @return possible object is {@link CourseUnitWorkPlacementsType }
+ *
+ */
+ public CourseUnitWorkPlacementsType getWorkPlacements() {
+ return workPlacements;
+ }
+
+ /**
+ * Sets the value of the workPlacements property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitWorkPlacementsType }
+ *
+ */
+ public void setWorkPlacements(CourseUnitWorkPlacementsType value) {
+ this.workPlacements = value;
+ }
+
+ /**
+ * Gets the value of the studentPerformance property.
+ *
+ * @return possible object is {@link CourseUnitStudentPerformanceType }
+ *
+ */
+ public CourseUnitStudentPerformanceType getStudentPerformance() {
+ return studentPerformance;
+ }
+
+ /**
+ * Sets the value of the studentPerformance property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitStudentPerformanceType }
+ *
+ */
+ public void setStudentPerformance(CourseUnitStudentPerformanceType value) {
+ this.studentPerformance = value;
+ }
+
+ /**
+ * Gets the value of the nameOfLecturers property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getNameOfLecturers() {
+ return nameOfLecturers;
+ }
+
+ /**
+ * Sets the value of the nameOfLecturers property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setNameOfLecturers(RichTextTagType value) {
+ this.nameOfLecturers = value;
+ }
+
+ /**
+ * Gets the value of the learningOutcomes property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getLearningOutcomes() {
+ return learningOutcomes;
+ }
+
+ /**
+ * Sets the value of the learningOutcomes property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setLearningOutcomes(RichTextTagType value) {
+ this.learningOutcomes = value;
+ }
+
+ /**
+ * Gets the value of the prerequisitesAndCorequisites property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getPrerequisitesAndCorequisites() {
+ return prerequisitesAndCorequisites;
+ }
+
+ /**
+ * Sets the value of the prerequisitesAndCorequisites property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setPrerequisitesAndCorequisites(RichTextTagType value) {
+ this.prerequisitesAndCorequisites = value;
+ }
+
+ /**
+ * Gets the value of the recomendedOptionalProgrammeComponents property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getRecomendedOptionalProgrammeComponents() {
+ return recomendedOptionalProgrammeComponents;
+ }
+
+ /**
+ * Sets the value of the recomendedOptionalProgrammeComponents property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setRecomendedOptionalProgrammeComponents(RichTextTagType value) {
+ this.recomendedOptionalProgrammeComponents = value;
+ }
+
+ /**
+ * Gets the value of the courseContents property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getCourseContents() {
+ return courseContents;
+ }
+
+ /**
+ * Sets the value of the courseContents property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setCourseContents(RichTextTagType value) {
+ this.courseContents = value;
+ }
+
+ /**
+ * Gets the value of the recomendedOrRequiredReading property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getRecomendedOrRequiredReading() {
+ return recomendedOrRequiredReading;
+ }
+
+ /**
+ * Sets the value of the recomendedOrRequiredReading property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setRecomendedOrRequiredReading(RichTextTagType value) {
+ this.recomendedOrRequiredReading = value;
+ }
+
+ /**
+ * Gets the value of the planedLearningActivitiesAndTeachingMethod property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getPlanedLearningActivitiesAndTeachingMethod() {
+ return planedLearningActivitiesAndTeachingMethod;
+ }
+
+ /**
+ * Sets the value of the planedLearningActivitiesAndTeachingMethod property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setPlanedLearningActivitiesAndTeachingMethod(RichTextTagType value) {
+ this.planedLearningActivitiesAndTeachingMethod = value;
+ }
+
+ /**
+ * Gets the value of the assesmentMethodsAndCriteria property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getAssesmentMethodsAndCriteria() {
+ return assesmentMethodsAndCriteria;
+ }
+
+ /**
+ * Sets the value of the assesmentMethodsAndCriteria property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setAssesmentMethodsAndCriteria(RichTextTagType value) {
+ this.assesmentMethodsAndCriteria = value;
+ }
+
+ /**
+ * Gets the value of the observations property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getObservations() {
+ return observations;
+ }
+
+ /**
+ * Sets the value of the observations property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setObservations(RichTextTagType value) {
+ this.observations = value;
+ }
+
+ /**
+ * Gets the value of the groupID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getGroupID() {
+ return groupID;
+ }
+
+ /**
+ * Sets the value of the groupID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setGroupID(String value) {
+ this.groupID = value;
+ }
+
+ /**
+ * Gets the value of the institutionAdministeringStudiesID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getInstitutionAdministeringStudiesID() {
+ return institutionAdministeringStudiesID;
+ }
+
+ /**
+ * Sets the value of the institutionAdministeringStudiesID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setInstitutionAdministeringStudiesID(String value) {
+ this.institutionAdministeringStudiesID = value;
+ }
+
+ /**
+ * Gets the value of the isRequiredByTheProgramme property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isIsRequiredByTheProgramme() {
+ if (isRequiredByTheProgramme == null) {
+ return true;
+ } else {
+ return isRequiredByTheProgramme;
+ }
+ }
+
+ /**
+ * Sets the value of the isRequiredByTheProgramme property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setIsRequiredByTheProgramme(Boolean value) {
+ this.isRequiredByTheProgramme = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
+ * &lt;attribute name="eheaFramework" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}EHEAFrameworkType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class Level {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "eheaFramework", required = true)
+ protected EHEAFrameworkType eheaFramework;
+
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the eheaFramework property.
+ *
+ * @return possible object is {@link EHEAFrameworkType }
+ *
+ */
+ public EHEAFrameworkType getEheaFramework() {
+ return eheaFramework;
+ }
+
+ /**
+ * Sets the value of the eheaFramework property.
+ *
+ * @param value
+ * allowed object is {@link EHEAFrameworkType }
+ *
+ */
+ public void setEheaFramework(EHEAFrameworkType value) {
+ this.eheaFramework = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
+ * &lt;attribute name="modeOfDelivery" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}ModeOfDeliveryType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class ModeOfDelivery {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "modeOfDelivery", required = true)
+ protected ModeOfDeliveryType modeOfDelivery;
+
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the modeOfDelivery property.
+ *
+ * @return possible object is {@link ModeOfDeliveryType }
+ *
+ */
+ public ModeOfDeliveryType getModeOfDelivery() {
+ return modeOfDelivery;
+ }
+
+ /**
+ * Sets the value of the modeOfDelivery property.
+ *
+ * @param value
+ * allowed object is {@link ModeOfDeliveryType }
+ *
+ */
+ public void setModeOfDelivery(ModeOfDeliveryType value) {
+ this.modeOfDelivery = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
+ * &lt;attribute name="type" type="{urn:crue:academic:xsd:language:diplomasupplement}CourseUnitTypeType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class Type {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "type")
+ protected CourseUnitTypeType type;
+
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return possible object is {@link CourseUnitTypeType }
+ *
+ */
+ public CourseUnitTypeType getType() {
+ return type;
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitTypeType }
+ *
+ */
+ public void setType(CourseUnitTypeType value) {
+ this.type = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
+ * &lt;attribute name="year" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}PositiveDecimalType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class YearOfStudy {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "year", required = true)
+ protected BigDecimal year;
+
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the year property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getYear() {
+ return year;
+ }
+
+ /**
+ * Sets the value of the year property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setYear(BigDecimal value) {
+ this.year = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitTypeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitTypeType.java
index bb2dd2e50..5978cb2c7 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitTypeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitTypeType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CourseUnitTypeType.
+ * <p>
+ * Java class for CourseUnitTypeType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="CourseUnitTypeType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -32,37 +33,36 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum CourseUnitTypeType {
+ /**
+ * Compulsory
+ *
+ */
+ @XmlEnumValue("Compulsory")
+ COMPULSORY("Compulsory"),
- /**
- * Compulsory
- *
- */
- @XmlEnumValue("Compulsory")
- COMPULSORY("Compulsory"),
-
- /**
- * Optional
- *
- */
- @XmlEnumValue("Optional")
- OPTIONAL("Optional");
- private final String value;
+ /**
+ * Optional
+ *
+ */
+ @XmlEnumValue("Optional")
+ OPTIONAL("Optional");
+ private final String value;
- CourseUnitTypeType(String v) {
- value = v;
- }
+ CourseUnitTypeType(String v) {
+ value = v;
+ }
- public String value() {
- return value;
- }
+ public String value() {
+ return value;
+ }
- public static CourseUnitTypeType fromValue(String v) {
- for (CourseUnitTypeType c: CourseUnitTypeType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ public static CourseUnitTypeType fromValue(String v) {
+ for (CourseUnitTypeType c : CourseUnitTypeType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitWorkPlacementType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitWorkPlacementType.java
index eb930ec76..f2d424667 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitWorkPlacementType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitWorkPlacementType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.math.BigDecimal;
@@ -15,13 +14,14 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
-
/**
* Course unit work placement
*
- * <p>Java class for CourseUnitWorkPlacementType complex type.
+ * <p>
+ * Java class for CourseUnitWorkPlacementType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseUnitWorkPlacementType">
@@ -41,117 +41,100 @@ import javax.xml.datatype.XMLGregorianCalendar;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseUnitWorkPlacementType", propOrder = {
- "collaboratingInstitution",
- "dateFrom",
- "dateTo",
- "trainingHours"
-})
+@XmlType(name = "CourseUnitWorkPlacementType", propOrder = { "collaboratingInstitution", "dateFrom", "dateTo", "trainingHours" })
public class CourseUnitWorkPlacementType {
- @XmlElement(name = "CollaboratingInstitution", required = true)
- protected String collaboratingInstitution;
- @XmlElement(name = "DateFrom")
- protected XMLGregorianCalendar dateFrom;
- @XmlElement(name = "DateTo")
- protected XMLGregorianCalendar dateTo;
- @XmlElement(name = "TrainingHours")
- protected BigDecimal trainingHours;
+ @XmlElement(name = "CollaboratingInstitution", required = true)
+ protected String collaboratingInstitution;
+ @XmlElement(name = "DateFrom")
+ protected XMLGregorianCalendar dateFrom;
+ @XmlElement(name = "DateTo")
+ protected XMLGregorianCalendar dateTo;
+ @XmlElement(name = "TrainingHours")
+ protected BigDecimal trainingHours;
- /**
- * Gets the value of the collaboratingInstitution property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCollaboratingInstitution() {
- return collaboratingInstitution;
- }
+ /**
+ * Gets the value of the collaboratingInstitution property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCollaboratingInstitution() {
+ return collaboratingInstitution;
+ }
- /**
- * Sets the value of the collaboratingInstitution property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCollaboratingInstitution(String value) {
- this.collaboratingInstitution = value;
- }
+ /**
+ * Sets the value of the collaboratingInstitution property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCollaboratingInstitution(String value) {
+ this.collaboratingInstitution = value;
+ }
- /**
- * Gets the value of the dateFrom property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getDateFrom() {
- return dateFrom;
- }
+ /**
+ * Gets the value of the dateFrom property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateFrom() {
+ return dateFrom;
+ }
- /**
- * Sets the value of the dateFrom property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setDateFrom(XMLGregorianCalendar value) {
- this.dateFrom = value;
- }
+ /**
+ * Sets the value of the dateFrom property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateFrom(XMLGregorianCalendar value) {
+ this.dateFrom = value;
+ }
- /**
- * Gets the value of the dateTo property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getDateTo() {
- return dateTo;
- }
+ /**
+ * Gets the value of the dateTo property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateTo() {
+ return dateTo;
+ }
- /**
- * Sets the value of the dateTo property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setDateTo(XMLGregorianCalendar value) {
- this.dateTo = value;
- }
+ /**
+ * Sets the value of the dateTo property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateTo(XMLGregorianCalendar value) {
+ this.dateTo = value;
+ }
- /**
- * Gets the value of the trainingHours property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getTrainingHours() {
- return trainingHours;
- }
+ /**
+ * Gets the value of the trainingHours property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getTrainingHours() {
+ return trainingHours;
+ }
- /**
- * Sets the value of the trainingHours property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setTrainingHours(BigDecimal value) {
- this.trainingHours = value;
- }
+ /**
+ * Sets the value of the trainingHours property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setTrainingHours(BigDecimal value) {
+ this.trainingHours = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitWorkPlacementsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitWorkPlacementsType.java
index f8d62f1e9..9a894f184 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitWorkPlacementsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CourseUnitWorkPlacementsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -15,13 +14,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Course unit work placements
*
- * <p>Java class for CourseUnitWorkPlacementsType complex type.
+ * <p>
+ * Java class for CourseUnitWorkPlacementsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseUnitWorkPlacementsType">
@@ -38,41 +38,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseUnitWorkPlacementsType", propOrder = {
- "workPlacement"
-})
+@XmlType(name = "CourseUnitWorkPlacementsType", propOrder = { "workPlacement" })
public class CourseUnitWorkPlacementsType {
- @XmlElement(name = "WorkPlacement", required = true)
- protected List<CourseUnitWorkPlacementType> workPlacement;
+ @XmlElement(name = "WorkPlacement", required = true)
+ protected List<CourseUnitWorkPlacementType> workPlacement;
- /**
- * Gets the value of the workPlacement property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the workPlacement property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getWorkPlacement().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link CourseUnitWorkPlacementType }
- *
- *
- */
- public List<CourseUnitWorkPlacementType> getWorkPlacement() {
- if (workPlacement == null) {
- workPlacement = new ArrayList<CourseUnitWorkPlacementType>();
- }
- return this.workPlacement;
- }
+ /**
+ * Gets the value of the workPlacement property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the workPlacement property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getWorkPlacement().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link CourseUnitWorkPlacementType }
+ *
+ *
+ */
+ public List<CourseUnitWorkPlacementType> getWorkPlacement() {
+ if (workPlacement == null) {
+ workPlacement = new ArrayList<CourseUnitWorkPlacementType>();
+ }
+ return this.workPlacement;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesAttendedInOtherInstitutionInMobilityProgramsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesAttendedInOtherInstitutionInMobilityProgramsType.java
index 8d9c69b53..de5325960 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesAttendedInOtherInstitutionInMobilityProgramsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesAttendedInOtherInstitutionInMobilityProgramsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CoursesAttendedInOtherInstitutionInMobilityProgramsType complex type.
+ * <p>
+ * Java class for CoursesAttendedInOtherInstitutionInMobilityProgramsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CoursesAttendedInOtherInstitutionInMobilityProgramsType">
@@ -36,41 +36,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CoursesAttendedInOtherInstitutionInMobilityProgramsType", propOrder = {
- "mobilityProgramme"
-})
+@XmlType(name = "CoursesAttendedInOtherInstitutionInMobilityProgramsType", propOrder = { "mobilityProgramme" })
public class CoursesAttendedInOtherInstitutionInMobilityProgramsType {
- @XmlElement(name = "MobilityProgramme", required = true)
- protected List<MobilityProgrammeType> mobilityProgramme;
+ @XmlElement(name = "MobilityProgramme", required = true)
+ protected List<MobilityProgrammeType> mobilityProgramme;
- /**
- * Gets the value of the mobilityProgramme property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the mobilityProgramme property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getMobilityProgramme().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link MobilityProgrammeType }
- *
- *
- */
- public List<MobilityProgrammeType> getMobilityProgramme() {
- if (mobilityProgramme == null) {
- mobilityProgramme = new ArrayList<MobilityProgrammeType>();
- }
- return this.mobilityProgramme;
- }
+ /**
+ * Gets the value of the mobilityProgramme property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the mobilityProgramme property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getMobilityProgramme().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link MobilityProgrammeType }
+ *
+ *
+ */
+ public List<MobilityProgrammeType> getMobilityProgramme() {
+ if (mobilityProgramme == null) {
+ mobilityProgramme = new ArrayList<MobilityProgrammeType>();
+ }
+ return this.mobilityProgramme;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesGroupType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesGroupType.java
index 364fa3f85..8cafa0346 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesGroupType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesGroupType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -16,13 +15,14 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Courses group
*
- * <p>Java class for CoursesGroupType complex type.
+ * <p>
+ * Java class for CoursesGroupType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CoursesGroupType">
@@ -43,148 +43,129 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CoursesGroupType", propOrder = {
- "name",
- "headerInformation",
- "coursesGroup",
- "footerInformation"
-})
+@XmlType(name = "CoursesGroupType", propOrder = { "name", "headerInformation", "coursesGroup", "footerInformation" })
public class CoursesGroupType {
- @XmlElement(name = "Name", required = true)
- protected String name;
- @XmlElement(name = "HeaderInformation")
- protected RichTextTagType headerInformation;
- @XmlElement(name = "CoursesGroup")
- protected List<CoursesGroupType> coursesGroup;
- @XmlElement(name = "FooterInformation")
- protected RichTextTagType footerInformation;
- @XmlAttribute(name = "groupID", required = true)
- protected String groupID;
-
- /**
- * Gets the value of the name property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getName() {
- return name;
- }
-
- /**
- * Sets the value of the name property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setName(String value) {
- this.name = value;
- }
-
- /**
- * Gets the value of the headerInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getHeaderInformation() {
- return headerInformation;
- }
-
- /**
- * Sets the value of the headerInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setHeaderInformation(RichTextTagType value) {
- this.headerInformation = value;
- }
-
- /**
- * Gets the value of the coursesGroup property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the coursesGroup property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getCoursesGroup().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link CoursesGroupType }
- *
- *
- */
- public List<CoursesGroupType> getCoursesGroup() {
- if (coursesGroup == null) {
- coursesGroup = new ArrayList<CoursesGroupType>();
- }
- return this.coursesGroup;
- }
-
- /**
- * Gets the value of the footerInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getFooterInformation() {
- return footerInformation;
- }
-
- /**
- * Sets the value of the footerInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setFooterInformation(RichTextTagType value) {
- this.footerInformation = value;
- }
-
- /**
- * Gets the value of the groupID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getGroupID() {
- return groupID;
- }
-
- /**
- * Sets the value of the groupID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setGroupID(String value) {
- this.groupID = value;
- }
+ @XmlElement(name = "Name", required = true)
+ protected String name;
+ @XmlElement(name = "HeaderInformation")
+ protected RichTextTagType headerInformation;
+ @XmlElement(name = "CoursesGroup")
+ protected List<CoursesGroupType> coursesGroup;
+ @XmlElement(name = "FooterInformation")
+ protected RichTextTagType footerInformation;
+ @XmlAttribute(name = "groupID", required = true)
+ protected String groupID;
+
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
+
+ /**
+ * Gets the value of the headerInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getHeaderInformation() {
+ return headerInformation;
+ }
+
+ /**
+ * Sets the value of the headerInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setHeaderInformation(RichTextTagType value) {
+ this.headerInformation = value;
+ }
+
+ /**
+ * Gets the value of the coursesGroup property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the coursesGroup property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getCoursesGroup().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link CoursesGroupType }
+ *
+ *
+ */
+ public List<CoursesGroupType> getCoursesGroup() {
+ if (coursesGroup == null) {
+ coursesGroup = new ArrayList<CoursesGroupType>();
+ }
+ return this.coursesGroup;
+ }
+
+ /**
+ * Gets the value of the footerInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getFooterInformation() {
+ return footerInformation;
+ }
+
+ /**
+ * Sets the value of the footerInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setFooterInformation(RichTextTagType value) {
+ this.footerInformation = value;
+ }
+
+ /**
+ * Gets the value of the groupID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getGroupID() {
+ return groupID;
+ }
+
+ /**
+ * Sets the value of the groupID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setGroupID(String value) {
+ this.groupID = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesGroupsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesGroupsType.java
index 820581335..56ae13b33 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesGroupsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesGroupsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -15,13 +14,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Courses groups
*
- * <p>Java class for CoursesGroupsType complex type.
+ * <p>
+ * Java class for CoursesGroupsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CoursesGroupsType">
@@ -41,122 +41,106 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CoursesGroupsType", propOrder = {
- "name",
- "headerInformation",
- "coursesGroup",
- "footerInformation"
-})
+@XmlType(name = "CoursesGroupsType", propOrder = { "name", "headerInformation", "coursesGroup", "footerInformation" })
public class CoursesGroupsType {
- @XmlElement(name = "Name")
- protected String name;
- @XmlElement(name = "HeaderInformation")
- protected RichTextTagType headerInformation;
- @XmlElement(name = "CoursesGroup")
- protected List<CoursesGroupType> coursesGroup;
- @XmlElement(name = "FooterInformation")
- protected RichTextTagType footerInformation;
+ @XmlElement(name = "Name")
+ protected String name;
+ @XmlElement(name = "HeaderInformation")
+ protected RichTextTagType headerInformation;
+ @XmlElement(name = "CoursesGroup")
+ protected List<CoursesGroupType> coursesGroup;
+ @XmlElement(name = "FooterInformation")
+ protected RichTextTagType footerInformation;
- /**
- * Gets the value of the name property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getName() {
- return name;
- }
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
- /**
- * Sets the value of the name property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setName(String value) {
- this.name = value;
- }
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
- /**
- * Gets the value of the headerInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getHeaderInformation() {
- return headerInformation;
- }
+ /**
+ * Gets the value of the headerInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getHeaderInformation() {
+ return headerInformation;
+ }
- /**
- * Sets the value of the headerInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setHeaderInformation(RichTextTagType value) {
- this.headerInformation = value;
- }
+ /**
+ * Sets the value of the headerInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setHeaderInformation(RichTextTagType value) {
+ this.headerInformation = value;
+ }
- /**
- * Gets the value of the coursesGroup property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the coursesGroup property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getCoursesGroup().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link CoursesGroupType }
- *
- *
- */
- public List<CoursesGroupType> getCoursesGroup() {
- if (coursesGroup == null) {
- coursesGroup = new ArrayList<CoursesGroupType>();
- }
- return this.coursesGroup;
- }
+ /**
+ * Gets the value of the coursesGroup property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the coursesGroup property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getCoursesGroup().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link CoursesGroupType }
+ *
+ *
+ */
+ public List<CoursesGroupType> getCoursesGroup() {
+ if (coursesGroup == null) {
+ coursesGroup = new ArrayList<CoursesGroupType>();
+ }
+ return this.coursesGroup;
+ }
- /**
- * Gets the value of the footerInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getFooterInformation() {
- return footerInformation;
- }
+ /**
+ * Gets the value of the footerInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getFooterInformation() {
+ return footerInformation;
+ }
- /**
- * Sets the value of the footerInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setFooterInformation(RichTextTagType value) {
- this.footerInformation = value;
- }
+ /**
+ * Sets the value of the footerInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setFooterInformation(RichTextTagType value) {
+ this.footerInformation = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesUnitsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesUnitsType.java
index a2258cab0..38ccacc0b 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesUnitsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/CoursesUnitsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -15,13 +14,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Course units
*
- * <p>Java class for CoursesUnitsType complex type.
+ * <p>
+ * Java class for CoursesUnitsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CoursesUnitsType">
@@ -38,41 +38,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CoursesUnitsType", propOrder = {
- "courseUnit"
-})
+@XmlType(name = "CoursesUnitsType", propOrder = { "courseUnit" })
public class CoursesUnitsType {
- @XmlElement(name = "CourseUnit", required = true)
- protected List<CourseUnitType> courseUnit;
+ @XmlElement(name = "CourseUnit", required = true)
+ protected List<CourseUnitType> courseUnit;
- /**
- * Gets the value of the courseUnit property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the courseUnit property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getCourseUnit().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link CourseUnitType }
- *
- *
- */
- public List<CourseUnitType> getCourseUnit() {
- if (courseUnit == null) {
- courseUnit = new ArrayList<CourseUnitType>();
- }
- return this.courseUnit;
- }
+ /**
+ * Gets the value of the courseUnit property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the courseUnit property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getCourseUnit().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link CourseUnitType }
+ *
+ *
+ */
+ public List<CourseUnitType> getCourseUnit() {
+ if (courseUnit == null) {
+ courseUnit = new ArrayList<CourseUnitType>();
+ }
+ return this.courseUnit;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/DiplomaSupplementType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/DiplomaSupplementType.java
index b08a4fb72..57e9a4dfb 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/DiplomaSupplementType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/DiplomaSupplementType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -17,13 +16,14 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig.SignatureType;
-
/**
* Diploma Supplement
*
- * <p>Java class for DiplomaSupplementType complex type.
+ * <p>
+ * Java class for DiplomaSupplementType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="DiplomaSupplementType">
@@ -52,360 +52,316 @@ import eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig.SignatureType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "DiplomaSupplementType", propOrder = {
- "informationIdentifyingTheHolderOfTheQualification",
- "informationIdentifyingTheQualification",
- "informationOnTheLevelOfTheQualification",
- "informationOnTheContentsAndResultsGained",
- "informationOnTheFunctionOfTheQualification",
- "additionalInformation",
- "certificationOfTheSupplement",
- "informationOnTheNationalHigherEducationSystem",
- "attachments",
- "extensionContent",
- "signature"
-})
+@XmlType(name = "DiplomaSupplementType", propOrder = { "informationIdentifyingTheHolderOfTheQualification", "informationIdentifyingTheQualification", "informationOnTheLevelOfTheQualification",
+ "informationOnTheContentsAndResultsGained", "informationOnTheFunctionOfTheQualification", "additionalInformation", "certificationOfTheSupplement",
+ "informationOnTheNationalHigherEducationSystem", "attachments", "extensionContent", "signature" })
public class DiplomaSupplementType {
- @XmlElement(name = "InformationIdentifyingTheHolderOfTheQualification", required = true)
- protected InformationIdentifyingTheHolderOfTheQualificationType informationIdentifyingTheHolderOfTheQualification;
- @XmlElement(name = "InformationIdentifyingTheQualification", required = true)
- protected InformationIdentifyingTheQualificationType informationIdentifyingTheQualification;
- @XmlElement(name = "InformationOnTheLevelOfTheQualification", required = true)
- protected InformationOnTheLevelOfTheQualificationType informationOnTheLevelOfTheQualification;
- @XmlElement(name = "InformationOnTheContentsAndResultsGained", required = true)
- protected InformationOnTheContentsAndResultsGainedType informationOnTheContentsAndResultsGained;
- @XmlElement(name = "InformationOnTheFunctionOfTheQualification", required = true)
- protected InformationOnTheFunctionOfTheQualificationType informationOnTheFunctionOfTheQualification;
- @XmlElement(name = "AdditionalInformation", required = true)
- protected AdditionalInformationType additionalInformation;
- @XmlElement(name = "CertificationOfTheSupplement", required = true)
- protected CertificationOfTheSupplementType certificationOfTheSupplement;
- @XmlElement(name = "InformationOnTheNationalHigherEducationSystem", required = true)
- protected RichTextTagType informationOnTheNationalHigherEducationSystem;
- @XmlElement(name = "Attachments")
- protected AttachmentsType attachments;
- @XmlElement(name = "ExtensionContent")
- protected List<ExtensionContentType> extensionContent;
- @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#")
- protected List<SignatureType> signature;
- @XmlAttribute(name = "language", required = true)
- protected LanguageType language;
- @XmlAttribute(name = "isTheOriginalLanguage", required = true)
- protected boolean isTheOriginalLanguage;
+ @XmlElement(name = "InformationIdentifyingTheHolderOfTheQualification", required = true)
+ protected InformationIdentifyingTheHolderOfTheQualificationType informationIdentifyingTheHolderOfTheQualification;
+ @XmlElement(name = "InformationIdentifyingTheQualification", required = true)
+ protected InformationIdentifyingTheQualificationType informationIdentifyingTheQualification;
+ @XmlElement(name = "InformationOnTheLevelOfTheQualification", required = true)
+ protected InformationOnTheLevelOfTheQualificationType informationOnTheLevelOfTheQualification;
+ @XmlElement(name = "InformationOnTheContentsAndResultsGained", required = true)
+ protected InformationOnTheContentsAndResultsGainedType informationOnTheContentsAndResultsGained;
+ @XmlElement(name = "InformationOnTheFunctionOfTheQualification", required = true)
+ protected InformationOnTheFunctionOfTheQualificationType informationOnTheFunctionOfTheQualification;
+ @XmlElement(name = "AdditionalInformation", required = true)
+ protected AdditionalInformationType additionalInformation;
+ @XmlElement(name = "CertificationOfTheSupplement", required = true)
+ protected CertificationOfTheSupplementType certificationOfTheSupplement;
+ @XmlElement(name = "InformationOnTheNationalHigherEducationSystem", required = true)
+ protected RichTextTagType informationOnTheNationalHigherEducationSystem;
+ @XmlElement(name = "Attachments")
+ protected AttachmentsType attachments;
+ @XmlElement(name = "ExtensionContent")
+ protected List<ExtensionContentType> extensionContent;
+ @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#")
+ protected List<SignatureType> signature;
+ @XmlAttribute(name = "language", required = true)
+ protected LanguageType language;
+ @XmlAttribute(name = "isTheOriginalLanguage", required = true)
+ protected boolean isTheOriginalLanguage;
- /**
- * Gets the value of the informationIdentifyingTheHolderOfTheQualification property.
- *
- * @return
- * possible object is
- * {@link InformationIdentifyingTheHolderOfTheQualificationType }
- *
- */
- public InformationIdentifyingTheHolderOfTheQualificationType getInformationIdentifyingTheHolderOfTheQualification() {
- return informationIdentifyingTheHolderOfTheQualification;
- }
+ /**
+ * Gets the value of the informationIdentifyingTheHolderOfTheQualification property.
+ *
+ * @return possible object is {@link InformationIdentifyingTheHolderOfTheQualificationType }
+ *
+ */
+ public InformationIdentifyingTheHolderOfTheQualificationType getInformationIdentifyingTheHolderOfTheQualification() {
+ return informationIdentifyingTheHolderOfTheQualification;
+ }
- /**
- * Sets the value of the informationIdentifyingTheHolderOfTheQualification property.
- *
- * @param value
- * allowed object is
- * {@link InformationIdentifyingTheHolderOfTheQualificationType }
- *
- */
- public void setInformationIdentifyingTheHolderOfTheQualification(InformationIdentifyingTheHolderOfTheQualificationType value) {
- this.informationIdentifyingTheHolderOfTheQualification = value;
- }
+ /**
+ * Sets the value of the informationIdentifyingTheHolderOfTheQualification property.
+ *
+ * @param value
+ * allowed object is {@link InformationIdentifyingTheHolderOfTheQualificationType }
+ *
+ */
+ public void setInformationIdentifyingTheHolderOfTheQualification(InformationIdentifyingTheHolderOfTheQualificationType value) {
+ this.informationIdentifyingTheHolderOfTheQualification = value;
+ }
- /**
- * Gets the value of the informationIdentifyingTheQualification property.
- *
- * @return
- * possible object is
- * {@link InformationIdentifyingTheQualificationType }
- *
- */
- public InformationIdentifyingTheQualificationType getInformationIdentifyingTheQualification() {
- return informationIdentifyingTheQualification;
- }
+ /**
+ * Gets the value of the informationIdentifyingTheQualification property.
+ *
+ * @return possible object is {@link InformationIdentifyingTheQualificationType }
+ *
+ */
+ public InformationIdentifyingTheQualificationType getInformationIdentifyingTheQualification() {
+ return informationIdentifyingTheQualification;
+ }
- /**
- * Sets the value of the informationIdentifyingTheQualification property.
- *
- * @param value
- * allowed object is
- * {@link InformationIdentifyingTheQualificationType }
- *
- */
- public void setInformationIdentifyingTheQualification(InformationIdentifyingTheQualificationType value) {
- this.informationIdentifyingTheQualification = value;
- }
+ /**
+ * Sets the value of the informationIdentifyingTheQualification property.
+ *
+ * @param value
+ * allowed object is {@link InformationIdentifyingTheQualificationType }
+ *
+ */
+ public void setInformationIdentifyingTheQualification(InformationIdentifyingTheQualificationType value) {
+ this.informationIdentifyingTheQualification = value;
+ }
- /**
- * Gets the value of the informationOnTheLevelOfTheQualification property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheLevelOfTheQualificationType }
- *
- */
- public InformationOnTheLevelOfTheQualificationType getInformationOnTheLevelOfTheQualification() {
- return informationOnTheLevelOfTheQualification;
- }
+ /**
+ * Gets the value of the informationOnTheLevelOfTheQualification property.
+ *
+ * @return possible object is {@link InformationOnTheLevelOfTheQualificationType }
+ *
+ */
+ public InformationOnTheLevelOfTheQualificationType getInformationOnTheLevelOfTheQualification() {
+ return informationOnTheLevelOfTheQualification;
+ }
- /**
- * Sets the value of the informationOnTheLevelOfTheQualification property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheLevelOfTheQualificationType }
- *
- */
- public void setInformationOnTheLevelOfTheQualification(InformationOnTheLevelOfTheQualificationType value) {
- this.informationOnTheLevelOfTheQualification = value;
- }
+ /**
+ * Sets the value of the informationOnTheLevelOfTheQualification property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheLevelOfTheQualificationType }
+ *
+ */
+ public void setInformationOnTheLevelOfTheQualification(InformationOnTheLevelOfTheQualificationType value) {
+ this.informationOnTheLevelOfTheQualification = value;
+ }
- /**
- * Gets the value of the informationOnTheContentsAndResultsGained property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheContentsAndResultsGainedType }
- *
- */
- public InformationOnTheContentsAndResultsGainedType getInformationOnTheContentsAndResultsGained() {
- return informationOnTheContentsAndResultsGained;
- }
+ /**
+ * Gets the value of the informationOnTheContentsAndResultsGained property.
+ *
+ * @return possible object is {@link InformationOnTheContentsAndResultsGainedType }
+ *
+ */
+ public InformationOnTheContentsAndResultsGainedType getInformationOnTheContentsAndResultsGained() {
+ return informationOnTheContentsAndResultsGained;
+ }
- /**
- * Sets the value of the informationOnTheContentsAndResultsGained property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheContentsAndResultsGainedType }
- *
- */
- public void setInformationOnTheContentsAndResultsGained(InformationOnTheContentsAndResultsGainedType value) {
- this.informationOnTheContentsAndResultsGained = value;
- }
+ /**
+ * Sets the value of the informationOnTheContentsAndResultsGained property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheContentsAndResultsGainedType }
+ *
+ */
+ public void setInformationOnTheContentsAndResultsGained(InformationOnTheContentsAndResultsGainedType value) {
+ this.informationOnTheContentsAndResultsGained = value;
+ }
- /**
- * Gets the value of the informationOnTheFunctionOfTheQualification property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheFunctionOfTheQualificationType }
- *
- */
- public InformationOnTheFunctionOfTheQualificationType getInformationOnTheFunctionOfTheQualification() {
- return informationOnTheFunctionOfTheQualification;
- }
+ /**
+ * Gets the value of the informationOnTheFunctionOfTheQualification property.
+ *
+ * @return possible object is {@link InformationOnTheFunctionOfTheQualificationType }
+ *
+ */
+ public InformationOnTheFunctionOfTheQualificationType getInformationOnTheFunctionOfTheQualification() {
+ return informationOnTheFunctionOfTheQualification;
+ }
- /**
- * Sets the value of the informationOnTheFunctionOfTheQualification property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheFunctionOfTheQualificationType }
- *
- */
- public void setInformationOnTheFunctionOfTheQualification(InformationOnTheFunctionOfTheQualificationType value) {
- this.informationOnTheFunctionOfTheQualification = value;
- }
+ /**
+ * Sets the value of the informationOnTheFunctionOfTheQualification property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheFunctionOfTheQualificationType }
+ *
+ */
+ public void setInformationOnTheFunctionOfTheQualification(InformationOnTheFunctionOfTheQualificationType value) {
+ this.informationOnTheFunctionOfTheQualification = value;
+ }
- /**
- * Gets the value of the additionalInformation property.
- *
- * @return
- * possible object is
- * {@link AdditionalInformationType }
- *
- */
- public AdditionalInformationType getAdditionalInformation() {
- return additionalInformation;
- }
+ /**
+ * Gets the value of the additionalInformation property.
+ *
+ * @return possible object is {@link AdditionalInformationType }
+ *
+ */
+ public AdditionalInformationType getAdditionalInformation() {
+ return additionalInformation;
+ }
- /**
- * Sets the value of the additionalInformation property.
- *
- * @param value
- * allowed object is
- * {@link AdditionalInformationType }
- *
- */
- public void setAdditionalInformation(AdditionalInformationType value) {
- this.additionalInformation = value;
- }
+ /**
+ * Sets the value of the additionalInformation property.
+ *
+ * @param value
+ * allowed object is {@link AdditionalInformationType }
+ *
+ */
+ public void setAdditionalInformation(AdditionalInformationType value) {
+ this.additionalInformation = value;
+ }
- /**
- * Gets the value of the certificationOfTheSupplement property.
- *
- * @return
- * possible object is
- * {@link CertificationOfTheSupplementType }
- *
- */
- public CertificationOfTheSupplementType getCertificationOfTheSupplement() {
- return certificationOfTheSupplement;
- }
+ /**
+ * Gets the value of the certificationOfTheSupplement property.
+ *
+ * @return possible object is {@link CertificationOfTheSupplementType }
+ *
+ */
+ public CertificationOfTheSupplementType getCertificationOfTheSupplement() {
+ return certificationOfTheSupplement;
+ }
- /**
- * Sets the value of the certificationOfTheSupplement property.
- *
- * @param value
- * allowed object is
- * {@link CertificationOfTheSupplementType }
- *
- */
- public void setCertificationOfTheSupplement(CertificationOfTheSupplementType value) {
- this.certificationOfTheSupplement = value;
- }
+ /**
+ * Sets the value of the certificationOfTheSupplement property.
+ *
+ * @param value
+ * allowed object is {@link CertificationOfTheSupplementType }
+ *
+ */
+ public void setCertificationOfTheSupplement(CertificationOfTheSupplementType value) {
+ this.certificationOfTheSupplement = value;
+ }
- /**
- * Gets the value of the informationOnTheNationalHigherEducationSystem property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getInformationOnTheNationalHigherEducationSystem() {
- return informationOnTheNationalHigherEducationSystem;
- }
+ /**
+ * Gets the value of the informationOnTheNationalHigherEducationSystem property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getInformationOnTheNationalHigherEducationSystem() {
+ return informationOnTheNationalHigherEducationSystem;
+ }
- /**
- * Sets the value of the informationOnTheNationalHigherEducationSystem property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setInformationOnTheNationalHigherEducationSystem(RichTextTagType value) {
- this.informationOnTheNationalHigherEducationSystem = value;
- }
+ /**
+ * Sets the value of the informationOnTheNationalHigherEducationSystem property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setInformationOnTheNationalHigherEducationSystem(RichTextTagType value) {
+ this.informationOnTheNationalHigherEducationSystem = value;
+ }
- /**
- * Gets the value of the attachments property.
- *
- * @return
- * possible object is
- * {@link AttachmentsType }
- *
- */
- public AttachmentsType getAttachments() {
- return attachments;
- }
+ /**
+ * Gets the value of the attachments property.
+ *
+ * @return possible object is {@link AttachmentsType }
+ *
+ */
+ public AttachmentsType getAttachments() {
+ return attachments;
+ }
- /**
- * Sets the value of the attachments property.
- *
- * @param value
- * allowed object is
- * {@link AttachmentsType }
- *
- */
- public void setAttachments(AttachmentsType value) {
- this.attachments = value;
- }
+ /**
+ * Sets the value of the attachments property.
+ *
+ * @param value
+ * allowed object is {@link AttachmentsType }
+ *
+ */
+ public void setAttachments(AttachmentsType value) {
+ this.attachments = value;
+ }
- /**
- * Gets the value of the extensionContent property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the extensionContent property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getExtensionContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link ExtensionContentType }
- *
- *
- */
- public List<ExtensionContentType> getExtensionContent() {
- if (extensionContent == null) {
- extensionContent = new ArrayList<ExtensionContentType>();
- }
- return this.extensionContent;
- }
+ /**
+ * Gets the value of the extensionContent property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the extensionContent property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getExtensionContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link ExtensionContentType }
+ *
+ *
+ */
+ public List<ExtensionContentType> getExtensionContent() {
+ if (extensionContent == null) {
+ extensionContent = new ArrayList<ExtensionContentType>();
+ }
+ return this.extensionContent;
+ }
- /**
- * Digital signature Gets the value of the signature property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the signature property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getSignature().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link SignatureType }
- *
- *
- */
- public List<SignatureType> getSignature() {
- if (signature == null) {
- signature = new ArrayList<SignatureType>();
- }
- return this.signature;
- }
+ /**
+ * Digital signature Gets the value of the signature property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the signature property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getSignature().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link SignatureType }
+ *
+ *
+ */
+ public List<SignatureType> getSignature() {
+ if (signature == null) {
+ signature = new ArrayList<SignatureType>();
+ }
+ return this.signature;
+ }
- /**
- * Gets the value of the language property.
- *
- * @return
- * possible object is
- * {@link LanguageType }
- *
- */
- public LanguageType getLanguage() {
- return language;
- }
+ /**
+ * Gets the value of the language property.
+ *
+ * @return possible object is {@link LanguageType }
+ *
+ */
+ public LanguageType getLanguage() {
+ return language;
+ }
- /**
- * Sets the value of the language property.
- *
- * @param value
- * allowed object is
- * {@link LanguageType }
- *
- */
- public void setLanguage(LanguageType value) {
- this.language = value;
- }
+ /**
+ * Sets the value of the language property.
+ *
+ * @param value
+ * allowed object is {@link LanguageType }
+ *
+ */
+ public void setLanguage(LanguageType value) {
+ this.language = value;
+ }
- /**
- * Gets the value of the isTheOriginalLanguage property.
- *
- */
- public boolean isIsTheOriginalLanguage() {
- return isTheOriginalLanguage;
- }
+ /**
+ * Gets the value of the isTheOriginalLanguage property.
+ *
+ */
+ public boolean isIsTheOriginalLanguage() {
+ return isTheOriginalLanguage;
+ }
- /**
- * Sets the value of the isTheOriginalLanguage property.
- *
- */
- public void setIsTheOriginalLanguage(boolean value) {
- this.isTheOriginalLanguage = value;
- }
+ /**
+ * Sets the value of the isTheOriginalLanguage property.
+ *
+ */
+ public void setIsTheOriginalLanguage(boolean value) {
+ this.isTheOriginalLanguage = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ECTSGradingScaleType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ECTSGradingScaleType.java
index 94be08fb8..7916ead8d 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ECTSGradingScaleType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ECTSGradingScaleType.java
@@ -5,18 +5,19 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for ECTSGradingScaleType.
+ * <p>
+ * Java class for ECTSGradingScaleType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="ECTSGradingScaleType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -36,55 +37,54 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum ECTSGradingScaleType {
-
- /**
- * Top 10%
- *
- */
- A,
-
- /**
- * Next 25%
- *
- */
- B,
-
- /**
- * Next 30%
- *
- */
- C,
-
- /**
- * Next 25%
- *
- */
- D,
-
- /**
- * Lowest 10%
- *
- */
- E,
-
- /**
- * Fail
- *
- */
- FX,
-
- /**
- * Fail
- *
- */
- F;
-
- public String value() {
- return name();
- }
-
- public static ECTSGradingScaleType fromValue(String v) {
- return valueOf(v);
- }
+ /**
+ * Top 10%
+ *
+ */
+ A,
+
+ /**
+ * Next 25%
+ *
+ */
+ B,
+
+ /**
+ * Next 30%
+ *
+ */
+ C,
+
+ /**
+ * Next 25%
+ *
+ */
+ D,
+
+ /**
+ * Lowest 10%
+ *
+ */
+ E,
+
+ /**
+ * Fail
+ *
+ */
+ FX,
+
+ /**
+ * Fail
+ *
+ */
+ F;
+
+ public String value() {
+ return name();
+ }
+
+ public static ECTSGradingScaleType fromValue(String v) {
+ return valueOf(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/EHEAFrameworkType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/EHEAFrameworkType.java
index 05dbdedfe..49a5a74ee 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/EHEAFrameworkType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/EHEAFrameworkType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for EHEAFrameworkType.
+ * <p>
+ * Java class for EHEAFrameworkType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="EHEAFrameworkType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -33,44 +34,43 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum EHEAFrameworkType {
+ /**
+ * First Cycle
+ *
+ */
+ @XmlEnumValue("FirstCycle")
+ FIRST_CYCLE("FirstCycle"),
- /**
- * First Cycle
- *
- */
- @XmlEnumValue("FirstCycle")
- FIRST_CYCLE("FirstCycle"),
-
- /**
- * Second Cycle
- *
- */
- @XmlEnumValue("SecondCycle")
- SECOND_CYCLE("SecondCycle"),
+ /**
+ * Second Cycle
+ *
+ */
+ @XmlEnumValue("SecondCycle")
+ SECOND_CYCLE("SecondCycle"),
- /**
- * Third Cycle
- *
- */
- @XmlEnumValue("ThirdCycle")
- THIRD_CYCLE("ThirdCycle");
- private final String value;
+ /**
+ * Third Cycle
+ *
+ */
+ @XmlEnumValue("ThirdCycle")
+ THIRD_CYCLE("ThirdCycle");
+ private final String value;
- EHEAFrameworkType(String v) {
- value = v;
- }
+ EHEAFrameworkType(String v) {
+ value = v;
+ }
- public String value() {
- return value;
- }
+ public String value() {
+ return value;
+ }
- public static EHEAFrameworkType fromValue(String v) {
- for (EHEAFrameworkType c: EHEAFrameworkType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ public static EHEAFrameworkType fromValue(String v) {
+ for (EHEAFrameworkType c : EHEAFrameworkType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ExtensionContentType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ExtensionContentType.java
index 5eb351cf7..588017469 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ExtensionContentType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ExtensionContentType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -18,13 +17,14 @@ import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
-
/**
* Extension content
*
- * <p>Java class for ExtensionContentType complex type.
+ * <p>
+ * Java class for ExtensionContentType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ExtensionContentType">
@@ -42,70 +42,61 @@ import org.w3c.dom.Element;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "ExtensionContentType", propOrder = {
- "content"
-})
+@XmlType(name = "ExtensionContentType", propOrder = { "content" })
public class ExtensionContentType {
- @XmlMixed
- @XmlAnyElement(lax = true)
- protected List<Object> content;
- @XmlAttribute(name = "id")
- protected String id;
+ @XmlMixed
+ @XmlAnyElement(lax = true)
+ protected List<Object> content;
+ @XmlAttribute(name = "id")
+ protected String id;
- /**
- * Extension content Gets the value of the content property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link Object }
- * {@link Element }
- * {@link String }
- *
- *
- */
- public List<Object> getContent() {
- if (content == null) {
- content = new ArrayList<Object>();
- }
- return this.content;
- }
+ /**
+ * Extension content Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link Object } {@link Element } {@link String }
+ *
+ *
+ */
+ public List<Object> getContent() {
+ if (content == null) {
+ content = new ArrayList<Object>();
+ }
+ return this.content;
+ }
- /**
- * Gets the value of the id property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getId() {
- return id;
- }
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
- /**
- * Sets the value of the id property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setId(String value) {
- this.id = value;
- }
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/FamilyNameType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/FamilyNameType.java
index 804dfc3e9..7efeaaf15 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/FamilyNameType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/FamilyNameType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -15,13 +14,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Family name(s)
*
- * <p>Java class for FamilyNameType complex type.
+ * <p>
+ * Java class for FamilyNameType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="FamilyNameType">
@@ -38,41 +38,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "FamilyNameType", propOrder = {
- "surname"
-})
+@XmlType(name = "FamilyNameType", propOrder = { "surname" })
public class FamilyNameType {
- @XmlElement(name = "Surname", required = true)
- protected List<String> surname;
+ @XmlElement(name = "Surname", required = true)
+ protected List<String> surname;
- /**
- * Gets the value of the surname property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the surname property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getSurname().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link String }
- *
- *
- */
- public List<String> getSurname() {
- if (surname == null) {
- surname = new ArrayList<String>();
- }
- return this.surname;
- }
+ /**
+ * Gets the value of the surname property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the surname property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getSurname().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String }
+ *
+ *
+ */
+ public List<String> getSurname() {
+ if (surname == null) {
+ surname = new ArrayList<String>();
+ }
+ return this.surname;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GenderType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GenderType.java
index 92c9dee87..8aa5feaf0 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GenderType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GenderType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for GenderType.
+ * <p>
+ * Java class for GenderType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="GenderType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -32,37 +33,36 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum GenderType {
+ /**
+ * Female
+ *
+ */
+ @XmlEnumValue("Female")
+ FEMALE("Female"),
- /**
- * Female
- *
- */
- @XmlEnumValue("Female")
- FEMALE("Female"),
-
- /**
- * Male
- *
- */
- @XmlEnumValue("Male")
- MALE("Male");
- private final String value;
+ /**
+ * Male
+ *
+ */
+ @XmlEnumValue("Male")
+ MALE("Male");
+ private final String value;
- GenderType(String v) {
- value = v;
- }
+ GenderType(String v) {
+ value = v;
+ }
- public String value() {
- return value;
- }
+ public String value() {
+ return value;
+ }
- public static GenderType fromValue(String v) {
- for (GenderType c: GenderType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ public static GenderType fromValue(String v) {
+ for (GenderType c : GenderType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GivenNameType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GivenNameType.java
index ac27d7149..169c94455 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GivenNameType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GivenNameType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -15,13 +14,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Given name(s)
*
- * <p>Java class for GivenNameType complex type.
+ * <p>
+ * Java class for GivenNameType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="GivenNameType">
@@ -38,41 +38,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "GivenNameType", propOrder = {
- "name"
-})
+@XmlType(name = "GivenNameType", propOrder = { "name" })
public class GivenNameType {
- @XmlElement(name = "Name", required = true)
- protected List<String> name;
+ @XmlElement(name = "Name", required = true)
+ protected List<String> name;
- /**
- * Gets the value of the name property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the name property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getName().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link String }
- *
- *
- */
- public List<String> getName() {
- if (name == null) {
- name = new ArrayList<String>();
- }
- return this.name;
- }
+ /**
+ * Gets the value of the name property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the name property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getName().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String }
+ *
+ *
+ */
+ public List<String> getName() {
+ if (name == null) {
+ name = new ArrayList<String>();
+ }
+ return this.name;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GradingSchemeAndGradeDistributionGuidanceType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GradingSchemeAndGradeDistributionGuidanceType.java
index ab896f7f4..a853aec65 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GradingSchemeAndGradeDistributionGuidanceType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/GradingSchemeAndGradeDistributionGuidanceType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,13 +12,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Grading scheme and grade distribution guidance
*
- * <p>Java class for GradingSchemeAndGradeDistributionGuidanceType complex type.
+ * <p>
+ * Java class for GradingSchemeAndGradeDistributionGuidanceType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="GradingSchemeAndGradeDistributionGuidanceType">
@@ -37,63 +37,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "GradingSchemeAndGradeDistributionGuidanceType", propOrder = {
- "gradingScheme",
- "gradeDistributionGuidance"
-})
+@XmlType(name = "GradingSchemeAndGradeDistributionGuidanceType", propOrder = { "gradingScheme", "gradeDistributionGuidance" })
public class GradingSchemeAndGradeDistributionGuidanceType {
- @XmlElement(name = "GradingScheme", required = true)
- protected RichTextTagType gradingScheme;
- @XmlElement(name = "GradeDistributionGuidance")
- protected RichTextTagType gradeDistributionGuidance;
+ @XmlElement(name = "GradingScheme", required = true)
+ protected RichTextTagType gradingScheme;
+ @XmlElement(name = "GradeDistributionGuidance")
+ protected RichTextTagType gradeDistributionGuidance;
- /**
- * Gets the value of the gradingScheme property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getGradingScheme() {
- return gradingScheme;
- }
+ /**
+ * Gets the value of the gradingScheme property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getGradingScheme() {
+ return gradingScheme;
+ }
- /**
- * Sets the value of the gradingScheme property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setGradingScheme(RichTextTagType value) {
- this.gradingScheme = value;
- }
+ /**
+ * Sets the value of the gradingScheme property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setGradingScheme(RichTextTagType value) {
+ this.gradingScheme = value;
+ }
- /**
- * Gets the value of the gradeDistributionGuidance property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getGradeDistributionGuidance() {
- return gradeDistributionGuidance;
- }
+ /**
+ * Gets the value of the gradeDistributionGuidance property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getGradeDistributionGuidance() {
+ return gradeDistributionGuidance;
+ }
- /**
- * Sets the value of the gradeDistributionGuidance property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setGradeDistributionGuidance(RichTextTagType value) {
- this.gradeDistributionGuidance = value;
- }
+ /**
+ * Sets the value of the gradeDistributionGuidance property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setGradeDistributionGuidance(RichTextTagType value) {
+ this.gradeDistributionGuidance = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ImageMimeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ImageMimeType.java
index 22383f975..4908eab0a 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ImageMimeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ImageMimeType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for ImageMimeType.
+ * <p>
+ * Java class for ImageMimeType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="ImageMimeType">
* &lt;restriction base="{urn:crue:academic:xsd:language:diplomasupplement}MimeType">
@@ -35,58 +36,57 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum(MimeType.class)
public enum ImageMimeType {
+ /**
+ * GIF image
+ *
+ */
+ @XmlEnumValue("image/gif")
+ IMAGE_GIF(MimeType.IMAGE_GIF),
- /**
- * GIF image
- *
- */
- @XmlEnumValue("image/gif")
- IMAGE_GIF(MimeType.IMAGE_GIF),
-
- /**
- * JPEG JFIF image
- *
- */
- @XmlEnumValue("image/jpeg")
- IMAGE_JPEG(MimeType.IMAGE_JPEG),
+ /**
+ * JPEG JFIF image
+ *
+ */
+ @XmlEnumValue("image/jpeg")
+ IMAGE_JPEG(MimeType.IMAGE_JPEG),
- /**
- * JPEG JFIF image
- *
- */
- @XmlEnumValue("image/pjpeg")
- IMAGE_PJPEG(MimeType.IMAGE_PJPEG),
+ /**
+ * JPEG JFIF image
+ *
+ */
+ @XmlEnumValue("image/pjpeg")
+ IMAGE_PJPEG(MimeType.IMAGE_PJPEG),
- /**
- * Portable Network Graphics
- *
- */
- @XmlEnumValue("image/png")
- IMAGE_PNG(MimeType.IMAGE_PNG),
+ /**
+ * Portable Network Graphics
+ *
+ */
+ @XmlEnumValue("image/png")
+ IMAGE_PNG(MimeType.IMAGE_PNG),
- /**
- * Tag Image File Format
- *
- */
- @XmlEnumValue("image/tiff")
- IMAGE_TIFF(MimeType.IMAGE_TIFF);
- private final MimeType value;
+ /**
+ * Tag Image File Format
+ *
+ */
+ @XmlEnumValue("image/tiff")
+ IMAGE_TIFF(MimeType.IMAGE_TIFF);
+ private final MimeType value;
- ImageMimeType(MimeType v) {
- value = v;
- }
+ ImageMimeType(MimeType v) {
+ value = v;
+ }
- public MimeType value() {
- return value;
- }
+ public MimeType value() {
+ return value;
+ }
- public static ImageMimeType fromValue(MimeType v) {
- for (ImageMimeType c: ImageMimeType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v.toString());
- }
+ public static ImageMimeType fromValue(MimeType v) {
+ for (ImageMimeType c : ImageMimeType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v.toString());
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationIdentifyingTheHolderOfTheQualificationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationIdentifyingTheHolderOfTheQualificationType.java
index 7f5076886..f43574139 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationIdentifyingTheHolderOfTheQualificationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationIdentifyingTheHolderOfTheQualificationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -16,13 +15,14 @@ import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
import javax.xml.datatype.XMLGregorianCalendar;
-
/**
* Information identifying the holder of the qualification
*
- * <p>Java class for InformationIdentifyingTheHolderOfTheQualificationType complex type.
+ * <p>
+ * Java class for InformationIdentifyingTheHolderOfTheQualificationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="InformationIdentifyingTheHolderOfTheQualificationType">
@@ -61,360 +61,318 @@ import javax.xml.datatype.XMLGregorianCalendar;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "InformationIdentifyingTheHolderOfTheQualificationType", propOrder = {
- "familyName",
- "givenName",
- "dateOfBirth",
- "studentIdentificationNumber",
- "countryOfBirth",
- "placeOfBirth",
- "gender"
-})
+@XmlType(name = "InformationIdentifyingTheHolderOfTheQualificationType", propOrder = { "familyName", "givenName", "dateOfBirth", "studentIdentificationNumber", "countryOfBirth", "placeOfBirth",
+ "gender" })
public class InformationIdentifyingTheHolderOfTheQualificationType {
- @XmlElement(name = "FamilyName", required = true)
- protected FamilyNameType familyName;
- @XmlElement(name = "GivenName", required = true)
- protected GivenNameType givenName;
- @XmlElement(name = "DateOfBirth", required = true)
- protected XMLGregorianCalendar dateOfBirth;
- @XmlElement(name = "StudentIdentificationNumber")
- protected String studentIdentificationNumber;
- @XmlElement(name = "CountryOfBirth")
- protected InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth countryOfBirth;
- @XmlElement(name = "PlaceOfBirth")
- protected String placeOfBirth;
- @XmlElement(name = "Gender")
- protected InformationIdentifyingTheHolderOfTheQualificationType.Gender gender;
-
- /**
- * Gets the value of the familyName property.
- *
- * @return
- * possible object is
- * {@link FamilyNameType }
- *
- */
- public FamilyNameType getFamilyName() {
- return familyName;
- }
-
- /**
- * Sets the value of the familyName property.
- *
- * @param value
- * allowed object is
- * {@link FamilyNameType }
- *
- */
- public void setFamilyName(FamilyNameType value) {
- this.familyName = value;
- }
-
- /**
- * Gets the value of the givenName property.
- *
- * @return
- * possible object is
- * {@link GivenNameType }
- *
- */
- public GivenNameType getGivenName() {
- return givenName;
- }
-
- /**
- * Sets the value of the givenName property.
- *
- * @param value
- * allowed object is
- * {@link GivenNameType }
- *
- */
- public void setGivenName(GivenNameType value) {
- this.givenName = value;
- }
-
- /**
- * Gets the value of the dateOfBirth property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getDateOfBirth() {
- return dateOfBirth;
- }
-
- /**
- * Sets the value of the dateOfBirth property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setDateOfBirth(XMLGregorianCalendar value) {
- this.dateOfBirth = value;
- }
-
- /**
- * Gets the value of the studentIdentificationNumber property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStudentIdentificationNumber() {
- return studentIdentificationNumber;
- }
-
- /**
- * Sets the value of the studentIdentificationNumber property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStudentIdentificationNumber(String value) {
- this.studentIdentificationNumber = value;
- }
-
- /**
- * Gets the value of the countryOfBirth property.
- *
- * @return
- * possible object is
- * {@link InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth }
- *
- */
- public InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth getCountryOfBirth() {
- return countryOfBirth;
- }
-
- /**
- * Sets the value of the countryOfBirth property.
- *
- * @param value
- * allowed object is
- * {@link InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth }
- *
- */
- public void setCountryOfBirth(InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth value) {
- this.countryOfBirth = value;
- }
-
- /**
- * Gets the value of the placeOfBirth property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getPlaceOfBirth() {
- return placeOfBirth;
- }
-
- /**
- * Sets the value of the placeOfBirth property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setPlaceOfBirth(String value) {
- this.placeOfBirth = value;
- }
-
- /**
- * Gets the value of the gender property.
- *
- * @return
- * possible object is
- * {@link InformationIdentifyingTheHolderOfTheQualificationType.Gender }
- *
- */
- public InformationIdentifyingTheHolderOfTheQualificationType.Gender getGender() {
- return gender;
- }
-
- /**
- * Sets the value of the gender property.
- *
- * @param value
- * allowed object is
- * {@link InformationIdentifyingTheHolderOfTheQualificationType.Gender }
- *
- */
- public void setGender(InformationIdentifyingTheHolderOfTheQualificationType.Gender value) {
- this.gender = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
- * &lt;attribute name="country" type="{urn:crue:academic:xsd:language:diplomasupplement}CountryType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class CountryOfBirth {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "country")
- protected CountryType country;
-
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the country property.
- *
- * @return
- * possible object is
- * {@link CountryType }
- *
- */
- public CountryType getCountry() {
- return country;
- }
-
- /**
- * Sets the value of the country property.
- *
- * @param value
- * allowed object is
- * {@link CountryType }
- *
- */
- public void setCountry(CountryType value) {
- this.country = value;
- }
-
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
- * &lt;attribute name="gender" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}GenderType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class Gender {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "gender", required = true)
- protected GenderType gender;
-
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the gender property.
- *
- * @return
- * possible object is
- * {@link GenderType }
- *
- */
- public GenderType getGender() {
- return gender;
- }
-
- /**
- * Sets the value of the gender property.
- *
- * @param value
- * allowed object is
- * {@link GenderType }
- *
- */
- public void setGender(GenderType value) {
- this.gender = value;
- }
-
- }
+ @XmlElement(name = "FamilyName", required = true)
+ protected FamilyNameType familyName;
+ @XmlElement(name = "GivenName", required = true)
+ protected GivenNameType givenName;
+ @XmlElement(name = "DateOfBirth", required = true)
+ protected XMLGregorianCalendar dateOfBirth;
+ @XmlElement(name = "StudentIdentificationNumber")
+ protected String studentIdentificationNumber;
+ @XmlElement(name = "CountryOfBirth")
+ protected InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth countryOfBirth;
+ @XmlElement(name = "PlaceOfBirth")
+ protected String placeOfBirth;
+ @XmlElement(name = "Gender")
+ protected InformationIdentifyingTheHolderOfTheQualificationType.Gender gender;
+
+ /**
+ * Gets the value of the familyName property.
+ *
+ * @return possible object is {@link FamilyNameType }
+ *
+ */
+ public FamilyNameType getFamilyName() {
+ return familyName;
+ }
+
+ /**
+ * Sets the value of the familyName property.
+ *
+ * @param value
+ * allowed object is {@link FamilyNameType }
+ *
+ */
+ public void setFamilyName(FamilyNameType value) {
+ this.familyName = value;
+ }
+
+ /**
+ * Gets the value of the givenName property.
+ *
+ * @return possible object is {@link GivenNameType }
+ *
+ */
+ public GivenNameType getGivenName() {
+ return givenName;
+ }
+
+ /**
+ * Sets the value of the givenName property.
+ *
+ * @param value
+ * allowed object is {@link GivenNameType }
+ *
+ */
+ public void setGivenName(GivenNameType value) {
+ this.givenName = value;
+ }
+
+ /**
+ * Gets the value of the dateOfBirth property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateOfBirth() {
+ return dateOfBirth;
+ }
+
+ /**
+ * Sets the value of the dateOfBirth property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateOfBirth(XMLGregorianCalendar value) {
+ this.dateOfBirth = value;
+ }
+
+ /**
+ * Gets the value of the studentIdentificationNumber property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getStudentIdentificationNumber() {
+ return studentIdentificationNumber;
+ }
+
+ /**
+ * Sets the value of the studentIdentificationNumber property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setStudentIdentificationNumber(String value) {
+ this.studentIdentificationNumber = value;
+ }
+
+ /**
+ * Gets the value of the countryOfBirth property.
+ *
+ * @return possible object is {@link InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth }
+ *
+ */
+ public InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth getCountryOfBirth() {
+ return countryOfBirth;
+ }
+
+ /**
+ * Sets the value of the countryOfBirth property.
+ *
+ * @param value
+ * allowed object is {@link InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth }
+ *
+ */
+ public void setCountryOfBirth(InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth value) {
+ this.countryOfBirth = value;
+ }
+
+ /**
+ * Gets the value of the placeOfBirth property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getPlaceOfBirth() {
+ return placeOfBirth;
+ }
+
+ /**
+ * Sets the value of the placeOfBirth property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setPlaceOfBirth(String value) {
+ this.placeOfBirth = value;
+ }
+
+ /**
+ * Gets the value of the gender property.
+ *
+ * @return possible object is {@link InformationIdentifyingTheHolderOfTheQualificationType.Gender }
+ *
+ */
+ public InformationIdentifyingTheHolderOfTheQualificationType.Gender getGender() {
+ return gender;
+ }
+
+ /**
+ * Sets the value of the gender property.
+ *
+ * @param value
+ * allowed object is {@link InformationIdentifyingTheHolderOfTheQualificationType.Gender }
+ *
+ */
+ public void setGender(InformationIdentifyingTheHolderOfTheQualificationType.Gender value) {
+ this.gender = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
+ * &lt;attribute name="country" type="{urn:crue:academic:xsd:language:diplomasupplement}CountryType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class CountryOfBirth {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "country")
+ protected CountryType country;
+
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the country property.
+ *
+ * @return possible object is {@link CountryType }
+ *
+ */
+ public CountryType getCountry() {
+ return country;
+ }
+
+ /**
+ * Sets the value of the country property.
+ *
+ * @param value
+ * allowed object is {@link CountryType }
+ *
+ */
+ public void setCountry(CountryType value) {
+ this.country = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
+ * &lt;attribute name="gender" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}GenderType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class Gender {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "gender", required = true)
+ protected GenderType gender;
+
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the gender property.
+ *
+ * @return possible object is {@link GenderType }
+ *
+ */
+ public GenderType getGender() {
+ return gender;
+ }
+
+ /**
+ * Sets the value of the gender property.
+ *
+ * @param value
+ * allowed object is {@link GenderType }
+ *
+ */
+ public void setGender(GenderType value) {
+ this.gender = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationIdentifyingTheQualificationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationIdentifyingTheQualificationType.java
index 3820c55a3..31a38bbc4 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationIdentifyingTheQualificationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationIdentifyingTheQualificationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,13 +12,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Information identifying the qualification
*
- * <p>Java class for InformationIdentifyingTheQualificationType complex type.
+ * <p>
+ * Java class for InformationIdentifyingTheQualificationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="InformationIdentifyingTheQualificationType">
@@ -41,171 +41,147 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "InformationIdentifyingTheQualificationType", propOrder = {
- "qualification",
- "titleConferred",
- "mainFieldsOfStudy",
- "nameAndStatusOfAwardingInstitution",
- "nameAndStatusOfInstitutionAdministeringStudies",
- "languagesOfInstructionAndExamination"
-})
+@XmlType(name = "InformationIdentifyingTheQualificationType", propOrder = { "qualification", "titleConferred", "mainFieldsOfStudy", "nameAndStatusOfAwardingInstitution",
+ "nameAndStatusOfInstitutionAdministeringStudies", "languagesOfInstructionAndExamination" })
public class InformationIdentifyingTheQualificationType {
- @XmlElement(name = "Qualification", required = true)
- protected QualificationType qualification;
- @XmlElement(name = "TitleConferred")
- protected TitleConferredType titleConferred;
- @XmlElement(name = "MainFieldsOfStudy", required = true)
- protected RichTextTagType mainFieldsOfStudy;
- @XmlElement(name = "NameAndStatusOfAwardingInstitution", required = true)
- protected NameAndStatusOfAwardingInstitutionType nameAndStatusOfAwardingInstitution;
- @XmlElement(name = "NameAndStatusOfInstitutionAdministeringStudies", required = true)
- protected NameAndStatusOfInstitutionAdministeringStudiesType nameAndStatusOfInstitutionAdministeringStudies;
- @XmlElement(name = "LanguagesOfInstructionAndExamination", required = true)
- protected LanguagesOfInstructionAndExaminationType languagesOfInstructionAndExamination;
-
- /**
- * Gets the value of the qualification property.
- *
- * @return
- * possible object is
- * {@link QualificationType }
- *
- */
- public QualificationType getQualification() {
- return qualification;
- }
-
- /**
- * Sets the value of the qualification property.
- *
- * @param value
- * allowed object is
- * {@link QualificationType }
- *
- */
- public void setQualification(QualificationType value) {
- this.qualification = value;
- }
-
- /**
- * Gets the value of the titleConferred property.
- *
- * @return
- * possible object is
- * {@link TitleConferredType }
- *
- */
- public TitleConferredType getTitleConferred() {
- return titleConferred;
- }
-
- /**
- * Sets the value of the titleConferred property.
- *
- * @param value
- * allowed object is
- * {@link TitleConferredType }
- *
- */
- public void setTitleConferred(TitleConferredType value) {
- this.titleConferred = value;
- }
-
- /**
- * Gets the value of the mainFieldsOfStudy property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getMainFieldsOfStudy() {
- return mainFieldsOfStudy;
- }
-
- /**
- * Sets the value of the mainFieldsOfStudy property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setMainFieldsOfStudy(RichTextTagType value) {
- this.mainFieldsOfStudy = value;
- }
-
- /**
- * Gets the value of the nameAndStatusOfAwardingInstitution property.
- *
- * @return
- * possible object is
- * {@link NameAndStatusOfAwardingInstitutionType }
- *
- */
- public NameAndStatusOfAwardingInstitutionType getNameAndStatusOfAwardingInstitution() {
- return nameAndStatusOfAwardingInstitution;
- }
-
- /**
- * Sets the value of the nameAndStatusOfAwardingInstitution property.
- *
- * @param value
- * allowed object is
- * {@link NameAndStatusOfAwardingInstitutionType }
- *
- */
- public void setNameAndStatusOfAwardingInstitution(NameAndStatusOfAwardingInstitutionType value) {
- this.nameAndStatusOfAwardingInstitution = value;
- }
-
- /**
- * Gets the value of the nameAndStatusOfInstitutionAdministeringStudies property.
- *
- * @return
- * possible object is
- * {@link NameAndStatusOfInstitutionAdministeringStudiesType }
- *
- */
- public NameAndStatusOfInstitutionAdministeringStudiesType getNameAndStatusOfInstitutionAdministeringStudies() {
- return nameAndStatusOfInstitutionAdministeringStudies;
- }
-
- /**
- * Sets the value of the nameAndStatusOfInstitutionAdministeringStudies property.
- *
- * @param value
- * allowed object is
- * {@link NameAndStatusOfInstitutionAdministeringStudiesType }
- *
- */
- public void setNameAndStatusOfInstitutionAdministeringStudies(NameAndStatusOfInstitutionAdministeringStudiesType value) {
- this.nameAndStatusOfInstitutionAdministeringStudies = value;
- }
-
- /**
- * Gets the value of the languagesOfInstructionAndExamination property.
- *
- * @return
- * possible object is
- * {@link LanguagesOfInstructionAndExaminationType }
- *
- */
- public LanguagesOfInstructionAndExaminationType getLanguagesOfInstructionAndExamination() {
- return languagesOfInstructionAndExamination;
- }
-
- /**
- * Sets the value of the languagesOfInstructionAndExamination property.
- *
- * @param value
- * allowed object is
- * {@link LanguagesOfInstructionAndExaminationType }
- *
- */
- public void setLanguagesOfInstructionAndExamination(LanguagesOfInstructionAndExaminationType value) {
- this.languagesOfInstructionAndExamination = value;
- }
+ @XmlElement(name = "Qualification", required = true)
+ protected QualificationType qualification;
+ @XmlElement(name = "TitleConferred")
+ protected TitleConferredType titleConferred;
+ @XmlElement(name = "MainFieldsOfStudy", required = true)
+ protected RichTextTagType mainFieldsOfStudy;
+ @XmlElement(name = "NameAndStatusOfAwardingInstitution", required = true)
+ protected NameAndStatusOfAwardingInstitutionType nameAndStatusOfAwardingInstitution;
+ @XmlElement(name = "NameAndStatusOfInstitutionAdministeringStudies", required = true)
+ protected NameAndStatusOfInstitutionAdministeringStudiesType nameAndStatusOfInstitutionAdministeringStudies;
+ @XmlElement(name = "LanguagesOfInstructionAndExamination", required = true)
+ protected LanguagesOfInstructionAndExaminationType languagesOfInstructionAndExamination;
+
+ /**
+ * Gets the value of the qualification property.
+ *
+ * @return possible object is {@link QualificationType }
+ *
+ */
+ public QualificationType getQualification() {
+ return qualification;
+ }
+
+ /**
+ * Sets the value of the qualification property.
+ *
+ * @param value
+ * allowed object is {@link QualificationType }
+ *
+ */
+ public void setQualification(QualificationType value) {
+ this.qualification = value;
+ }
+
+ /**
+ * Gets the value of the titleConferred property.
+ *
+ * @return possible object is {@link TitleConferredType }
+ *
+ */
+ public TitleConferredType getTitleConferred() {
+ return titleConferred;
+ }
+
+ /**
+ * Sets the value of the titleConferred property.
+ *
+ * @param value
+ * allowed object is {@link TitleConferredType }
+ *
+ */
+ public void setTitleConferred(TitleConferredType value) {
+ this.titleConferred = value;
+ }
+
+ /**
+ * Gets the value of the mainFieldsOfStudy property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getMainFieldsOfStudy() {
+ return mainFieldsOfStudy;
+ }
+
+ /**
+ * Sets the value of the mainFieldsOfStudy property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setMainFieldsOfStudy(RichTextTagType value) {
+ this.mainFieldsOfStudy = value;
+ }
+
+ /**
+ * Gets the value of the nameAndStatusOfAwardingInstitution property.
+ *
+ * @return possible object is {@link NameAndStatusOfAwardingInstitutionType }
+ *
+ */
+ public NameAndStatusOfAwardingInstitutionType getNameAndStatusOfAwardingInstitution() {
+ return nameAndStatusOfAwardingInstitution;
+ }
+
+ /**
+ * Sets the value of the nameAndStatusOfAwardingInstitution property.
+ *
+ * @param value
+ * allowed object is {@link NameAndStatusOfAwardingInstitutionType }
+ *
+ */
+ public void setNameAndStatusOfAwardingInstitution(NameAndStatusOfAwardingInstitutionType value) {
+ this.nameAndStatusOfAwardingInstitution = value;
+ }
+
+ /**
+ * Gets the value of the nameAndStatusOfInstitutionAdministeringStudies property.
+ *
+ * @return possible object is {@link NameAndStatusOfInstitutionAdministeringStudiesType }
+ *
+ */
+ public NameAndStatusOfInstitutionAdministeringStudiesType getNameAndStatusOfInstitutionAdministeringStudies() {
+ return nameAndStatusOfInstitutionAdministeringStudies;
+ }
+
+ /**
+ * Sets the value of the nameAndStatusOfInstitutionAdministeringStudies property.
+ *
+ * @param value
+ * allowed object is {@link NameAndStatusOfInstitutionAdministeringStudiesType }
+ *
+ */
+ public void setNameAndStatusOfInstitutionAdministeringStudies(NameAndStatusOfInstitutionAdministeringStudiesType value) {
+ this.nameAndStatusOfInstitutionAdministeringStudies = value;
+ }
+
+ /**
+ * Gets the value of the languagesOfInstructionAndExamination property.
+ *
+ * @return possible object is {@link LanguagesOfInstructionAndExaminationType }
+ *
+ */
+ public LanguagesOfInstructionAndExaminationType getLanguagesOfInstructionAndExamination() {
+ return languagesOfInstructionAndExamination;
+ }
+
+ /**
+ * Sets the value of the languagesOfInstructionAndExamination property.
+ *
+ * @param value
+ * allowed object is {@link LanguagesOfInstructionAndExaminationType }
+ *
+ */
+ public void setLanguagesOfInstructionAndExamination(LanguagesOfInstructionAndExaminationType value) {
+ this.languagesOfInstructionAndExamination = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheContentsAndResultsGainedType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheContentsAndResultsGainedType.java
index 68869c7ba..274a01e32 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheContentsAndResultsGainedType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheContentsAndResultsGainedType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,13 +13,14 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Information on the contents and results gained
*
- * <p>Java class for InformationOnTheContentsAndResultsGainedType complex type.
+ * <p>
+ * Java class for InformationOnTheContentsAndResultsGainedType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="InformationOnTheContentsAndResultsGainedType">
@@ -49,197 +49,173 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "InformationOnTheContentsAndResultsGainedType", propOrder = {
- "modeOfStudy",
- "programmeRequirements",
- "programmeDetails",
- "gradingSchemeAndGradeDistributionGuidance",
- "overallClassificationOfTheQualification"
-})
+@XmlType(name = "InformationOnTheContentsAndResultsGainedType", propOrder = { "modeOfStudy", "programmeRequirements", "programmeDetails", "gradingSchemeAndGradeDistributionGuidance",
+ "overallClassificationOfTheQualification" })
public class InformationOnTheContentsAndResultsGainedType {
- @XmlElement(name = "ModeOfStudy", required = true)
- protected InformationOnTheContentsAndResultsGainedType.ModeOfStudy modeOfStudy;
- @XmlElement(name = "ProgrammeRequirements", required = true)
- protected ProgrammeRequirementsType programmeRequirements;
- @XmlElement(name = "ProgrammeDetails", required = true)
- protected ProgrammeDetailsType programmeDetails;
- @XmlElement(name = "GradingSchemeAndGradeDistributionGuidance", required = true)
- protected GradingSchemeAndGradeDistributionGuidanceType gradingSchemeAndGradeDistributionGuidance;
- @XmlElement(name = "OverallClassificationOfTheQualification", required = true)
- protected RichTextTagType overallClassificationOfTheQualification;
-
- /**
- * Gets the value of the modeOfStudy property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheContentsAndResultsGainedType.ModeOfStudy }
- *
- */
- public InformationOnTheContentsAndResultsGainedType.ModeOfStudy getModeOfStudy() {
- return modeOfStudy;
- }
-
- /**
- * Sets the value of the modeOfStudy property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheContentsAndResultsGainedType.ModeOfStudy }
- *
- */
- public void setModeOfStudy(InformationOnTheContentsAndResultsGainedType.ModeOfStudy value) {
- this.modeOfStudy = value;
- }
-
- /**
- * Gets the value of the programmeRequirements property.
- *
- * @return
- * possible object is
- * {@link ProgrammeRequirementsType }
- *
- */
- public ProgrammeRequirementsType getProgrammeRequirements() {
- return programmeRequirements;
- }
-
- /**
- * Sets the value of the programmeRequirements property.
- *
- * @param value
- * allowed object is
- * {@link ProgrammeRequirementsType }
- *
- */
- public void setProgrammeRequirements(ProgrammeRequirementsType value) {
- this.programmeRequirements = value;
- }
-
- /**
- * Gets the value of the programmeDetails property.
- *
- * @return
- * possible object is
- * {@link ProgrammeDetailsType }
- *
- */
- public ProgrammeDetailsType getProgrammeDetails() {
- return programmeDetails;
- }
-
- /**
- * Sets the value of the programmeDetails property.
- *
- * @param value
- * allowed object is
- * {@link ProgrammeDetailsType }
- *
- */
- public void setProgrammeDetails(ProgrammeDetailsType value) {
- this.programmeDetails = value;
- }
-
- /**
- * Gets the value of the gradingSchemeAndGradeDistributionGuidance property.
- *
- * @return
- * possible object is
- * {@link GradingSchemeAndGradeDistributionGuidanceType }
- *
- */
- public GradingSchemeAndGradeDistributionGuidanceType getGradingSchemeAndGradeDistributionGuidance() {
- return gradingSchemeAndGradeDistributionGuidance;
- }
-
- /**
- * Sets the value of the gradingSchemeAndGradeDistributionGuidance property.
- *
- * @param value
- * allowed object is
- * {@link GradingSchemeAndGradeDistributionGuidanceType }
- *
- */
- public void setGradingSchemeAndGradeDistributionGuidance(GradingSchemeAndGradeDistributionGuidanceType value) {
- this.gradingSchemeAndGradeDistributionGuidance = value;
- }
-
- /**
- * Gets the value of the overallClassificationOfTheQualification property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getOverallClassificationOfTheQualification() {
- return overallClassificationOfTheQualification;
- }
-
- /**
- * Sets the value of the overallClassificationOfTheQualification property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setOverallClassificationOfTheQualification(RichTextTagType value) {
- this.overallClassificationOfTheQualification = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}RichTextTagType">
- * &lt;attribute name="modeOfStudy" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}ModeOfStudyType" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class ModeOfStudy
- extends RichTextTagType
- {
-
- @XmlAttribute(name = "modeOfStudy", required = true)
- protected ModeOfStudyType modeOfStudy;
-
- /**
- * Gets the value of the modeOfStudy property.
- *
- * @return
- * possible object is
- * {@link ModeOfStudyType }
- *
- */
- public ModeOfStudyType getModeOfStudy() {
- return modeOfStudy;
- }
-
- /**
- * Sets the value of the modeOfStudy property.
- *
- * @param value
- * allowed object is
- * {@link ModeOfStudyType }
- *
- */
- public void setModeOfStudy(ModeOfStudyType value) {
- this.modeOfStudy = value;
- }
-
- }
+ @XmlElement(name = "ModeOfStudy", required = true)
+ protected InformationOnTheContentsAndResultsGainedType.ModeOfStudy modeOfStudy;
+ @XmlElement(name = "ProgrammeRequirements", required = true)
+ protected ProgrammeRequirementsType programmeRequirements;
+ @XmlElement(name = "ProgrammeDetails", required = true)
+ protected ProgrammeDetailsType programmeDetails;
+ @XmlElement(name = "GradingSchemeAndGradeDistributionGuidance", required = true)
+ protected GradingSchemeAndGradeDistributionGuidanceType gradingSchemeAndGradeDistributionGuidance;
+ @XmlElement(name = "OverallClassificationOfTheQualification", required = true)
+ protected RichTextTagType overallClassificationOfTheQualification;
+
+ /**
+ * Gets the value of the modeOfStudy property.
+ *
+ * @return possible object is {@link InformationOnTheContentsAndResultsGainedType.ModeOfStudy }
+ *
+ */
+ public InformationOnTheContentsAndResultsGainedType.ModeOfStudy getModeOfStudy() {
+ return modeOfStudy;
+ }
+
+ /**
+ * Sets the value of the modeOfStudy property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheContentsAndResultsGainedType.ModeOfStudy }
+ *
+ */
+ public void setModeOfStudy(InformationOnTheContentsAndResultsGainedType.ModeOfStudy value) {
+ this.modeOfStudy = value;
+ }
+
+ /**
+ * Gets the value of the programmeRequirements property.
+ *
+ * @return possible object is {@link ProgrammeRequirementsType }
+ *
+ */
+ public ProgrammeRequirementsType getProgrammeRequirements() {
+ return programmeRequirements;
+ }
+
+ /**
+ * Sets the value of the programmeRequirements property.
+ *
+ * @param value
+ * allowed object is {@link ProgrammeRequirementsType }
+ *
+ */
+ public void setProgrammeRequirements(ProgrammeRequirementsType value) {
+ this.programmeRequirements = value;
+ }
+
+ /**
+ * Gets the value of the programmeDetails property.
+ *
+ * @return possible object is {@link ProgrammeDetailsType }
+ *
+ */
+ public ProgrammeDetailsType getProgrammeDetails() {
+ return programmeDetails;
+ }
+
+ /**
+ * Sets the value of the programmeDetails property.
+ *
+ * @param value
+ * allowed object is {@link ProgrammeDetailsType }
+ *
+ */
+ public void setProgrammeDetails(ProgrammeDetailsType value) {
+ this.programmeDetails = value;
+ }
+
+ /**
+ * Gets the value of the gradingSchemeAndGradeDistributionGuidance property.
+ *
+ * @return possible object is {@link GradingSchemeAndGradeDistributionGuidanceType }
+ *
+ */
+ public GradingSchemeAndGradeDistributionGuidanceType getGradingSchemeAndGradeDistributionGuidance() {
+ return gradingSchemeAndGradeDistributionGuidance;
+ }
+
+ /**
+ * Sets the value of the gradingSchemeAndGradeDistributionGuidance property.
+ *
+ * @param value
+ * allowed object is {@link GradingSchemeAndGradeDistributionGuidanceType }
+ *
+ */
+ public void setGradingSchemeAndGradeDistributionGuidance(GradingSchemeAndGradeDistributionGuidanceType value) {
+ this.gradingSchemeAndGradeDistributionGuidance = value;
+ }
+
+ /**
+ * Gets the value of the overallClassificationOfTheQualification property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getOverallClassificationOfTheQualification() {
+ return overallClassificationOfTheQualification;
+ }
+
+ /**
+ * Sets the value of the overallClassificationOfTheQualification property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setOverallClassificationOfTheQualification(RichTextTagType value) {
+ this.overallClassificationOfTheQualification = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}RichTextTagType">
+ * &lt;attribute name="modeOfStudy" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}ModeOfStudyType" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class ModeOfStudy extends RichTextTagType {
+
+ @XmlAttribute(name = "modeOfStudy", required = true)
+ protected ModeOfStudyType modeOfStudy;
+
+ /**
+ * Gets the value of the modeOfStudy property.
+ *
+ * @return possible object is {@link ModeOfStudyType }
+ *
+ */
+ public ModeOfStudyType getModeOfStudy() {
+ return modeOfStudy;
+ }
+
+ /**
+ * Sets the value of the modeOfStudy property.
+ *
+ * @param value
+ * allowed object is {@link ModeOfStudyType }
+ *
+ */
+ public void setModeOfStudy(ModeOfStudyType value) {
+ this.modeOfStudy = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheFunctionOfTheQualificationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheFunctionOfTheQualificationType.java
index e16bb9b22..383caae19 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheFunctionOfTheQualificationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheFunctionOfTheQualificationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,13 +13,14 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Information on the function of the qualification type
*
- * <p>Java class for InformationOnTheFunctionOfTheQualificationType complex type.
+ * <p>
+ * Java class for InformationOnTheFunctionOfTheQualificationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="InformationOnTheFunctionOfTheQualificationType">
@@ -46,116 +46,103 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "InformationOnTheFunctionOfTheQualificationType", propOrder = {
- "accessToFurtherStudy",
- "professionalStatus"
-})
+@XmlType(name = "InformationOnTheFunctionOfTheQualificationType", propOrder = { "accessToFurtherStudy", "professionalStatus" })
public class InformationOnTheFunctionOfTheQualificationType {
- @XmlElement(name = "AccessToFurtherStudy", required = true)
- protected RichTextTagType accessToFurtherStudy;
- @XmlElement(name = "ProfessionalStatus")
- protected InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus professionalStatus;
-
- /**
- * Gets the value of the accessToFurtherStudy property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getAccessToFurtherStudy() {
- return accessToFurtherStudy;
- }
-
- /**
- * Sets the value of the accessToFurtherStudy property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setAccessToFurtherStudy(RichTextTagType value) {
- this.accessToFurtherStudy = value;
- }
-
- /**
- * Gets the value of the professionalStatus property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus }
- *
- */
- public InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus getProfessionalStatus() {
- return professionalStatus;
- }
-
- /**
- * Sets the value of the professionalStatus property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus }
- *
- */
- public void setProfessionalStatus(InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus value) {
- this.professionalStatus = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}RichTextTagType">
- * &lt;attribute name="isRegulatedProfession" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class ProfessionalStatus
- extends RichTextTagType
- {
-
- @XmlAttribute(name = "isRegulatedProfession")
- protected Boolean isRegulatedProfession;
-
- /**
- * Gets the value of the isRegulatedProfession property.
- *
- * @return
- * possible object is
- * {@link Boolean }
- *
- */
- public Boolean isIsRegulatedProfession() {
- return isRegulatedProfession;
- }
-
- /**
- * Sets the value of the isRegulatedProfession property.
- *
- * @param value
- * allowed object is
- * {@link Boolean }
- *
- */
- public void setIsRegulatedProfession(Boolean value) {
- this.isRegulatedProfession = value;
- }
-
- }
+ @XmlElement(name = "AccessToFurtherStudy", required = true)
+ protected RichTextTagType accessToFurtherStudy;
+ @XmlElement(name = "ProfessionalStatus")
+ protected InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus professionalStatus;
+
+ /**
+ * Gets the value of the accessToFurtherStudy property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getAccessToFurtherStudy() {
+ return accessToFurtherStudy;
+ }
+
+ /**
+ * Sets the value of the accessToFurtherStudy property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setAccessToFurtherStudy(RichTextTagType value) {
+ this.accessToFurtherStudy = value;
+ }
+
+ /**
+ * Gets the value of the professionalStatus property.
+ *
+ * @return possible object is {@link InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus }
+ *
+ */
+ public InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus getProfessionalStatus() {
+ return professionalStatus;
+ }
+
+ /**
+ * Sets the value of the professionalStatus property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus }
+ *
+ */
+ public void setProfessionalStatus(InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus value) {
+ this.professionalStatus = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}RichTextTagType">
+ * &lt;attribute name="isRegulatedProfession" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class ProfessionalStatus extends RichTextTagType {
+
+ @XmlAttribute(name = "isRegulatedProfession")
+ protected Boolean isRegulatedProfession;
+
+ /**
+ * Gets the value of the isRegulatedProfession property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isIsRegulatedProfession() {
+ return isRegulatedProfession;
+ }
+
+ /**
+ * Sets the value of the isRegulatedProfession property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setIsRegulatedProfession(Boolean value) {
+ this.isRegulatedProfession = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheLevelOfTheQualificationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheLevelOfTheQualificationType.java
index 796130137..27282fe36 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheLevelOfTheQualificationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InformationOnTheLevelOfTheQualificationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.math.BigDecimal;
@@ -15,13 +14,14 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Information on the level of the qualification
*
- * <p>Java class for InformationOnTheLevelOfTheQualificationType complex type.
+ * <p>
+ * Java class for InformationOnTheLevelOfTheQualificationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="InformationOnTheLevelOfTheQualificationType">
@@ -61,331 +61,295 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "InformationOnTheLevelOfTheQualificationType", propOrder = {
- "level",
- "officialLengthOfProgramme",
- "accessRequirements"
-})
+@XmlType(name = "InformationOnTheLevelOfTheQualificationType", propOrder = { "level", "officialLengthOfProgramme", "accessRequirements" })
public class InformationOnTheLevelOfTheQualificationType {
- @XmlElement(name = "Level", required = true)
- protected InformationOnTheLevelOfTheQualificationType.Level level;
- @XmlElement(name = "OfficialLengthOfProgramme", required = true)
- protected InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme officialLengthOfProgramme;
- @XmlElement(name = "AccessRequirements", required = true)
- protected RichTextTagType accessRequirements;
-
- /**
- * Gets the value of the level property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheLevelOfTheQualificationType.Level }
- *
- */
- public InformationOnTheLevelOfTheQualificationType.Level getLevel() {
- return level;
- }
-
- /**
- * Sets the value of the level property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheLevelOfTheQualificationType.Level }
- *
- */
- public void setLevel(InformationOnTheLevelOfTheQualificationType.Level value) {
- this.level = value;
- }
-
- /**
- * Gets the value of the officialLengthOfProgramme property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme }
- *
- */
- public InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme getOfficialLengthOfProgramme() {
- return officialLengthOfProgramme;
- }
-
- /**
- * Sets the value of the officialLengthOfProgramme property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme }
- *
- */
- public void setOfficialLengthOfProgramme(InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme value) {
- this.officialLengthOfProgramme = value;
- }
-
- /**
- * Gets the value of the accessRequirements property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getAccessRequirements() {
- return accessRequirements;
- }
-
- /**
- * Sets the value of the accessRequirements property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setAccessRequirements(RichTextTagType value) {
- this.accessRequirements = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}RichTextTagType">
- * &lt;attribute name="isced1997" type="{urn:crue:academic:xsd:language:diplomasupplement}ISCED1997Type" />
- * &lt;attribute name="isced2011" type="{urn:crue:academic:xsd:language:diplomasupplement}ISCED2011Type" />
- * &lt;attribute name="eheaFramework" type="{urn:crue:academic:xsd:language:diplomasupplement}EHEAFrameworkType" />
- * &lt;attribute name="nfq" type="{urn:crue:academic:xsd:language:diplomasupplement}NFQType" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class Level
- extends RichTextTagType
- {
-
- @XmlAttribute(name = "isced1997")
- protected String isced1997;
- @XmlAttribute(name = "isced2011")
- protected String isced2011;
- @XmlAttribute(name = "eheaFramework")
- protected EHEAFrameworkType eheaFramework;
- @XmlAttribute(name = "nfq")
- protected String nfq;
-
- /**
- * Gets the value of the isced1997 property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getIsced1997() {
- return isced1997;
- }
-
- /**
- * Sets the value of the isced1997 property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setIsced1997(String value) {
- this.isced1997 = value;
- }
-
- /**
- * Gets the value of the isced2011 property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getIsced2011() {
- return isced2011;
- }
-
- /**
- * Sets the value of the isced2011 property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setIsced2011(String value) {
- this.isced2011 = value;
- }
-
- /**
- * Gets the value of the eheaFramework property.
- *
- * @return
- * possible object is
- * {@link EHEAFrameworkType }
- *
- */
- public EHEAFrameworkType getEheaFramework() {
- return eheaFramework;
- }
-
- /**
- * Sets the value of the eheaFramework property.
- *
- * @param value
- * allowed object is
- * {@link EHEAFrameworkType }
- *
- */
- public void setEheaFramework(EHEAFrameworkType value) {
- this.eheaFramework = value;
- }
-
- /**
- * Gets the value of the nfq property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNfq() {
- return nfq;
- }
-
- /**
- * Sets the value of the nfq property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNfq(String value) {
- this.nfq = value;
- }
-
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}RichTextTagType">
- * &lt;attribute name="ectsCredits" type="{urn:crue:academic:xsd:language:diplomasupplement}PositiveDecimalType" />
- * &lt;attribute name="years" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}PositiveDecimalType" />
- * &lt;attribute name="semesters" type="{urn:crue:academic:xsd:language:diplomasupplement}PositiveIntegerType" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class OfficialLengthOfProgramme
- extends RichTextTagType
- {
-
- @XmlAttribute(name = "ectsCredits")
- protected BigDecimal ectsCredits;
- @XmlAttribute(name = "years", required = true)
- protected BigDecimal years;
- @XmlAttribute(name = "semesters")
- protected Integer semesters;
-
- /**
- * Gets the value of the ectsCredits property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getEctsCredits() {
- return ectsCredits;
- }
-
- /**
- * Sets the value of the ectsCredits property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setEctsCredits(BigDecimal value) {
- this.ectsCredits = value;
- }
-
- /**
- * Gets the value of the years property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getYears() {
- return years;
- }
-
- /**
- * Sets the value of the years property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setYears(BigDecimal value) {
- this.years = value;
- }
-
- /**
- * Gets the value of the semesters property.
- *
- * @return
- * possible object is
- * {@link Integer }
- *
- */
- public Integer getSemesters() {
- return semesters;
- }
-
- /**
- * Sets the value of the semesters property.
- *
- * @param value
- * allowed object is
- * {@link Integer }
- *
- */
- public void setSemesters(Integer value) {
- this.semesters = value;
- }
-
- }
+ @XmlElement(name = "Level", required = true)
+ protected InformationOnTheLevelOfTheQualificationType.Level level;
+ @XmlElement(name = "OfficialLengthOfProgramme", required = true)
+ protected InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme officialLengthOfProgramme;
+ @XmlElement(name = "AccessRequirements", required = true)
+ protected RichTextTagType accessRequirements;
+
+ /**
+ * Gets the value of the level property.
+ *
+ * @return possible object is {@link InformationOnTheLevelOfTheQualificationType.Level }
+ *
+ */
+ public InformationOnTheLevelOfTheQualificationType.Level getLevel() {
+ return level;
+ }
+
+ /**
+ * Sets the value of the level property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheLevelOfTheQualificationType.Level }
+ *
+ */
+ public void setLevel(InformationOnTheLevelOfTheQualificationType.Level value) {
+ this.level = value;
+ }
+
+ /**
+ * Gets the value of the officialLengthOfProgramme property.
+ *
+ * @return possible object is {@link InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme }
+ *
+ */
+ public InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme getOfficialLengthOfProgramme() {
+ return officialLengthOfProgramme;
+ }
+
+ /**
+ * Sets the value of the officialLengthOfProgramme property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme }
+ *
+ */
+ public void setOfficialLengthOfProgramme(InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme value) {
+ this.officialLengthOfProgramme = value;
+ }
+
+ /**
+ * Gets the value of the accessRequirements property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getAccessRequirements() {
+ return accessRequirements;
+ }
+
+ /**
+ * Sets the value of the accessRequirements property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setAccessRequirements(RichTextTagType value) {
+ this.accessRequirements = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}RichTextTagType">
+ * &lt;attribute name="isced1997" type="{urn:crue:academic:xsd:language:diplomasupplement}ISCED1997Type" />
+ * &lt;attribute name="isced2011" type="{urn:crue:academic:xsd:language:diplomasupplement}ISCED2011Type" />
+ * &lt;attribute name="eheaFramework" type="{urn:crue:academic:xsd:language:diplomasupplement}EHEAFrameworkType" />
+ * &lt;attribute name="nfq" type="{urn:crue:academic:xsd:language:diplomasupplement}NFQType" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class Level extends RichTextTagType {
+
+ @XmlAttribute(name = "isced1997")
+ protected String isced1997;
+ @XmlAttribute(name = "isced2011")
+ protected String isced2011;
+ @XmlAttribute(name = "eheaFramework")
+ protected EHEAFrameworkType eheaFramework;
+ @XmlAttribute(name = "nfq")
+ protected String nfq;
+
+ /**
+ * Gets the value of the isced1997 property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getIsced1997() {
+ return isced1997;
+ }
+
+ /**
+ * Sets the value of the isced1997 property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setIsced1997(String value) {
+ this.isced1997 = value;
+ }
+
+ /**
+ * Gets the value of the isced2011 property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getIsced2011() {
+ return isced2011;
+ }
+
+ /**
+ * Sets the value of the isced2011 property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setIsced2011(String value) {
+ this.isced2011 = value;
+ }
+
+ /**
+ * Gets the value of the eheaFramework property.
+ *
+ * @return possible object is {@link EHEAFrameworkType }
+ *
+ */
+ public EHEAFrameworkType getEheaFramework() {
+ return eheaFramework;
+ }
+
+ /**
+ * Sets the value of the eheaFramework property.
+ *
+ * @param value
+ * allowed object is {@link EHEAFrameworkType }
+ *
+ */
+ public void setEheaFramework(EHEAFrameworkType value) {
+ this.eheaFramework = value;
+ }
+
+ /**
+ * Gets the value of the nfq property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNfq() {
+ return nfq;
+ }
+
+ /**
+ * Sets the value of the nfq property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNfq(String value) {
+ this.nfq = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}RichTextTagType">
+ * &lt;attribute name="ectsCredits" type="{urn:crue:academic:xsd:language:diplomasupplement}PositiveDecimalType" />
+ * &lt;attribute name="years" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}PositiveDecimalType" />
+ * &lt;attribute name="semesters" type="{urn:crue:academic:xsd:language:diplomasupplement}PositiveIntegerType" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class OfficialLengthOfProgramme extends RichTextTagType {
+
+ @XmlAttribute(name = "ectsCredits")
+ protected BigDecimal ectsCredits;
+ @XmlAttribute(name = "years", required = true)
+ protected BigDecimal years;
+ @XmlAttribute(name = "semesters")
+ protected Integer semesters;
+
+ /**
+ * Gets the value of the ectsCredits property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getEctsCredits() {
+ return ectsCredits;
+ }
+
+ /**
+ * Sets the value of the ectsCredits property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setEctsCredits(BigDecimal value) {
+ this.ectsCredits = value;
+ }
+
+ /**
+ * Gets the value of the years property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getYears() {
+ return years;
+ }
+
+ /**
+ * Sets the value of the years property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setYears(BigDecimal value) {
+ this.years = value;
+ }
+
+ /**
+ * Gets the value of the semesters property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getSemesters() {
+ return semesters;
+ }
+
+ /**
+ * Sets the value of the semesters property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setSemesters(Integer value) {
+ this.semesters = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InstitutionType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InstitutionType.java
index c19db9312..a99aca0f7 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InstitutionType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/InstitutionType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -18,13 +17,14 @@ import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-
/**
* Name and status of the institution
*
- * <p>Java class for InstitutionType complex type.
+ * <p>
+ * Java class for InstitutionType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="InstitutionType">
@@ -64,391 +64,344 @@ import javax.xml.bind.annotation.XmlValue;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "InstitutionType", propOrder = {
- "name",
- "status",
- "country",
- "additionalInformation",
- "contactInformation",
- "attachedImageRef"
-})
-@XmlSeeAlso({
- eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.NameAndStatusOfAwardingInstitutionType.AwardingInstitution.class,
- eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies.class
-})
+@XmlType(name = "InstitutionType", propOrder = { "name", "status", "country", "additionalInformation", "contactInformation", "attachedImageRef" })
+@XmlSeeAlso({ eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.NameAndStatusOfAwardingInstitutionType.AwardingInstitution.class,
+ eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies.class })
public class InstitutionType {
- @XmlElement(name = "Name", required = true)
- protected String name;
- @XmlElement(name = "Status", required = true)
- protected String status;
- @XmlElement(name = "Country", required = true)
- protected InstitutionType.Country country;
- @XmlElement(name = "AdditionalInformation")
- protected RichTextTagType additionalInformation;
- @XmlElement(name = "ContactInformation")
- protected ContactInformationType contactInformation;
- @XmlElement(name = "AttachedImageRef")
- protected InstitutionType.AttachedImageRef attachedImageRef;
- @XmlAttribute(name = "nationalID")
- protected String nationalID;
- @XmlAttribute(name = "erasmusID")
- protected String erasmusID;
-
- /**
- * Gets the value of the name property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getName() {
- return name;
- }
-
- /**
- * Sets the value of the name property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setName(String value) {
- this.name = value;
- }
-
- /**
- * Gets the value of the status property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStatus() {
- return status;
- }
-
- /**
- * Sets the value of the status property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStatus(String value) {
- this.status = value;
- }
-
- /**
- * Gets the value of the country property.
- *
- * @return
- * possible object is
- * {@link InstitutionType.Country }
- *
- */
- public InstitutionType.Country getCountry() {
- return country;
- }
-
- /**
- * Sets the value of the country property.
- *
- * @param value
- * allowed object is
- * {@link InstitutionType.Country }
- *
- */
- public void setCountry(InstitutionType.Country value) {
- this.country = value;
- }
-
- /**
- * Gets the value of the additionalInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getAdditionalInformation() {
- return additionalInformation;
- }
-
- /**
- * Sets the value of the additionalInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setAdditionalInformation(RichTextTagType value) {
- this.additionalInformation = value;
- }
-
- /**
- * Gets the value of the contactInformation property.
- *
- * @return
- * possible object is
- * {@link ContactInformationType }
- *
- */
- public ContactInformationType getContactInformation() {
- return contactInformation;
- }
-
- /**
- * Sets the value of the contactInformation property.
- *
- * @param value
- * allowed object is
- * {@link ContactInformationType }
- *
- */
- public void setContactInformation(ContactInformationType value) {
- this.contactInformation = value;
- }
-
- /**
- * Gets the value of the attachedImageRef property.
- *
- * @return
- * possible object is
- * {@link InstitutionType.AttachedImageRef }
- *
- */
- public InstitutionType.AttachedImageRef getAttachedImageRef() {
- return attachedImageRef;
- }
-
- /**
- * Sets the value of the attachedImageRef property.
- *
- * @param value
- * allowed object is
- * {@link InstitutionType.AttachedImageRef }
- *
- */
- public void setAttachedImageRef(InstitutionType.AttachedImageRef value) {
- this.attachedImageRef = value;
- }
-
- /**
- * Gets the value of the nationalID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNationalID() {
- return nationalID;
- }
-
- /**
- * Sets the value of the nationalID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNationalID(String value) {
- this.nationalID = value;
- }
-
- /**
- * Gets the value of the erasmusID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getErasmusID() {
- return erasmusID;
- }
-
- /**
- * Sets the value of the erasmusID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setErasmusID(String value) {
- this.erasmusID = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
- * &lt;attribute name="attachedID" use="required" type="{http://www.w3.org/2001/XMLSchema}IDREF" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class AttachedImageRef {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "attachedID", required = true)
- @XmlIDREF
- @XmlSchemaType(name = "IDREF")
- protected Object attachedID;
-
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the attachedID property.
- *
- * @return
- * possible object is
- * {@link Object }
- *
- */
- public Object getAttachedID() {
- return attachedID;
- }
-
- /**
- * Sets the value of the attachedID property.
- *
- * @param value
- * allowed object is
- * {@link Object }
- *
- */
- public void setAttachedID(Object value) {
- this.attachedID = value;
- }
-
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
- * &lt;attribute name="country" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}CountryType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class Country {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "country", required = true)
- protected CountryType country;
-
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the country property.
- *
- * @return
- * possible object is
- * {@link CountryType }
- *
- */
- public CountryType getCountry() {
- return country;
- }
-
- /**
- * Sets the value of the country property.
- *
- * @param value
- * allowed object is
- * {@link CountryType }
- *
- */
- public void setCountry(CountryType value) {
- this.country = value;
- }
-
- }
+ @XmlElement(name = "Name", required = true)
+ protected String name;
+ @XmlElement(name = "Status", required = true)
+ protected String status;
+ @XmlElement(name = "Country", required = true)
+ protected InstitutionType.Country country;
+ @XmlElement(name = "AdditionalInformation")
+ protected RichTextTagType additionalInformation;
+ @XmlElement(name = "ContactInformation")
+ protected ContactInformationType contactInformation;
+ @XmlElement(name = "AttachedImageRef")
+ protected InstitutionType.AttachedImageRef attachedImageRef;
+ @XmlAttribute(name = "nationalID")
+ protected String nationalID;
+ @XmlAttribute(name = "erasmusID")
+ protected String erasmusID;
+
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
+
+ /**
+ * Gets the value of the status property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * Sets the value of the status property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
+
+ /**
+ * Gets the value of the country property.
+ *
+ * @return possible object is {@link InstitutionType.Country }
+ *
+ */
+ public InstitutionType.Country getCountry() {
+ return country;
+ }
+
+ /**
+ * Sets the value of the country property.
+ *
+ * @param value
+ * allowed object is {@link InstitutionType.Country }
+ *
+ */
+ public void setCountry(InstitutionType.Country value) {
+ this.country = value;
+ }
+
+ /**
+ * Gets the value of the additionalInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getAdditionalInformation() {
+ return additionalInformation;
+ }
+
+ /**
+ * Sets the value of the additionalInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setAdditionalInformation(RichTextTagType value) {
+ this.additionalInformation = value;
+ }
+
+ /**
+ * Gets the value of the contactInformation property.
+ *
+ * @return possible object is {@link ContactInformationType }
+ *
+ */
+ public ContactInformationType getContactInformation() {
+ return contactInformation;
+ }
+
+ /**
+ * Sets the value of the contactInformation property.
+ *
+ * @param value
+ * allowed object is {@link ContactInformationType }
+ *
+ */
+ public void setContactInformation(ContactInformationType value) {
+ this.contactInformation = value;
+ }
+
+ /**
+ * Gets the value of the attachedImageRef property.
+ *
+ * @return possible object is {@link InstitutionType.AttachedImageRef }
+ *
+ */
+ public InstitutionType.AttachedImageRef getAttachedImageRef() {
+ return attachedImageRef;
+ }
+
+ /**
+ * Sets the value of the attachedImageRef property.
+ *
+ * @param value
+ * allowed object is {@link InstitutionType.AttachedImageRef }
+ *
+ */
+ public void setAttachedImageRef(InstitutionType.AttachedImageRef value) {
+ this.attachedImageRef = value;
+ }
+
+ /**
+ * Gets the value of the nationalID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNationalID() {
+ return nationalID;
+ }
+
+ /**
+ * Sets the value of the nationalID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNationalID(String value) {
+ this.nationalID = value;
+ }
+
+ /**
+ * Gets the value of the erasmusID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getErasmusID() {
+ return erasmusID;
+ }
+
+ /**
+ * Sets the value of the erasmusID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setErasmusID(String value) {
+ this.erasmusID = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
+ * &lt;attribute name="attachedID" use="required" type="{http://www.w3.org/2001/XMLSchema}IDREF" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class AttachedImageRef {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "attachedID", required = true)
+ @XmlIDREF
+ @XmlSchemaType(name = "IDREF")
+ protected Object attachedID;
+
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the attachedID property.
+ *
+ * @return possible object is {@link Object }
+ *
+ */
+ public Object getAttachedID() {
+ return attachedID;
+ }
+
+ /**
+ * Sets the value of the attachedID property.
+ *
+ * @param value
+ * allowed object is {@link Object }
+ *
+ */
+ public void setAttachedID(Object value) {
+ this.attachedID = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
+ * &lt;attribute name="country" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}CountryType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class Country {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "country", required = true)
+ protected CountryType country;
+
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the country property.
+ *
+ * @return possible object is {@link CountryType }
+ *
+ */
+ public CountryType getCountry() {
+ return country;
+ }
+
+ /**
+ * Sets the value of the country property.
+ *
+ * @param value
+ * allowed object is {@link CountryType }
+ *
+ */
+ public void setCountry(CountryType value) {
+ this.country = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LanguageType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LanguageType.java
index 7cbc99872..7efdf9488 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LanguageType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LanguageType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for LanguageType.
+ * <p>
+ * Java class for LanguageType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="LanguageType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -128,709 +129,708 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum LanguageType {
-
- /**
- * Abkhazian
- *
- */
- @XmlEnumValue("ab")
- AB("ab"),
-
- /**
- * Afrikaans
- *
- */
- @XmlEnumValue("af")
- AF("af"),
-
- /**
- * Aragonese
- *
- */
- @XmlEnumValue("an")
- AN("an"),
-
- /**
- * Arabic
- *
- */
- @XmlEnumValue("ar")
- AR("ar"),
-
- /**
- * Assamese
- *
- */
- @XmlEnumValue("as")
- AS("as"),
-
- /**
- * Azerbaijani
- *
- */
- @XmlEnumValue("az")
- AZ("az"),
-
- /**
- * Belarusian
- *
- */
- @XmlEnumValue("be")
- BE("be"),
-
- /**
- * Bulgarian
- *
- */
- @XmlEnumValue("bg")
- BG("bg"),
-
- /**
- * Bengali
- *
- */
- @XmlEnumValue("bn")
- BN("bn"),
-
- /**
- * Tibetan
- *
- */
- @XmlEnumValue("bo")
- BO("bo"),
-
- /**
- * Breton
- *
- */
- @XmlEnumValue("br")
- BR("br"),
-
- /**
- * Bosnian
- *
- */
- @XmlEnumValue("bs")
- BS("bs"),
-
- /**
- * Catalan / Valencian
- *
- */
- @XmlEnumValue("ca")
- CA("ca"),
-
- /**
- * Chechen
- *
- */
- @XmlEnumValue("ce")
- CE("ce"),
-
- /**
- * Corsican
- *
- */
- @XmlEnumValue("co")
- CO("co"),
-
- /**
- * Czech
- *
- */
- @XmlEnumValue("cs")
- CS("cs"),
-
- /**
- * Welsh
- *
- */
- @XmlEnumValue("cy")
- CY("cy"),
-
- /**
- * Danish
- *
- */
- @XmlEnumValue("da")
- DA("da"),
-
- /**
- * German
- *
- */
- @XmlEnumValue("de")
- DE("de"),
-
- /**
- * Greek
- *
- */
- @XmlEnumValue("el")
- EL("el"),
-
- /**
- * English
- *
- */
- @XmlEnumValue("en")
- EN("en"),
-
- /**
- * Spanish / Castilian
- *
- */
- @XmlEnumValue("es")
- ES("es"),
-
- /**
- * Estonian
- *
- */
- @XmlEnumValue("et")
- ET("et"),
-
- /**
- * Basque
- *
- */
- @XmlEnumValue("eu")
- EU("eu"),
-
- /**
- * Persian
- *
- */
- @XmlEnumValue("fa")
- FA("fa"),
-
- /**
- * Finnish
- *
- */
- @XmlEnumValue("fi")
- FI("fi"),
-
- /**
- * Fijian
- *
- */
- @XmlEnumValue("fj")
- FJ("fj"),
-
- /**
- * Faroese
- *
- */
- @XmlEnumValue("fo")
- FO("fo"),
-
- /**
- * French
- *
- */
- @XmlEnumValue("fr")
- FR("fr"),
-
- /**
- * Western Frisian
- *
- */
- @XmlEnumValue("fy")
- FY("fy"),
-
- /**
- * Irish
- *
- */
- @XmlEnumValue("ga")
- GA("ga"),
-
- /**
- * Gaelic / Scottish Gaelic
- *
- */
- @XmlEnumValue("gd")
- GD("gd"),
-
- /**
- * Galician
- *
- */
- @XmlEnumValue("gl")
- GL("gl"),
-
- /**
- * Manx
- *
- */
- @XmlEnumValue("gv")
- GV("gv"),
-
- /**
- * Ancient Greek
- *
- */
- @XmlEnumValue("grc")
- GRC("grc"),
-
- /**
- * Alemanic; Swiss German
- *
- */
- @XmlEnumValue("gsw")
- GSW("gsw"),
-
- /**
- * Hebrew
- *
- */
- @XmlEnumValue("he")
- HE("he"),
-
- /**
- * Hindi
- *
- */
- @XmlEnumValue("hi")
- HI("hi"),
-
- /**
- * Croatian
- *
- */
- @XmlEnumValue("hr")
- HR("hr"),
-
- /**
- * Haitian; Haitian Creole
- *
- */
- @XmlEnumValue("ht")
- HT("ht"),
-
- /**
- * Hungarian
- *
- */
- @XmlEnumValue("hu")
- HU("hu"),
-
- /**
- * Armenian
- *
- */
- @XmlEnumValue("hy")
- HY("hy"),
-
- /**
- * Indonesian
- *
- */
- @XmlEnumValue("id")
- ID("id"),
-
- /**
- * Icelandic
- *
- */
- @XmlEnumValue("is")
- IS("is"),
-
- /**
- * Italian
- *
- */
- @XmlEnumValue("it")
- IT("it"),
-
- /**
- * Japanese
- *
- */
- @XmlEnumValue("ja")
- JA("ja"),
-
- /**
- * Javanese
- *
- */
- @XmlEnumValue("jv")
- JV("jv"),
-
- /**
- * Georgian
- *
- */
- @XmlEnumValue("ka")
- KA("ka"),
-
- /**
- * Kongo
- *
- */
- @XmlEnumValue("kg")
- KG("kg"),
-
- /**
- * Korean
- *
- */
- @XmlEnumValue("ko")
- KO("ko"),
-
- /**
- * Kurdish
- *
- */
- @XmlEnumValue("ku")
- KU("ku"),
-
- /**
- * Cornish
- *
- */
- @XmlEnumValue("kw")
- KW("kw"),
-
- /**
- * Kirghiz
- *
- */
- @XmlEnumValue("ky")
- KY("ky"),
-
- /**
- * Luxembourgish; Letzeburgesch
- *
- */
- @XmlEnumValue("lb")
- LB("lb"),
-
- /**
- * Limburgan; Limburger; Limburgish
- *
- */
- @XmlEnumValue("li")
- LI("li"),
-
- /**
- * Lingala
- *
- */
- @XmlEnumValue("ln")
- LN("ln"),
-
- /**
- * Lithuanian
- *
- */
- @XmlEnumValue("lt")
- LT("lt"),
-
- /**
- * Latvian
- *
- */
- @XmlEnumValue("lv")
- LV("lv"),
-
- /**
- * Malagasy
- *
- */
- @XmlEnumValue("mg")
- MG("mg"),
-
- /**
- * Macedonian
- *
- */
- @XmlEnumValue("mk")
- MK("mk"),
-
- /**
- * Mongolian
- *
- */
- @XmlEnumValue("mn")
- MN("mn"),
-
- /**
- * Moldavian
- *
- */
- @XmlEnumValue("mo")
- MO("mo"),
-
- /**
- * Malay
- *
- */
- @XmlEnumValue("ms")
- MS("ms"),
-
- /**
- * Maltese
- *
- */
- @XmlEnumValue("mt")
- MT("mt"),
-
- /**
- * Burmese
- *
- */
- @XmlEnumValue("my")
- MY("my"),
-
- /**
- * Norwegian
- *
- */
- @XmlEnumValue("nb")
- NB("nb"),
-
- /**
- * Nepali
- *
- */
- @XmlEnumValue("ne")
- NE("ne"),
-
- /**
- * Dutch
- *
- */
- @XmlEnumValue("nl")
- NL("nl"),
-
- /**
- * Norwegian (Nynorsk)
- *
- */
- @XmlEnumValue("nn")
- NN("nn"),
-
- /**
- * Norwegian
- *
- */
- @XmlEnumValue("no")
- NO("no"),
-
- /**
- * Polish
- *
- */
- @XmlEnumValue("pl")
- PL("pl"),
-
- /**
- * Portuguese
- *
- */
- @XmlEnumValue("pt")
- PT("pt"),
-
- /**
- * Raeto-Romance
- *
- */
- @XmlEnumValue("rm")
- RM("rm"),
-
- /**
- * Romanian
- *
- */
- @XmlEnumValue("ro")
- RO("ro"),
-
- /**
- * Russian
- *
- */
- @XmlEnumValue("ru")
- RU("ru"),
-
- /**
- * Sardinian
- *
- */
- @XmlEnumValue("sc")
- SC("sc"),
-
- /**
- * Northern Sami
- *
- */
- @XmlEnumValue("se")
- SE("se"),
-
- /**
- * Slovak
- *
- */
- @XmlEnumValue("sk")
- SK("sk"),
-
- /**
- * Slovenian
- *
- */
- @XmlEnumValue("sl")
- SL("sl"),
-
- /**
- * Somali
- *
- */
- @XmlEnumValue("so")
- SO("so"),
-
- /**
- * Albanian
- *
- */
- @XmlEnumValue("sq")
- SQ("sq"),
-
- /**
- * Serbian
- *
- */
- @XmlEnumValue("sr")
- SR("sr"),
-
- /**
- * Swedish
- *
- */
- @XmlEnumValue("sv")
- SV("sv"),
-
- /**
- * Swahili
- *
- */
- @XmlEnumValue("sw")
- SW("sw"),
-
- /**
- * Turkmen
- *
- */
- @XmlEnumValue("tk")
- TK("tk"),
-
- /**
- * Turkish
- *
- */
- @XmlEnumValue("tr")
- TR("tr"),
-
- /**
- * Tahitian
- *
- */
- @XmlEnumValue("ty")
- TY("ty"),
-
- /**
- * Ukrainian
- *
- */
- @XmlEnumValue("uk")
- UK("uk"),
-
- /**
- * Urdu
- *
- */
- @XmlEnumValue("ur")
- UR("ur"),
-
- /**
- * Uzbek
- *
- */
- @XmlEnumValue("uz")
- UZ("uz"),
-
- /**
- * Vietnamese
- *
- */
- @XmlEnumValue("vi")
- VI("vi"),
-
- /**
- * Yiddish
- *
- */
- @XmlEnumValue("yi")
- YI("yi"),
-
- /**
- * Chinese
- *
- */
- @XmlEnumValue("zh")
- ZH("zh"),
-
- /**
- * Church Slavic
- *
- */
- @XmlEnumValue("cu")
- CU("cu"),
-
- /**
- * Esperanto
- *
- */
- @XmlEnumValue("eo")
- EO("eo"),
-
- /**
- * Latin
- *
- */
- @XmlEnumValue("la")
- LA("la"),
-
- /**
- * Occitan (post 1500);
- *
- */
- @XmlEnumValue("oc")
- OC("oc"),
-
- /**
- * VVola
- *
- */
- @XmlEnumValue("vo")
- VO("vo");
- private final String value;
-
- LanguageType(String v) {
- value = v;
- }
-
- public String value() {
- return value;
- }
-
- public static LanguageType fromValue(String v) {
- for (LanguageType c: LanguageType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ /**
+ * Abkhazian
+ *
+ */
+ @XmlEnumValue("ab")
+ AB("ab"),
+
+ /**
+ * Afrikaans
+ *
+ */
+ @XmlEnumValue("af")
+ AF("af"),
+
+ /**
+ * Aragonese
+ *
+ */
+ @XmlEnumValue("an")
+ AN("an"),
+
+ /**
+ * Arabic
+ *
+ */
+ @XmlEnumValue("ar")
+ AR("ar"),
+
+ /**
+ * Assamese
+ *
+ */
+ @XmlEnumValue("as")
+ AS("as"),
+
+ /**
+ * Azerbaijani
+ *
+ */
+ @XmlEnumValue("az")
+ AZ("az"),
+
+ /**
+ * Belarusian
+ *
+ */
+ @XmlEnumValue("be")
+ BE("be"),
+
+ /**
+ * Bulgarian
+ *
+ */
+ @XmlEnumValue("bg")
+ BG("bg"),
+
+ /**
+ * Bengali
+ *
+ */
+ @XmlEnumValue("bn")
+ BN("bn"),
+
+ /**
+ * Tibetan
+ *
+ */
+ @XmlEnumValue("bo")
+ BO("bo"),
+
+ /**
+ * Breton
+ *
+ */
+ @XmlEnumValue("br")
+ BR("br"),
+
+ /**
+ * Bosnian
+ *
+ */
+ @XmlEnumValue("bs")
+ BS("bs"),
+
+ /**
+ * Catalan / Valencian
+ *
+ */
+ @XmlEnumValue("ca")
+ CA("ca"),
+
+ /**
+ * Chechen
+ *
+ */
+ @XmlEnumValue("ce")
+ CE("ce"),
+
+ /**
+ * Corsican
+ *
+ */
+ @XmlEnumValue("co")
+ CO("co"),
+
+ /**
+ * Czech
+ *
+ */
+ @XmlEnumValue("cs")
+ CS("cs"),
+
+ /**
+ * Welsh
+ *
+ */
+ @XmlEnumValue("cy")
+ CY("cy"),
+
+ /**
+ * Danish
+ *
+ */
+ @XmlEnumValue("da")
+ DA("da"),
+
+ /**
+ * German
+ *
+ */
+ @XmlEnumValue("de")
+ DE("de"),
+
+ /**
+ * Greek
+ *
+ */
+ @XmlEnumValue("el")
+ EL("el"),
+
+ /**
+ * English
+ *
+ */
+ @XmlEnumValue("en")
+ EN("en"),
+
+ /**
+ * Spanish / Castilian
+ *
+ */
+ @XmlEnumValue("es")
+ ES("es"),
+
+ /**
+ * Estonian
+ *
+ */
+ @XmlEnumValue("et")
+ ET("et"),
+
+ /**
+ * Basque
+ *
+ */
+ @XmlEnumValue("eu")
+ EU("eu"),
+
+ /**
+ * Persian
+ *
+ */
+ @XmlEnumValue("fa")
+ FA("fa"),
+
+ /**
+ * Finnish
+ *
+ */
+ @XmlEnumValue("fi")
+ FI("fi"),
+
+ /**
+ * Fijian
+ *
+ */
+ @XmlEnumValue("fj")
+ FJ("fj"),
+
+ /**
+ * Faroese
+ *
+ */
+ @XmlEnumValue("fo")
+ FO("fo"),
+
+ /**
+ * French
+ *
+ */
+ @XmlEnumValue("fr")
+ FR("fr"),
+
+ /**
+ * Western Frisian
+ *
+ */
+ @XmlEnumValue("fy")
+ FY("fy"),
+
+ /**
+ * Irish
+ *
+ */
+ @XmlEnumValue("ga")
+ GA("ga"),
+
+ /**
+ * Gaelic / Scottish Gaelic
+ *
+ */
+ @XmlEnumValue("gd")
+ GD("gd"),
+
+ /**
+ * Galician
+ *
+ */
+ @XmlEnumValue("gl")
+ GL("gl"),
+
+ /**
+ * Manx
+ *
+ */
+ @XmlEnumValue("gv")
+ GV("gv"),
+
+ /**
+ * Ancient Greek
+ *
+ */
+ @XmlEnumValue("grc")
+ GRC("grc"),
+
+ /**
+ * Alemanic; Swiss German
+ *
+ */
+ @XmlEnumValue("gsw")
+ GSW("gsw"),
+
+ /**
+ * Hebrew
+ *
+ */
+ @XmlEnumValue("he")
+ HE("he"),
+
+ /**
+ * Hindi
+ *
+ */
+ @XmlEnumValue("hi")
+ HI("hi"),
+
+ /**
+ * Croatian
+ *
+ */
+ @XmlEnumValue("hr")
+ HR("hr"),
+
+ /**
+ * Haitian; Haitian Creole
+ *
+ */
+ @XmlEnumValue("ht")
+ HT("ht"),
+
+ /**
+ * Hungarian
+ *
+ */
+ @XmlEnumValue("hu")
+ HU("hu"),
+
+ /**
+ * Armenian
+ *
+ */
+ @XmlEnumValue("hy")
+ HY("hy"),
+
+ /**
+ * Indonesian
+ *
+ */
+ @XmlEnumValue("id")
+ ID("id"),
+
+ /**
+ * Icelandic
+ *
+ */
+ @XmlEnumValue("is")
+ IS("is"),
+
+ /**
+ * Italian
+ *
+ */
+ @XmlEnumValue("it")
+ IT("it"),
+
+ /**
+ * Japanese
+ *
+ */
+ @XmlEnumValue("ja")
+ JA("ja"),
+
+ /**
+ * Javanese
+ *
+ */
+ @XmlEnumValue("jv")
+ JV("jv"),
+
+ /**
+ * Georgian
+ *
+ */
+ @XmlEnumValue("ka")
+ KA("ka"),
+
+ /**
+ * Kongo
+ *
+ */
+ @XmlEnumValue("kg")
+ KG("kg"),
+
+ /**
+ * Korean
+ *
+ */
+ @XmlEnumValue("ko")
+ KO("ko"),
+
+ /**
+ * Kurdish
+ *
+ */
+ @XmlEnumValue("ku")
+ KU("ku"),
+
+ /**
+ * Cornish
+ *
+ */
+ @XmlEnumValue("kw")
+ KW("kw"),
+
+ /**
+ * Kirghiz
+ *
+ */
+ @XmlEnumValue("ky")
+ KY("ky"),
+
+ /**
+ * Luxembourgish; Letzeburgesch
+ *
+ */
+ @XmlEnumValue("lb")
+ LB("lb"),
+
+ /**
+ * Limburgan; Limburger; Limburgish
+ *
+ */
+ @XmlEnumValue("li")
+ LI("li"),
+
+ /**
+ * Lingala
+ *
+ */
+ @XmlEnumValue("ln")
+ LN("ln"),
+
+ /**
+ * Lithuanian
+ *
+ */
+ @XmlEnumValue("lt")
+ LT("lt"),
+
+ /**
+ * Latvian
+ *
+ */
+ @XmlEnumValue("lv")
+ LV("lv"),
+
+ /**
+ * Malagasy
+ *
+ */
+ @XmlEnumValue("mg")
+ MG("mg"),
+
+ /**
+ * Macedonian
+ *
+ */
+ @XmlEnumValue("mk")
+ MK("mk"),
+
+ /**
+ * Mongolian
+ *
+ */
+ @XmlEnumValue("mn")
+ MN("mn"),
+
+ /**
+ * Moldavian
+ *
+ */
+ @XmlEnumValue("mo")
+ MO("mo"),
+
+ /**
+ * Malay
+ *
+ */
+ @XmlEnumValue("ms")
+ MS("ms"),
+
+ /**
+ * Maltese
+ *
+ */
+ @XmlEnumValue("mt")
+ MT("mt"),
+
+ /**
+ * Burmese
+ *
+ */
+ @XmlEnumValue("my")
+ MY("my"),
+
+ /**
+ * Norwegian
+ *
+ */
+ @XmlEnumValue("nb")
+ NB("nb"),
+
+ /**
+ * Nepali
+ *
+ */
+ @XmlEnumValue("ne")
+ NE("ne"),
+
+ /**
+ * Dutch
+ *
+ */
+ @XmlEnumValue("nl")
+ NL("nl"),
+
+ /**
+ * Norwegian (Nynorsk)
+ *
+ */
+ @XmlEnumValue("nn")
+ NN("nn"),
+
+ /**
+ * Norwegian
+ *
+ */
+ @XmlEnumValue("no")
+ NO("no"),
+
+ /**
+ * Polish
+ *
+ */
+ @XmlEnumValue("pl")
+ PL("pl"),
+
+ /**
+ * Portuguese
+ *
+ */
+ @XmlEnumValue("pt")
+ PT("pt"),
+
+ /**
+ * Raeto-Romance
+ *
+ */
+ @XmlEnumValue("rm")
+ RM("rm"),
+
+ /**
+ * Romanian
+ *
+ */
+ @XmlEnumValue("ro")
+ RO("ro"),
+
+ /**
+ * Russian
+ *
+ */
+ @XmlEnumValue("ru")
+ RU("ru"),
+
+ /**
+ * Sardinian
+ *
+ */
+ @XmlEnumValue("sc")
+ SC("sc"),
+
+ /**
+ * Northern Sami
+ *
+ */
+ @XmlEnumValue("se")
+ SE("se"),
+
+ /**
+ * Slovak
+ *
+ */
+ @XmlEnumValue("sk")
+ SK("sk"),
+
+ /**
+ * Slovenian
+ *
+ */
+ @XmlEnumValue("sl")
+ SL("sl"),
+
+ /**
+ * Somali
+ *
+ */
+ @XmlEnumValue("so")
+ SO("so"),
+
+ /**
+ * Albanian
+ *
+ */
+ @XmlEnumValue("sq")
+ SQ("sq"),
+
+ /**
+ * Serbian
+ *
+ */
+ @XmlEnumValue("sr")
+ SR("sr"),
+
+ /**
+ * Swedish
+ *
+ */
+ @XmlEnumValue("sv")
+ SV("sv"),
+
+ /**
+ * Swahili
+ *
+ */
+ @XmlEnumValue("sw")
+ SW("sw"),
+
+ /**
+ * Turkmen
+ *
+ */
+ @XmlEnumValue("tk")
+ TK("tk"),
+
+ /**
+ * Turkish
+ *
+ */
+ @XmlEnumValue("tr")
+ TR("tr"),
+
+ /**
+ * Tahitian
+ *
+ */
+ @XmlEnumValue("ty")
+ TY("ty"),
+
+ /**
+ * Ukrainian
+ *
+ */
+ @XmlEnumValue("uk")
+ UK("uk"),
+
+ /**
+ * Urdu
+ *
+ */
+ @XmlEnumValue("ur")
+ UR("ur"),
+
+ /**
+ * Uzbek
+ *
+ */
+ @XmlEnumValue("uz")
+ UZ("uz"),
+
+ /**
+ * Vietnamese
+ *
+ */
+ @XmlEnumValue("vi")
+ VI("vi"),
+
+ /**
+ * Yiddish
+ *
+ */
+ @XmlEnumValue("yi")
+ YI("yi"),
+
+ /**
+ * Chinese
+ *
+ */
+ @XmlEnumValue("zh")
+ ZH("zh"),
+
+ /**
+ * Church Slavic
+ *
+ */
+ @XmlEnumValue("cu")
+ CU("cu"),
+
+ /**
+ * Esperanto
+ *
+ */
+ @XmlEnumValue("eo")
+ EO("eo"),
+
+ /**
+ * Latin
+ *
+ */
+ @XmlEnumValue("la")
+ LA("la"),
+
+ /**
+ * Occitan (post 1500);
+ *
+ */
+ @XmlEnumValue("oc")
+ OC("oc"),
+
+ /**
+ * VVola
+ *
+ */
+ @XmlEnumValue("vo")
+ VO("vo");
+ private final String value;
+
+ LanguageType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static LanguageType fromValue(String v) {
+ for (LanguageType c : LanguageType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LanguagesOfInstructionAndExaminationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LanguagesOfInstructionAndExaminationType.java
index 202da42b4..6920b52de 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LanguagesOfInstructionAndExaminationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LanguagesOfInstructionAndExaminationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.math.BigDecimal;
@@ -17,13 +16,14 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Language of instruction and examination
*
- * <p>Java class for LanguagesOfInstructionAndExaminationType complex type.
+ * <p>
+ * Java class for LanguagesOfInstructionAndExaminationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="LanguagesOfInstructionAndExaminationType">
@@ -49,121 +49,110 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "LanguagesOfInstructionAndExaminationType", propOrder = {
- "language"
-})
+@XmlType(name = "LanguagesOfInstructionAndExaminationType", propOrder = { "language" })
public class LanguagesOfInstructionAndExaminationType {
- @XmlElement(name = "Language", required = true)
- protected List<LanguagesOfInstructionAndExaminationType.Language> language;
-
- /**
- * Gets the value of the language property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the language property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getLanguage().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link LanguagesOfInstructionAndExaminationType.Language }
- *
- *
- */
- public List<LanguagesOfInstructionAndExaminationType.Language> getLanguage() {
- if (language == null) {
- language = new ArrayList<LanguagesOfInstructionAndExaminationType.Language>();
- }
- return this.language;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}RichTextTagType">
- * &lt;attribute name="language" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}LanguageType" />
- * &lt;attribute name="percent" type="{urn:crue:academic:xsd:language:diplomasupplement}PercentType" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class Language
- extends RichTextTagType
- {
-
- @XmlAttribute(name = "language", required = true)
- protected LanguageType language;
- @XmlAttribute(name = "percent")
- protected BigDecimal percent;
-
- /**
- * Gets the value of the language property.
- *
- * @return
- * possible object is
- * {@link LanguageType }
- *
- */
- public LanguageType getLanguage() {
- return language;
- }
-
- /**
- * Sets the value of the language property.
- *
- * @param value
- * allowed object is
- * {@link LanguageType }
- *
- */
- public void setLanguage(LanguageType value) {
- this.language = value;
- }
-
- /**
- * Gets the value of the percent property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getPercent() {
- return percent;
- }
-
- /**
- * Sets the value of the percent property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setPercent(BigDecimal value) {
- this.percent = value;
- }
-
- }
+ @XmlElement(name = "Language", required = true)
+ protected List<LanguagesOfInstructionAndExaminationType.Language> language;
+
+ /**
+ * Gets the value of the language property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the language property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getLanguage().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link LanguagesOfInstructionAndExaminationType.Language }
+ *
+ *
+ */
+ public List<LanguagesOfInstructionAndExaminationType.Language> getLanguage() {
+ if (language == null) {
+ language = new ArrayList<LanguagesOfInstructionAndExaminationType.Language>();
+ }
+ return this.language;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}RichTextTagType">
+ * &lt;attribute name="language" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}LanguageType" />
+ * &lt;attribute name="percent" type="{urn:crue:academic:xsd:language:diplomasupplement}PercentType" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class Language extends RichTextTagType {
+
+ @XmlAttribute(name = "language", required = true)
+ protected LanguageType language;
+ @XmlAttribute(name = "percent")
+ protected BigDecimal percent;
+
+ /**
+ * Gets the value of the language property.
+ *
+ * @return possible object is {@link LanguageType }
+ *
+ */
+ public LanguageType getLanguage() {
+ return language;
+ }
+
+ /**
+ * Sets the value of the language property.
+ *
+ * @param value
+ * allowed object is {@link LanguageType }
+ *
+ */
+ public void setLanguage(LanguageType value) {
+ this.language = value;
+ }
+
+ /**
+ * Gets the value of the percent property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getPercent() {
+ return percent;
+ }
+
+ /**
+ * Sets the value of the percent property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setPercent(BigDecimal value) {
+ this.percent = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LocalGradeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LocalGradeType.java
index 96c7b66dd..49291e403 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LocalGradeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/LocalGradeType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -16,13 +15,14 @@ import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
import javax.xml.datatype.XMLGregorianCalendar;
-
/**
* Local grade
*
- * <p>Java class for LocalGradeType complex type.
+ * <p>
+ * Java class for LocalGradeType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="LocalGradeType">
@@ -50,198 +50,174 @@ import javax.xml.datatype.XMLGregorianCalendar;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "LocalGradeType", propOrder = {
- "academicYear",
- "dateIssued",
- "grade",
- "source"
-})
+@XmlType(name = "LocalGradeType", propOrder = { "academicYear", "dateIssued", "grade", "source" })
public class LocalGradeType {
- @XmlElement(name = "AcademicYear", required = true)
- protected String academicYear;
- @XmlElement(name = "DateIssued")
- protected XMLGregorianCalendar dateIssued;
- @XmlElement(name = "Grade", required = true)
- protected String grade;
- @XmlElement(name = "Source")
- protected LocalGradeType.Source source;
-
- /**
- * Gets the value of the academicYear property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAcademicYear() {
- return academicYear;
- }
-
- /**
- * Sets the value of the academicYear property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAcademicYear(String value) {
- this.academicYear = value;
- }
-
- /**
- * Gets the value of the dateIssued property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getDateIssued() {
- return dateIssued;
- }
-
- /**
- * Sets the value of the dateIssued property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setDateIssued(XMLGregorianCalendar value) {
- this.dateIssued = value;
- }
-
- /**
- * Gets the value of the grade property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getGrade() {
- return grade;
- }
-
- /**
- * Sets the value of the grade property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setGrade(String value) {
- this.grade = value;
- }
-
- /**
- * Gets the value of the source property.
- *
- * @return
- * possible object is
- * {@link LocalGradeType.Source }
- *
- */
- public LocalGradeType.Source getSource() {
- return source;
- }
-
- /**
- * Sets the value of the source property.
- *
- * @param value
- * allowed object is
- * {@link LocalGradeType.Source }
- *
- */
- public void setSource(LocalGradeType.Source value) {
- this.source = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
- * &lt;attribute name="source" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}SourceGradeType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class Source {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "source", required = true)
- protected SourceGradeType source;
-
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the source property.
- *
- * @return
- * possible object is
- * {@link SourceGradeType }
- *
- */
- public SourceGradeType getSource() {
- return source;
- }
-
- /**
- * Sets the value of the source property.
- *
- * @param value
- * allowed object is
- * {@link SourceGradeType }
- *
- */
- public void setSource(SourceGradeType value) {
- this.source = value;
- }
-
- }
+ @XmlElement(name = "AcademicYear", required = true)
+ protected String academicYear;
+ @XmlElement(name = "DateIssued")
+ protected XMLGregorianCalendar dateIssued;
+ @XmlElement(name = "Grade", required = true)
+ protected String grade;
+ @XmlElement(name = "Source")
+ protected LocalGradeType.Source source;
+
+ /**
+ * Gets the value of the academicYear property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAcademicYear() {
+ return academicYear;
+ }
+
+ /**
+ * Sets the value of the academicYear property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAcademicYear(String value) {
+ this.academicYear = value;
+ }
+
+ /**
+ * Gets the value of the dateIssued property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateIssued() {
+ return dateIssued;
+ }
+
+ /**
+ * Sets the value of the dateIssued property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateIssued(XMLGregorianCalendar value) {
+ this.dateIssued = value;
+ }
+
+ /**
+ * Gets the value of the grade property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getGrade() {
+ return grade;
+ }
+
+ /**
+ * Sets the value of the grade property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setGrade(String value) {
+ this.grade = value;
+ }
+
+ /**
+ * Gets the value of the source property.
+ *
+ * @return possible object is {@link LocalGradeType.Source }
+ *
+ */
+ public LocalGradeType.Source getSource() {
+ return source;
+ }
+
+ /**
+ * Sets the value of the source property.
+ *
+ * @param value
+ * allowed object is {@link LocalGradeType.Source }
+ *
+ */
+ public void setSource(LocalGradeType.Source value) {
+ this.source = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
+ * &lt;attribute name="source" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}SourceGradeType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class Source {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "source", required = true)
+ protected SourceGradeType source;
+
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the source property.
+ *
+ * @return possible object is {@link SourceGradeType }
+ *
+ */
+ public SourceGradeType getSource() {
+ return source;
+ }
+
+ /**
+ * Sets the value of the source property.
+ *
+ * @param value
+ * allowed object is {@link SourceGradeType }
+ *
+ */
+ public void setSource(SourceGradeType value) {
+ this.source = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MimeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MimeType.java
index a83d3bf21..c4e131862 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MimeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MimeType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for MimeType.
+ * <p>
+ * Java class for MimeType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="MimeType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -37,72 +38,71 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum MimeType {
-
- /**
- * GIF image
- *
- */
- @XmlEnumValue("image/gif")
- IMAGE_GIF("image/gif"),
-
- /**
- * JPEG JFIF image
- *
- */
- @XmlEnumValue("image/jpeg")
- IMAGE_JPEG("image/jpeg"),
-
- /**
- * JPEG JFIF image
- *
- */
- @XmlEnumValue("image/pjpeg")
- IMAGE_PJPEG("image/pjpeg"),
-
- /**
- * Portable Network Graphics
- *
- */
- @XmlEnumValue("image/png")
- IMAGE_PNG("image/png"),
-
- /**
- * Tag Image File Format
- *
- */
- @XmlEnumValue("image/tiff")
- IMAGE_TIFF("image/tiff"),
-
- /**
- * HTML
- *
- */
- @XmlEnumValue("text/html")
- TEXT_HTML("text/html"),
-
- /**
- * Portable Document Format
- *
- */
- @XmlEnumValue("application/pdf")
- APPLICATION_PDF("application/pdf");
- private final String value;
-
- MimeType(String v) {
- value = v;
- }
-
- public String value() {
- return value;
- }
-
- public static MimeType fromValue(String v) {
- for (MimeType c: MimeType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ /**
+ * GIF image
+ *
+ */
+ @XmlEnumValue("image/gif")
+ IMAGE_GIF("image/gif"),
+
+ /**
+ * JPEG JFIF image
+ *
+ */
+ @XmlEnumValue("image/jpeg")
+ IMAGE_JPEG("image/jpeg"),
+
+ /**
+ * JPEG JFIF image
+ *
+ */
+ @XmlEnumValue("image/pjpeg")
+ IMAGE_PJPEG("image/pjpeg"),
+
+ /**
+ * Portable Network Graphics
+ *
+ */
+ @XmlEnumValue("image/png")
+ IMAGE_PNG("image/png"),
+
+ /**
+ * Tag Image File Format
+ *
+ */
+ @XmlEnumValue("image/tiff")
+ IMAGE_TIFF("image/tiff"),
+
+ /**
+ * HTML
+ *
+ */
+ @XmlEnumValue("text/html")
+ TEXT_HTML("text/html"),
+
+ /**
+ * Portable Document Format
+ *
+ */
+ @XmlEnumValue("application/pdf")
+ APPLICATION_PDF("application/pdf");
+ private final String value;
+
+ MimeType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static MimeType fromValue(String v) {
+ for (MimeType c : MimeType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeCourseUnitType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeCourseUnitType.java
index e54f9c61a..9ed52c50d 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeCourseUnitType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeCourseUnitType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.math.BigDecimal;
@@ -16,13 +15,14 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-
/**
* Mobility programme course unit
*
- * <p>Java class for MobilityProgrammeCourseUnitType complex type.
+ * <p>
+ * Java class for MobilityProgrammeCourseUnitType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="MobilityProgrammeCourseUnitType">
@@ -51,228 +51,201 @@ import javax.xml.bind.annotation.XmlValue;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "MobilityProgrammeCourseUnitType", propOrder = {
- "code",
- "title",
- "ectsCredits",
- "additionalInformation"
-})
+@XmlType(name = "MobilityProgrammeCourseUnitType", propOrder = { "code", "title", "ectsCredits", "additionalInformation" })
public class MobilityProgrammeCourseUnitType {
- @XmlElement(name = "Code")
- protected String code;
- @XmlElement(name = "Title", required = true)
- protected MobilityProgrammeCourseUnitType.Title title;
- @XmlElement(name = "ECTSCredits")
- protected BigDecimal ectsCredits;
- @XmlElement(name = "AdditionalInformation")
- protected RichTextTagType additionalInformation;
- @XmlAttribute(name = "isInTheLearningAgreement")
- protected Boolean isInTheLearningAgreement;
-
- /**
- * Gets the value of the code property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCode() {
- return code;
- }
-
- /**
- * Sets the value of the code property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCode(String value) {
- this.code = value;
- }
-
- /**
- * Gets the value of the title property.
- *
- * @return
- * possible object is
- * {@link MobilityProgrammeCourseUnitType.Title }
- *
- */
- public MobilityProgrammeCourseUnitType.Title getTitle() {
- return title;
- }
-
- /**
- * Sets the value of the title property.
- *
- * @param value
- * allowed object is
- * {@link MobilityProgrammeCourseUnitType.Title }
- *
- */
- public void setTitle(MobilityProgrammeCourseUnitType.Title value) {
- this.title = value;
- }
-
- /**
- * Gets the value of the ectsCredits property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getECTSCredits() {
- return ectsCredits;
- }
-
- /**
- * Sets the value of the ectsCredits property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setECTSCredits(BigDecimal value) {
- this.ectsCredits = value;
- }
-
- /**
- * Gets the value of the additionalInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getAdditionalInformation() {
- return additionalInformation;
- }
-
- /**
- * Sets the value of the additionalInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setAdditionalInformation(RichTextTagType value) {
- this.additionalInformation = value;
- }
-
- /**
- * Gets the value of the isInTheLearningAgreement property.
- *
- * @return
- * possible object is
- * {@link Boolean }
- *
- */
- public boolean isIsInTheLearningAgreement() {
- if (isInTheLearningAgreement == null) {
- return true;
- } else {
- return isInTheLearningAgreement;
- }
- }
-
- /**
- * Sets the value of the isInTheLearningAgreement property.
- *
- * @param value
- * allowed object is
- * {@link Boolean }
- *
- */
- public void setIsInTheLearningAgreement(Boolean value) {
- this.isInTheLearningAgreement = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
- * &lt;attribute name="language" type="{urn:crue:academic:xsd:language:diplomasupplement}LanguageType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class Title {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "language")
- protected LanguageType language;
-
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the language property.
- *
- * @return
- * possible object is
- * {@link LanguageType }
- *
- */
- public LanguageType getLanguage() {
- return language;
- }
-
- /**
- * Sets the value of the language property.
- *
- * @param value
- * allowed object is
- * {@link LanguageType }
- *
- */
- public void setLanguage(LanguageType value) {
- this.language = value;
- }
-
- }
+ @XmlElement(name = "Code")
+ protected String code;
+ @XmlElement(name = "Title", required = true)
+ protected MobilityProgrammeCourseUnitType.Title title;
+ @XmlElement(name = "ECTSCredits")
+ protected BigDecimal ectsCredits;
+ @XmlElement(name = "AdditionalInformation")
+ protected RichTextTagType additionalInformation;
+ @XmlAttribute(name = "isInTheLearningAgreement")
+ protected Boolean isInTheLearningAgreement;
+
+ /**
+ * Gets the value of the code property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCode() {
+ return code;
+ }
+
+ /**
+ * Sets the value of the code property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCode(String value) {
+ this.code = value;
+ }
+
+ /**
+ * Gets the value of the title property.
+ *
+ * @return possible object is {@link MobilityProgrammeCourseUnitType.Title }
+ *
+ */
+ public MobilityProgrammeCourseUnitType.Title getTitle() {
+ return title;
+ }
+
+ /**
+ * Sets the value of the title property.
+ *
+ * @param value
+ * allowed object is {@link MobilityProgrammeCourseUnitType.Title }
+ *
+ */
+ public void setTitle(MobilityProgrammeCourseUnitType.Title value) {
+ this.title = value;
+ }
+
+ /**
+ * Gets the value of the ectsCredits property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getECTSCredits() {
+ return ectsCredits;
+ }
+
+ /**
+ * Sets the value of the ectsCredits property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setECTSCredits(BigDecimal value) {
+ this.ectsCredits = value;
+ }
+
+ /**
+ * Gets the value of the additionalInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getAdditionalInformation() {
+ return additionalInformation;
+ }
+
+ /**
+ * Sets the value of the additionalInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setAdditionalInformation(RichTextTagType value) {
+ this.additionalInformation = value;
+ }
+
+ /**
+ * Gets the value of the isInTheLearningAgreement property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isIsInTheLearningAgreement() {
+ if (isInTheLearningAgreement == null) {
+ return true;
+ } else {
+ return isInTheLearningAgreement;
+ }
+ }
+
+ /**
+ * Sets the value of the isInTheLearningAgreement property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setIsInTheLearningAgreement(Boolean value) {
+ this.isInTheLearningAgreement = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
+ * &lt;attribute name="language" type="{urn:crue:academic:xsd:language:diplomasupplement}LanguageType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class Title {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "language")
+ protected LanguageType language;
+
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the language property.
+ *
+ * @return possible object is {@link LanguageType }
+ *
+ */
+ public LanguageType getLanguage() {
+ return language;
+ }
+
+ /**
+ * Sets the value of the language property.
+ *
+ * @param value
+ * allowed object is {@link LanguageType }
+ *
+ */
+ public void setLanguage(LanguageType value) {
+ this.language = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeCoursesUnitsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeCoursesUnitsType.java
index 557c6610c..4ec7f4424 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeCoursesUnitsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeCoursesUnitsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -15,13 +14,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Mobility programme courses units
*
- * <p>Java class for MobilityProgrammeCoursesUnitsType complex type.
+ * <p>
+ * Java class for MobilityProgrammeCoursesUnitsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="MobilityProgrammeCoursesUnitsType">
@@ -38,41 +38,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "MobilityProgrammeCoursesUnitsType", propOrder = {
- "courseUnit"
-})
+@XmlType(name = "MobilityProgrammeCoursesUnitsType", propOrder = { "courseUnit" })
public class MobilityProgrammeCoursesUnitsType {
- @XmlElement(name = "CourseUnit", required = true)
- protected List<MobilityProgrammeCourseUnitType> courseUnit;
+ @XmlElement(name = "CourseUnit", required = true)
+ protected List<MobilityProgrammeCourseUnitType> courseUnit;
- /**
- * Gets the value of the courseUnit property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the courseUnit property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getCourseUnit().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link MobilityProgrammeCourseUnitType }
- *
- *
- */
- public List<MobilityProgrammeCourseUnitType> getCourseUnit() {
- if (courseUnit == null) {
- courseUnit = new ArrayList<MobilityProgrammeCourseUnitType>();
- }
- return this.courseUnit;
- }
+ /**
+ * Gets the value of the courseUnit property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the courseUnit property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getCourseUnit().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link MobilityProgrammeCourseUnitType }
+ *
+ *
+ */
+ public List<MobilityProgrammeCourseUnitType> getCourseUnit() {
+ if (courseUnit == null) {
+ courseUnit = new ArrayList<MobilityProgrammeCourseUnitType>();
+ }
+ return this.courseUnit;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeType.java
index 0c91a826c..02528aea2 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MobilityProgrammeType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -16,13 +15,14 @@ import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
import javax.xml.datatype.XMLGregorianCalendar;
-
/**
* Mobility programme
*
- * <p>Java class for MobilityProgrammeType complex type.
+ * <p>
+ * Java class for MobilityProgrammeType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="MobilityProgrammeType">
@@ -54,306 +54,266 @@ import javax.xml.datatype.XMLGregorianCalendar;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "MobilityProgrammeType", propOrder = {
- "type",
- "fieldOfStudy",
- "country",
- "receivingInstitutionName",
- "academicYear",
- "dateFrom",
- "dateTo",
- "coursesUnits"
-})
+@XmlType(name = "MobilityProgrammeType", propOrder = { "type", "fieldOfStudy", "country", "receivingInstitutionName", "academicYear", "dateFrom", "dateTo", "coursesUnits" })
public class MobilityProgrammeType {
- @XmlElement(name = "Type", required = true)
- protected String type;
- @XmlElement(name = "FieldOfStudy")
- protected String fieldOfStudy;
- @XmlElement(name = "Country", required = true)
- protected MobilityProgrammeType.Country country;
- @XmlElement(name = "ReceivingInstitutionName", required = true)
- protected String receivingInstitutionName;
- @XmlElement(name = "AcademicYear", required = true)
- protected String academicYear;
- @XmlElement(name = "DateFrom")
- protected XMLGregorianCalendar dateFrom;
- @XmlElement(name = "DateTo")
- protected XMLGregorianCalendar dateTo;
- @XmlElement(name = "CoursesUnits", required = true)
- protected MobilityProgrammeCoursesUnitsType coursesUnits;
-
- /**
- * Gets the value of the type property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getType() {
- return type;
- }
+ @XmlElement(name = "Type", required = true)
+ protected String type;
+ @XmlElement(name = "FieldOfStudy")
+ protected String fieldOfStudy;
+ @XmlElement(name = "Country", required = true)
+ protected MobilityProgrammeType.Country country;
+ @XmlElement(name = "ReceivingInstitutionName", required = true)
+ protected String receivingInstitutionName;
+ @XmlElement(name = "AcademicYear", required = true)
+ protected String academicYear;
+ @XmlElement(name = "DateFrom")
+ protected XMLGregorianCalendar dateFrom;
+ @XmlElement(name = "DateTo")
+ protected XMLGregorianCalendar dateTo;
+ @XmlElement(name = "CoursesUnits", required = true)
+ protected MobilityProgrammeCoursesUnitsType coursesUnits;
- /**
- * Sets the value of the type property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setType(String value) {
- this.type = value;
- }
+ /**
+ * Gets the value of the type property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getType() {
+ return type;
+ }
- /**
- * Gets the value of the fieldOfStudy property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getFieldOfStudy() {
- return fieldOfStudy;
- }
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setType(String value) {
+ this.type = value;
+ }
- /**
- * Sets the value of the fieldOfStudy property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setFieldOfStudy(String value) {
- this.fieldOfStudy = value;
- }
+ /**
+ * Gets the value of the fieldOfStudy property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getFieldOfStudy() {
+ return fieldOfStudy;
+ }
- /**
- * Gets the value of the country property.
- *
- * @return
- * possible object is
- * {@link MobilityProgrammeType.Country }
- *
- */
- public MobilityProgrammeType.Country getCountry() {
- return country;
- }
+ /**
+ * Sets the value of the fieldOfStudy property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setFieldOfStudy(String value) {
+ this.fieldOfStudy = value;
+ }
- /**
- * Sets the value of the country property.
- *
- * @param value
- * allowed object is
- * {@link MobilityProgrammeType.Country }
- *
- */
- public void setCountry(MobilityProgrammeType.Country value) {
- this.country = value;
- }
+ /**
+ * Gets the value of the country property.
+ *
+ * @return possible object is {@link MobilityProgrammeType.Country }
+ *
+ */
+ public MobilityProgrammeType.Country getCountry() {
+ return country;
+ }
- /**
- * Gets the value of the receivingInstitutionName property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getReceivingInstitutionName() {
- return receivingInstitutionName;
- }
+ /**
+ * Sets the value of the country property.
+ *
+ * @param value
+ * allowed object is {@link MobilityProgrammeType.Country }
+ *
+ */
+ public void setCountry(MobilityProgrammeType.Country value) {
+ this.country = value;
+ }
- /**
- * Sets the value of the receivingInstitutionName property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setReceivingInstitutionName(String value) {
- this.receivingInstitutionName = value;
- }
+ /**
+ * Gets the value of the receivingInstitutionName property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getReceivingInstitutionName() {
+ return receivingInstitutionName;
+ }
- /**
- * Gets the value of the academicYear property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAcademicYear() {
- return academicYear;
- }
+ /**
+ * Sets the value of the receivingInstitutionName property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setReceivingInstitutionName(String value) {
+ this.receivingInstitutionName = value;
+ }
- /**
- * Sets the value of the academicYear property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAcademicYear(String value) {
- this.academicYear = value;
- }
+ /**
+ * Gets the value of the academicYear property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAcademicYear() {
+ return academicYear;
+ }
- /**
- * Gets the value of the dateFrom property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getDateFrom() {
- return dateFrom;
- }
+ /**
+ * Sets the value of the academicYear property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAcademicYear(String value) {
+ this.academicYear = value;
+ }
- /**
- * Sets the value of the dateFrom property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setDateFrom(XMLGregorianCalendar value) {
- this.dateFrom = value;
- }
+ /**
+ * Gets the value of the dateFrom property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateFrom() {
+ return dateFrom;
+ }
- /**
- * Gets the value of the dateTo property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getDateTo() {
- return dateTo;
- }
+ /**
+ * Sets the value of the dateFrom property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateFrom(XMLGregorianCalendar value) {
+ this.dateFrom = value;
+ }
- /**
- * Sets the value of the dateTo property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setDateTo(XMLGregorianCalendar value) {
- this.dateTo = value;
- }
+ /**
+ * Gets the value of the dateTo property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateTo() {
+ return dateTo;
+ }
- /**
- * Gets the value of the coursesUnits property.
- *
- * @return
- * possible object is
- * {@link MobilityProgrammeCoursesUnitsType }
- *
- */
- public MobilityProgrammeCoursesUnitsType getCoursesUnits() {
- return coursesUnits;
- }
+ /**
+ * Sets the value of the dateTo property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateTo(XMLGregorianCalendar value) {
+ this.dateTo = value;
+ }
- /**
- * Sets the value of the coursesUnits property.
- *
- * @param value
- * allowed object is
- * {@link MobilityProgrammeCoursesUnitsType }
- *
- */
- public void setCoursesUnits(MobilityProgrammeCoursesUnitsType value) {
- this.coursesUnits = value;
- }
+ /**
+ * Gets the value of the coursesUnits property.
+ *
+ * @return possible object is {@link MobilityProgrammeCoursesUnitsType }
+ *
+ */
+ public MobilityProgrammeCoursesUnitsType getCoursesUnits() {
+ return coursesUnits;
+ }
+ /**
+ * Sets the value of the coursesUnits property.
+ *
+ * @param value
+ * allowed object is {@link MobilityProgrammeCoursesUnitsType }
+ *
+ */
+ public void setCoursesUnits(MobilityProgrammeCoursesUnitsType value) {
+ this.coursesUnits = value;
+ }
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
- * &lt;attribute name="country" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}CountryType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class Country {
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
+ * &lt;attribute name="country" use="required" type="{urn:crue:academic:xsd:language:diplomasupplement}CountryType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class Country {
- @XmlValue
- protected String value;
- @XmlAttribute(name = "country", required = true)
- protected CountryType country;
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "country", required = true)
+ protected CountryType country;
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
- /**
- * Gets the value of the country property.
- *
- * @return
- * possible object is
- * {@link CountryType }
- *
- */
- public CountryType getCountry() {
- return country;
- }
+ /**
+ * Gets the value of the country property.
+ *
+ * @return possible object is {@link CountryType }
+ *
+ */
+ public CountryType getCountry() {
+ return country;
+ }
- /**
- * Sets the value of the country property.
- *
- * @param value
- * allowed object is
- * {@link CountryType }
- *
- */
- public void setCountry(CountryType value) {
- this.country = value;
- }
+ /**
+ * Sets the value of the country property.
+ *
+ * @param value
+ * allowed object is {@link CountryType }
+ *
+ */
+ public void setCountry(CountryType value) {
+ this.country = value;
+ }
- }
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ModeOfDeliveryType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ModeOfDeliveryType.java
index 762ba0e99..23a4152de 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ModeOfDeliveryType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ModeOfDeliveryType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for ModeOfDeliveryType.
+ * <p>
+ * Java class for ModeOfDeliveryType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="ModeOfDeliveryType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -32,37 +33,36 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum ModeOfDeliveryType {
+ /**
+ * Face-to-face
+ *
+ */
+ @XmlEnumValue("FaceToFace")
+ FACE_TO_FACE("FaceToFace"),
- /**
- * Face-to-face
- *
- */
- @XmlEnumValue("FaceToFace")
- FACE_TO_FACE("FaceToFace"),
-
- /**
- * Distance learning
- *
- */
- @XmlEnumValue("DistanceLearning")
- DISTANCE_LEARNING("DistanceLearning");
- private final String value;
+ /**
+ * Distance learning
+ *
+ */
+ @XmlEnumValue("DistanceLearning")
+ DISTANCE_LEARNING("DistanceLearning");
+ private final String value;
- ModeOfDeliveryType(String v) {
- value = v;
- }
+ ModeOfDeliveryType(String v) {
+ value = v;
+ }
- public String value() {
- return value;
- }
+ public String value() {
+ return value;
+ }
- public static ModeOfDeliveryType fromValue(String v) {
- for (ModeOfDeliveryType c: ModeOfDeliveryType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ public static ModeOfDeliveryType fromValue(String v) {
+ for (ModeOfDeliveryType c : ModeOfDeliveryType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ModeOfStudyType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ModeOfStudyType.java
index c8f32a752..5cb0d2646 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ModeOfStudyType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ModeOfStudyType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for ModeOfStudyType.
+ * <p>
+ * Java class for ModeOfStudyType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="ModeOfStudyType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -35,58 +36,57 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum ModeOfStudyType {
+ /**
+ * Full time
+ *
+ */
+ @XmlEnumValue("FullTime")
+ FULL_TIME("FullTime"),
- /**
- * Full time
- *
- */
- @XmlEnumValue("FullTime")
- FULL_TIME("FullTime"),
-
- /**
- * Par time
- *
- */
- @XmlEnumValue("ParTime")
- PAR_TIME("ParTime"),
+ /**
+ * Par time
+ *
+ */
+ @XmlEnumValue("ParTime")
+ PAR_TIME("ParTime"),
- /**
- * Distance
- *
- */
- @XmlEnumValue("Distance")
- DISTANCE("Distance"),
+ /**
+ * Distance
+ *
+ */
+ @XmlEnumValue("Distance")
+ DISTANCE("Distance"),
- /**
- * eLearning
- *
- */
- @XmlEnumValue("eLearning")
- E_LEARNING("eLearning"),
+ /**
+ * eLearning
+ *
+ */
+ @XmlEnumValue("eLearning")
+ E_LEARNING("eLearning"),
- /**
- * Another
- *
- */
- @XmlEnumValue("Another")
- ANOTHER("Another");
- private final String value;
+ /**
+ * Another
+ *
+ */
+ @XmlEnumValue("Another")
+ ANOTHER("Another");
+ private final String value;
- ModeOfStudyType(String v) {
- value = v;
- }
+ ModeOfStudyType(String v) {
+ value = v;
+ }
- public String value() {
- return value;
- }
+ public String value() {
+ return value;
+ }
- public static ModeOfStudyType fromValue(String v) {
- for (ModeOfStudyType c: ModeOfStudyType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ public static ModeOfStudyType fromValue(String v) {
+ for (ModeOfStudyType c : ModeOfStudyType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MultilingualDiplomaSupplementType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MultilingualDiplomaSupplementType.java
index f4bd8a5d1..ab83f154e 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MultilingualDiplomaSupplementType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/MultilingualDiplomaSupplementType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -16,13 +15,14 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig.SignatureType;
-
/**
* Multilingual Diploma Supplement (DS)
*
- * <p>Java class for MultilingualDiplomaSupplementType complex type.
+ * <p>
+ * Java class for MultilingualDiplomaSupplementType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="MultilingualDiplomaSupplementType">
@@ -40,73 +40,66 @@ import eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig.SignatureType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "MultilingualDiplomaSupplementType", propOrder = {
- "diplomaSupplement",
- "signature"
-})
+@XmlType(name = "MultilingualDiplomaSupplementType", propOrder = { "diplomaSupplement", "signature" })
public class MultilingualDiplomaSupplementType {
- @XmlElement(name = "DiplomaSupplement", required = true)
- protected List<DiplomaSupplementType> diplomaSupplement;
- @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#")
- protected List<SignatureType> signature;
+ @XmlElement(name = "DiplomaSupplement", required = true)
+ protected List<DiplomaSupplementType> diplomaSupplement;
+ @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#")
+ protected List<SignatureType> signature;
- /**
- * Diploma Supplement Gets the value of the diplomaSupplement property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the diplomaSupplement property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getDiplomaSupplement().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link DiplomaSupplementType }
- *
- *
- */
- public List<DiplomaSupplementType> getDiplomaSupplement() {
- if (diplomaSupplement == null) {
- diplomaSupplement = new ArrayList<DiplomaSupplementType>();
- }
- return this.diplomaSupplement;
- }
+ /**
+ * Diploma Supplement Gets the value of the diplomaSupplement property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the diplomaSupplement property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getDiplomaSupplement().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link DiplomaSupplementType }
+ *
+ *
+ */
+ public List<DiplomaSupplementType> getDiplomaSupplement() {
+ if (diplomaSupplement == null) {
+ diplomaSupplement = new ArrayList<DiplomaSupplementType>();
+ }
+ return this.diplomaSupplement;
+ }
- /**
- * Digital signature Gets the value of the signature property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the signature property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getSignature().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link SignatureType }
- *
- *
- */
- public List<SignatureType> getSignature() {
- if (signature == null) {
- signature = new ArrayList<SignatureType>();
- }
- return this.signature;
- }
+ /**
+ * Digital signature Gets the value of the signature property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the signature property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getSignature().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link SignatureType }
+ *
+ *
+ */
+ public List<SignatureType> getSignature() {
+ if (signature == null) {
+ signature = new ArrayList<SignatureType>();
+ }
+ return this.signature;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/NameAndStatusOfAwardingInstitutionType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/NameAndStatusOfAwardingInstitutionType.java
index 063244c03..8424677c1 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/NameAndStatusOfAwardingInstitutionType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/NameAndStatusOfAwardingInstitutionType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -16,13 +15,14 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Name and status of awarding institution
*
- * <p>Java class for NameAndStatusOfAwardingInstitutionType complex type.
+ * <p>
+ * Java class for NameAndStatusOfAwardingInstitutionType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="NameAndStatusOfAwardingInstitutionType">
@@ -47,94 +47,86 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "NameAndStatusOfAwardingInstitutionType", propOrder = {
- "awardingInstitution"
-})
+@XmlType(name = "NameAndStatusOfAwardingInstitutionType", propOrder = { "awardingInstitution" })
public class NameAndStatusOfAwardingInstitutionType {
- @XmlElement(name = "AwardingInstitution", required = true)
- protected List<NameAndStatusOfAwardingInstitutionType.AwardingInstitution> awardingInstitution;
-
- /**
- * Gets the value of the awardingInstitution property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the awardingInstitution property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getAwardingInstitution().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link NameAndStatusOfAwardingInstitutionType.AwardingInstitution }
- *
- *
- */
- public List<NameAndStatusOfAwardingInstitutionType.AwardingInstitution> getAwardingInstitution() {
- if (awardingInstitution == null) {
- awardingInstitution = new ArrayList<NameAndStatusOfAwardingInstitutionType.AwardingInstitution>();
- }
- return this.awardingInstitution;
- }
+ @XmlElement(name = "AwardingInstitution", required = true)
+ protected List<NameAndStatusOfAwardingInstitutionType.AwardingInstitution> awardingInstitution;
+ /**
+ * Gets the value of the awardingInstitution property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the awardingInstitution property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getAwardingInstitution().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link NameAndStatusOfAwardingInstitutionType.AwardingInstitution }
+ *
+ *
+ */
+ public List<NameAndStatusOfAwardingInstitutionType.AwardingInstitution> getAwardingInstitution() {
+ if (awardingInstitution == null) {
+ awardingInstitution = new ArrayList<NameAndStatusOfAwardingInstitutionType.AwardingInstitution>();
+ }
+ return this.awardingInstitution;
+ }
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}InstitutionType">
- * &lt;attribute name="awardingInstitutionID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class AwardingInstitution
- extends InstitutionType
- {
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}InstitutionType">
+ * &lt;attribute name="awardingInstitutionID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class AwardingInstitution extends InstitutionType {
- @XmlAttribute(name = "awardingInstitutionID", required = true)
- protected String awardingInstitutionID;
+ @XmlAttribute(name = "awardingInstitutionID", required = true)
+ protected String awardingInstitutionID;
- /**
- * Gets the value of the awardingInstitutionID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAwardingInstitutionID() {
- return awardingInstitutionID;
- }
+ /**
+ * Gets the value of the awardingInstitutionID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAwardingInstitutionID() {
+ return awardingInstitutionID;
+ }
- /**
- * Sets the value of the awardingInstitutionID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAwardingInstitutionID(String value) {
- this.awardingInstitutionID = value;
- }
+ /**
+ * Sets the value of the awardingInstitutionID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAwardingInstitutionID(String value) {
+ this.awardingInstitutionID = value;
+ }
- }
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/NameAndStatusOfInstitutionAdministeringStudiesType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/NameAndStatusOfInstitutionAdministeringStudiesType.java
index 3083da620..90225c9a0 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/NameAndStatusOfInstitutionAdministeringStudiesType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/NameAndStatusOfInstitutionAdministeringStudiesType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -16,13 +15,14 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Name and status of institution administering studies
*
- * <p>Java class for NameAndStatusOfInstitutionAdministeringStudiesType complex type.
+ * <p>
+ * Java class for NameAndStatusOfInstitutionAdministeringStudiesType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="NameAndStatusOfInstitutionAdministeringStudiesType">
@@ -47,94 +47,86 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "NameAndStatusOfInstitutionAdministeringStudiesType", propOrder = {
- "institutionAdministeringStudies"
-})
+@XmlType(name = "NameAndStatusOfInstitutionAdministeringStudiesType", propOrder = { "institutionAdministeringStudies" })
public class NameAndStatusOfInstitutionAdministeringStudiesType {
- @XmlElement(name = "InstitutionAdministeringStudies", required = true)
- protected List<NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies> institutionAdministeringStudies;
-
- /**
- * Gets the value of the institutionAdministeringStudies property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the institutionAdministeringStudies property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getInstitutionAdministeringStudies().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies }
- *
- *
- */
- public List<NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies> getInstitutionAdministeringStudies() {
- if (institutionAdministeringStudies == null) {
- institutionAdministeringStudies = new ArrayList<NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies>();
- }
- return this.institutionAdministeringStudies;
- }
+ @XmlElement(name = "InstitutionAdministeringStudies", required = true)
+ protected List<NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies> institutionAdministeringStudies;
+ /**
+ * Gets the value of the institutionAdministeringStudies property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the institutionAdministeringStudies property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getInstitutionAdministeringStudies().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies }
+ *
+ *
+ */
+ public List<NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies> getInstitutionAdministeringStudies() {
+ if (institutionAdministeringStudies == null) {
+ institutionAdministeringStudies = new ArrayList<NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies>();
+ }
+ return this.institutionAdministeringStudies;
+ }
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}InstitutionType">
- * &lt;attribute name="institutionAdministeringStudiesID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class InstitutionAdministeringStudies
- extends InstitutionType
- {
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:crue:academic:xsd:language:diplomasupplement}InstitutionType">
+ * &lt;attribute name="institutionAdministeringStudiesID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class InstitutionAdministeringStudies extends InstitutionType {
- @XmlAttribute(name = "institutionAdministeringStudiesID", required = true)
- protected String institutionAdministeringStudiesID;
+ @XmlAttribute(name = "institutionAdministeringStudiesID", required = true)
+ protected String institutionAdministeringStudiesID;
- /**
- * Gets the value of the institutionAdministeringStudiesID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getInstitutionAdministeringStudiesID() {
- return institutionAdministeringStudiesID;
- }
+ /**
+ * Gets the value of the institutionAdministeringStudiesID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getInstitutionAdministeringStudiesID() {
+ return institutionAdministeringStudiesID;
+ }
- /**
- * Sets the value of the institutionAdministeringStudiesID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setInstitutionAdministeringStudiesID(String value) {
- this.institutionAdministeringStudiesID = value;
- }
+ /**
+ * Sets the value of the institutionAdministeringStudiesID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setInstitutionAdministeringStudiesID(String value) {
+ this.institutionAdministeringStudiesID = value;
+ }
- }
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ObjectFactory.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ObjectFactory.java
index b6473551b..83b337368 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ObjectFactory.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ObjectFactory.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.JAXBElement;
@@ -13,644 +12,636 @@ import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;
-
/**
- * This object contains factory methods for each
- * Java content interface and Java element interface
- * generated in the crue.academic.xsd.language.diplomasupplement package.
- * <p>An ObjectFactory allows you to programatically
- * construct new instances of the Java representation
- * for XML content. The Java representation of XML
- * content can consist of schema derived interfaces
- * and classes representing the binding of schema
- * type definitions, element declarations and model
- * groups. Factory methods for each of these are
- * provided in this class.
+ * This object contains factory methods for each Java content interface and Java element interface generated in the crue.academic.xsd.language.diplomasupplement package.
+ * <p>
+ * An ObjectFactory allows you to programatically construct new instances of the Java representation for XML content. The Java representation of XML content can consist of schema derived interfaces
+ * and classes representing the binding of schema type definitions, element declarations and model groups. Factory methods for each of these are provided in this class.
*
*/
@XmlRegistry
public class ObjectFactory {
- private final static QName _MultilingualDiplomaSupplement_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "MultilingualDiplomaSupplement");
- private final static QName _DiplomaSupplement_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "DiplomaSupplement");
- private final static QName _RichTextTagTypeItalic_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "Italic");
- private final static QName _RichTextTagTypeBreakLine_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "BreakLine");
- private final static QName _RichTextTagTypeAttachedRef_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "AttachedRef");
- private final static QName _RichTextTagTypeUnderline_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "Underline");
- private final static QName _RichTextTagTypeBold_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "Bold");
-
- /**
- * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: crue.academic.xsd.language.diplomasupplement
- *
- */
- public ObjectFactory() {
- }
-
- /**
- * Create an instance of {@link AddressType }
- *
- */
- public AddressType createAddressType() {
- return new AddressType();
- }
-
- /**
- * Create an instance of {@link LanguagesOfInstructionAndExaminationType }
- *
- */
- public LanguagesOfInstructionAndExaminationType createLanguagesOfInstructionAndExaminationType() {
- return new LanguagesOfInstructionAndExaminationType();
- }
-
- /**
- * Create an instance of {@link RichTextTagType }
- *
- */
- public RichTextTagType createRichTextTagType() {
- return new RichTextTagType();
- }
-
- /**
- * Create an instance of {@link MobilityProgrammeType }
- *
- */
- public MobilityProgrammeType createMobilityProgrammeType() {
- return new MobilityProgrammeType();
- }
-
- /**
- * Create an instance of {@link NameAndStatusOfInstitutionAdministeringStudiesType }
- *
- */
- public NameAndStatusOfInstitutionAdministeringStudiesType createNameAndStatusOfInstitutionAdministeringStudiesType() {
- return new NameAndStatusOfInstitutionAdministeringStudiesType();
- }
-
- /**
- * Create an instance of {@link InstitutionType }
- *
- */
- public InstitutionType createInstitutionType() {
- return new InstitutionType();
- }
-
- /**
- * Create an instance of {@link MobilityProgrammeCourseUnitType }
- *
- */
- public MobilityProgrammeCourseUnitType createMobilityProgrammeCourseUnitType() {
- return new MobilityProgrammeCourseUnitType();
- }
-
- /**
- * Create an instance of {@link InformationIdentifyingTheHolderOfTheQualificationType }
- *
- */
- public InformationIdentifyingTheHolderOfTheQualificationType createInformationIdentifyingTheHolderOfTheQualificationType() {
- return new InformationIdentifyingTheHolderOfTheQualificationType();
- }
-
- /**
- * Create an instance of {@link CourseUnitType }
- *
- */
- public CourseUnitType createCourseUnitType() {
- return new CourseUnitType();
- }
-
- /**
- * Create an instance of {@link LocalGradeType }
- *
- */
- public LocalGradeType createLocalGradeType() {
- return new LocalGradeType();
- }
-
- /**
- * Create an instance of {@link InformationOnTheContentsAndResultsGainedType }
- *
- */
- public InformationOnTheContentsAndResultsGainedType createInformationOnTheContentsAndResultsGainedType() {
- return new InformationOnTheContentsAndResultsGainedType();
- }
-
- /**
- * Create an instance of {@link InformationOnTheLevelOfTheQualificationType }
- *
- */
- public InformationOnTheLevelOfTheQualificationType createInformationOnTheLevelOfTheQualificationType() {
- return new InformationOnTheLevelOfTheQualificationType();
- }
-
- /**
- * Create an instance of {@link NameAndStatusOfAwardingInstitutionType }
- *
- */
- public NameAndStatusOfAwardingInstitutionType createNameAndStatusOfAwardingInstitutionType() {
- return new NameAndStatusOfAwardingInstitutionType();
- }
-
- /**
- * Create an instance of {@link InformationOnTheFunctionOfTheQualificationType }
- *
- */
- public InformationOnTheFunctionOfTheQualificationType createInformationOnTheFunctionOfTheQualificationType() {
- return new InformationOnTheFunctionOfTheQualificationType();
- }
-
- /**
- * Create an instance of {@link MultilingualDiplomaSupplementType }
- *
- */
- public MultilingualDiplomaSupplementType createMultilingualDiplomaSupplementType() {
- return new MultilingualDiplomaSupplementType();
- }
-
- /**
- * Create an instance of {@link DiplomaSupplementType }
- *
- */
- public DiplomaSupplementType createDiplomaSupplementType() {
- return new DiplomaSupplementType();
- }
-
- /**
- * Create an instance of {@link ExtensionContentType }
- *
- */
- public ExtensionContentType createExtensionContentType() {
- return new ExtensionContentType();
- }
-
- /**
- * Create an instance of {@link AttachedImageURLType }
- *
- */
- public AttachedImageURLType createAttachedImageURLType() {
- return new AttachedImageURLType();
- }
-
- /**
- * Create an instance of {@link CourseStructureDiagramType }
- *
- */
- public CourseStructureDiagramType createCourseStructureDiagramType() {
- return new CourseStructureDiagramType();
- }
-
- /**
- * Create an instance of {@link CourseUnitWorkPlacementType }
- *
- */
- public CourseUnitWorkPlacementType createCourseUnitWorkPlacementType() {
- return new CourseUnitWorkPlacementType();
- }
-
- /**
- * Create an instance of {@link InformationIdentifyingTheQualificationType }
- *
- */
- public InformationIdentifyingTheQualificationType createInformationIdentifyingTheQualificationType() {
- return new InformationIdentifyingTheQualificationType();
- }
-
- /**
- * Create an instance of {@link MobilityProgrammeCoursesUnitsType }
- *
- */
- public MobilityProgrammeCoursesUnitsType createMobilityProgrammeCoursesUnitsType() {
- return new MobilityProgrammeCoursesUnitsType();
- }
-
- /**
- * Create an instance of {@link QualificationType }
- *
- */
- public QualificationType createQualificationType() {
- return new QualificationType();
- }
-
- /**
- * Create an instance of {@link CertificationOfTheSupplementType }
- *
- */
- public CertificationOfTheSupplementType createCertificationOfTheSupplementType() {
- return new CertificationOfTheSupplementType();
- }
-
- /**
- * Create an instance of {@link AttachedFileURLType }
- *
- */
- public AttachedFileURLType createAttachedFileURLType() {
- return new AttachedFileURLType();
- }
-
- /**
- * Create an instance of {@link ProgrammeRequirementsType }
- *
- */
- public ProgrammeRequirementsType createProgrammeRequirementsType() {
- return new ProgrammeRequirementsType();
- }
-
- /**
- * Create an instance of {@link CourseUnitWorkPlacementsType }
- *
- */
- public CourseUnitWorkPlacementsType createCourseUnitWorkPlacementsType() {
- return new CourseUnitWorkPlacementsType();
- }
-
- /**
- * Create an instance of {@link AdditionalInformationType }
- *
- */
- public AdditionalInformationType createAdditionalInformationType() {
- return new AdditionalInformationType();
- }
-
- /**
- * Create an instance of {@link GradingSchemeAndGradeDistributionGuidanceType }
- *
- */
- public GradingSchemeAndGradeDistributionGuidanceType createGradingSchemeAndGradeDistributionGuidanceType() {
- return new GradingSchemeAndGradeDistributionGuidanceType();
- }
-
- /**
- * Create an instance of {@link AttachmentsType }
- *
- */
- public AttachmentsType createAttachmentsType() {
- return new AttachmentsType();
- }
-
- /**
- * Create an instance of {@link CourseUnitLanguageOfInstructionType }
- *
- */
- public CourseUnitLanguageOfInstructionType createCourseUnitLanguageOfInstructionType() {
- return new CourseUnitLanguageOfInstructionType();
- }
-
- /**
- * Create an instance of {@link CoursesAttendedInOtherInstitutionInMobilityProgramsType }
- *
- */
- public CoursesAttendedInOtherInstitutionInMobilityProgramsType createCoursesAttendedInOtherInstitutionInMobilityProgramsType() {
- return new CoursesAttendedInOtherInstitutionInMobilityProgramsType();
- }
-
- /**
- * Create an instance of {@link FamilyNameType }
- *
- */
- public FamilyNameType createFamilyNameType() {
- return new FamilyNameType();
- }
-
- /**
- * Create an instance of {@link CoursesGroupsType }
- *
- */
- public CoursesGroupsType createCoursesGroupsType() {
- return new CoursesGroupsType();
- }
-
- /**
- * Create an instance of {@link TitleConferredType }
- *
- */
- public TitleConferredType createTitleConferredType() {
- return new TitleConferredType();
- }
-
- /**
- * Create an instance of {@link OfficialStampType }
- *
- */
- public OfficialStampType createOfficialStampType() {
- return new OfficialStampType();
- }
-
- /**
- * Create an instance of {@link CourseUnitStudentPerformanceType }
- *
- */
- public CourseUnitStudentPerformanceType createCourseUnitStudentPerformanceType() {
- return new CourseUnitStudentPerformanceType();
- }
-
- /**
- * Create an instance of {@link GivenNameType }
- *
- */
- public GivenNameType createGivenNameType() {
- return new GivenNameType();
- }
-
- /**
- * Create an instance of {@link CoursesUnitsType }
- *
- */
- public CoursesUnitsType createCoursesUnitsType() {
- return new CoursesUnitsType();
- }
-
- /**
- * Create an instance of {@link ProgrammeDetailsType }
- *
- */
- public ProgrammeDetailsType createProgrammeDetailsType() {
- return new ProgrammeDetailsType();
- }
-
- /**
- * Create an instance of {@link OfficialCertifyingType }
- *
- */
- public OfficialCertifyingType createOfficialCertifyingType() {
- return new OfficialCertifyingType();
- }
-
- /**
- * Create an instance of {@link CourseUnitLanguagesOfInstructionType }
- *
- */
- public CourseUnitLanguagesOfInstructionType createCourseUnitLanguagesOfInstructionType() {
- return new CourseUnitLanguagesOfInstructionType();
- }
-
- /**
- * Create an instance of {@link AttachedImageDataType }
- *
- */
- public AttachedImageDataType createAttachedImageDataType() {
- return new AttachedImageDataType();
- }
-
- /**
- * Create an instance of {@link AttachedType }
- *
- */
- public AttachedType createAttachedType() {
- return new AttachedType();
- }
-
- /**
- * Create an instance of {@link CoursesGroupType }
- *
- */
- public CoursesGroupType createCoursesGroupType() {
- return new CoursesGroupType();
- }
-
- /**
- * Create an instance of {@link AttachedFileDataType }
- *
- */
- public AttachedFileDataType createAttachedFileDataType() {
- return new AttachedFileDataType();
- }
-
- /**
- * Create an instance of {@link ContactInformationType }
- *
- */
- public ContactInformationType createContactInformationType() {
- return new ContactInformationType();
- }
-
- /**
- * Create an instance of {@link OfficialsCertifyingType }
- *
- */
- public OfficialsCertifyingType createOfficialsCertifyingType() {
- return new OfficialsCertifyingType();
- }
-
- /**
- * Create an instance of {@link AddressType.Country }
- *
- */
- public AddressType.Country createAddressTypeCountry() {
- return new AddressType.Country();
- }
-
- /**
- * Create an instance of {@link LanguagesOfInstructionAndExaminationType.Language }
- *
- */
- public LanguagesOfInstructionAndExaminationType.Language createLanguagesOfInstructionAndExaminationTypeLanguage() {
- return new LanguagesOfInstructionAndExaminationType.Language();
- }
-
- /**
- * Create an instance of {@link RichTextTagType.AttachedRef }
- *
- */
- public RichTextTagType.AttachedRef createRichTextTagTypeAttachedRef() {
- return new RichTextTagType.AttachedRef();
- }
-
- /**
- * Create an instance of {@link MobilityProgrammeType.Country }
- *
- */
- public MobilityProgrammeType.Country createMobilityProgrammeTypeCountry() {
- return new MobilityProgrammeType.Country();
- }
-
- /**
- * Create an instance of {@link NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies }
- *
- */
- public NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies createNameAndStatusOfInstitutionAdministeringStudiesTypeInstitutionAdministeringStudies() {
- return new NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies();
- }
-
- /**
- * Create an instance of {@link InstitutionType.Country }
- *
- */
- public InstitutionType.Country createInstitutionTypeCountry() {
- return new InstitutionType.Country();
- }
-
- /**
- * Create an instance of {@link InstitutionType.AttachedImageRef }
- *
- */
- public InstitutionType.AttachedImageRef createInstitutionTypeAttachedImageRef() {
- return new InstitutionType.AttachedImageRef();
- }
-
- /**
- * Create an instance of {@link MobilityProgrammeCourseUnitType.Title }
- *
- */
- public MobilityProgrammeCourseUnitType.Title createMobilityProgrammeCourseUnitTypeTitle() {
- return new MobilityProgrammeCourseUnitType.Title();
- }
-
- /**
- * Create an instance of {@link InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth }
- *
- */
- public InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth createInformationIdentifyingTheHolderOfTheQualificationTypeCountryOfBirth() {
- return new InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth();
- }
-
- /**
- * Create an instance of {@link InformationIdentifyingTheHolderOfTheQualificationType.Gender }
- *
- */
- public InformationIdentifyingTheHolderOfTheQualificationType.Gender createInformationIdentifyingTheHolderOfTheQualificationTypeGender() {
- return new InformationIdentifyingTheHolderOfTheQualificationType.Gender();
- }
-
- /**
- * Create an instance of {@link CourseUnitType.Type }
- *
- */
- public CourseUnitType.Type createCourseUnitTypeType() {
- return new CourseUnitType.Type();
- }
-
- /**
- * Create an instance of {@link CourseUnitType.YearOfStudy }
- *
- */
- public CourseUnitType.YearOfStudy createCourseUnitTypeYearOfStudy() {
- return new CourseUnitType.YearOfStudy();
- }
-
- /**
- * Create an instance of {@link CourseUnitType.Level }
- *
- */
- public CourseUnitType.Level createCourseUnitTypeLevel() {
- return new CourseUnitType.Level();
- }
-
- /**
- * Create an instance of {@link CourseUnitType.ModeOfDelivery }
- *
- */
- public CourseUnitType.ModeOfDelivery createCourseUnitTypeModeOfDelivery() {
- return new CourseUnitType.ModeOfDelivery();
- }
-
- /**
- * Create an instance of {@link LocalGradeType.Source }
- *
- */
- public LocalGradeType.Source createLocalGradeTypeSource() {
- return new LocalGradeType.Source();
- }
-
- /**
- * Create an instance of {@link InformationOnTheContentsAndResultsGainedType.ModeOfStudy }
- *
- */
- public InformationOnTheContentsAndResultsGainedType.ModeOfStudy createInformationOnTheContentsAndResultsGainedTypeModeOfStudy() {
- return new InformationOnTheContentsAndResultsGainedType.ModeOfStudy();
- }
-
- /**
- * Create an instance of {@link InformationOnTheLevelOfTheQualificationType.Level }
- *
- */
- public InformationOnTheLevelOfTheQualificationType.Level createInformationOnTheLevelOfTheQualificationTypeLevel() {
- return new InformationOnTheLevelOfTheQualificationType.Level();
- }
-
- /**
- * Create an instance of {@link InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme }
- *
- */
- public InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme createInformationOnTheLevelOfTheQualificationTypeOfficialLengthOfProgramme() {
- return new InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme();
- }
-
- /**
- * Create an instance of {@link NameAndStatusOfAwardingInstitutionType.AwardingInstitution }
- *
- */
- public NameAndStatusOfAwardingInstitutionType.AwardingInstitution createNameAndStatusOfAwardingInstitutionTypeAwardingInstitution() {
- return new NameAndStatusOfAwardingInstitutionType.AwardingInstitution();
- }
-
- /**
- * Create an instance of {@link InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus }
- *
- */
- public InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus createInformationOnTheFunctionOfTheQualificationTypeProfessionalStatus() {
- return new InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus();
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link MultilingualDiplomaSupplementType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "MultilingualDiplomaSupplement")
- public JAXBElement<MultilingualDiplomaSupplementType> createMultilingualDiplomaSupplement(MultilingualDiplomaSupplementType value) {
- return new JAXBElement<MultilingualDiplomaSupplementType>(_MultilingualDiplomaSupplement_QNAME, MultilingualDiplomaSupplementType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link DiplomaSupplementType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "DiplomaSupplement")
- public JAXBElement<DiplomaSupplementType> createDiplomaSupplement(DiplomaSupplementType value) {
- return new JAXBElement<DiplomaSupplementType>(_DiplomaSupplement_QNAME, DiplomaSupplementType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "Italic", scope = RichTextTagType.class)
- public JAXBElement<String> createRichTextTagTypeItalic(String value) {
- return new JAXBElement<String>(_RichTextTagTypeItalic_QNAME, String.class, RichTextTagType.class, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "BreakLine", scope = RichTextTagType.class)
- public JAXBElement<String> createRichTextTagTypeBreakLine(String value) {
- return new JAXBElement<String>(_RichTextTagTypeBreakLine_QNAME, String.class, RichTextTagType.class, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link RichTextTagType.AttachedRef }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "AttachedRef", scope = RichTextTagType.class)
- public JAXBElement<RichTextTagType.AttachedRef> createRichTextTagTypeAttachedRef(RichTextTagType.AttachedRef value) {
- return new JAXBElement<RichTextTagType.AttachedRef>(_RichTextTagTypeAttachedRef_QNAME, RichTextTagType.AttachedRef.class, RichTextTagType.class, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "Underline", scope = RichTextTagType.class)
- public JAXBElement<String> createRichTextTagTypeUnderline(String value) {
- return new JAXBElement<String>(_RichTextTagTypeUnderline_QNAME, String.class, RichTextTagType.class, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "Bold", scope = RichTextTagType.class)
- public JAXBElement<String> createRichTextTagTypeBold(String value) {
- return new JAXBElement<String>(_RichTextTagTypeBold_QNAME, String.class, RichTextTagType.class, value);
- }
+ private final static QName _MultilingualDiplomaSupplement_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "MultilingualDiplomaSupplement");
+ private final static QName _DiplomaSupplement_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "DiplomaSupplement");
+ private final static QName _RichTextTagTypeItalic_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "Italic");
+ private final static QName _RichTextTagTypeBreakLine_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "BreakLine");
+ private final static QName _RichTextTagTypeAttachedRef_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "AttachedRef");
+ private final static QName _RichTextTagTypeUnderline_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "Underline");
+ private final static QName _RichTextTagTypeBold_QNAME = new QName("urn:crue:academic:xsd:language:diplomasupplement", "Bold");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: crue.academic.xsd.language.diplomasupplement
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link AddressType }
+ *
+ */
+ public AddressType createAddressType() {
+ return new AddressType();
+ }
+
+ /**
+ * Create an instance of {@link LanguagesOfInstructionAndExaminationType }
+ *
+ */
+ public LanguagesOfInstructionAndExaminationType createLanguagesOfInstructionAndExaminationType() {
+ return new LanguagesOfInstructionAndExaminationType();
+ }
+
+ /**
+ * Create an instance of {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType createRichTextTagType() {
+ return new RichTextTagType();
+ }
+
+ /**
+ * Create an instance of {@link MobilityProgrammeType }
+ *
+ */
+ public MobilityProgrammeType createMobilityProgrammeType() {
+ return new MobilityProgrammeType();
+ }
+
+ /**
+ * Create an instance of {@link NameAndStatusOfInstitutionAdministeringStudiesType }
+ *
+ */
+ public NameAndStatusOfInstitutionAdministeringStudiesType createNameAndStatusOfInstitutionAdministeringStudiesType() {
+ return new NameAndStatusOfInstitutionAdministeringStudiesType();
+ }
+
+ /**
+ * Create an instance of {@link InstitutionType }
+ *
+ */
+ public InstitutionType createInstitutionType() {
+ return new InstitutionType();
+ }
+
+ /**
+ * Create an instance of {@link MobilityProgrammeCourseUnitType }
+ *
+ */
+ public MobilityProgrammeCourseUnitType createMobilityProgrammeCourseUnitType() {
+ return new MobilityProgrammeCourseUnitType();
+ }
+
+ /**
+ * Create an instance of {@link InformationIdentifyingTheHolderOfTheQualificationType }
+ *
+ */
+ public InformationIdentifyingTheHolderOfTheQualificationType createInformationIdentifyingTheHolderOfTheQualificationType() {
+ return new InformationIdentifyingTheHolderOfTheQualificationType();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitType }
+ *
+ */
+ public CourseUnitType createCourseUnitType() {
+ return new CourseUnitType();
+ }
+
+ /**
+ * Create an instance of {@link LocalGradeType }
+ *
+ */
+ public LocalGradeType createLocalGradeType() {
+ return new LocalGradeType();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheContentsAndResultsGainedType }
+ *
+ */
+ public InformationOnTheContentsAndResultsGainedType createInformationOnTheContentsAndResultsGainedType() {
+ return new InformationOnTheContentsAndResultsGainedType();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheLevelOfTheQualificationType }
+ *
+ */
+ public InformationOnTheLevelOfTheQualificationType createInformationOnTheLevelOfTheQualificationType() {
+ return new InformationOnTheLevelOfTheQualificationType();
+ }
+
+ /**
+ * Create an instance of {@link NameAndStatusOfAwardingInstitutionType }
+ *
+ */
+ public NameAndStatusOfAwardingInstitutionType createNameAndStatusOfAwardingInstitutionType() {
+ return new NameAndStatusOfAwardingInstitutionType();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheFunctionOfTheQualificationType }
+ *
+ */
+ public InformationOnTheFunctionOfTheQualificationType createInformationOnTheFunctionOfTheQualificationType() {
+ return new InformationOnTheFunctionOfTheQualificationType();
+ }
+
+ /**
+ * Create an instance of {@link MultilingualDiplomaSupplementType }
+ *
+ */
+ public MultilingualDiplomaSupplementType createMultilingualDiplomaSupplementType() {
+ return new MultilingualDiplomaSupplementType();
+ }
+
+ /**
+ * Create an instance of {@link DiplomaSupplementType }
+ *
+ */
+ public DiplomaSupplementType createDiplomaSupplementType() {
+ return new DiplomaSupplementType();
+ }
+
+ /**
+ * Create an instance of {@link ExtensionContentType }
+ *
+ */
+ public ExtensionContentType createExtensionContentType() {
+ return new ExtensionContentType();
+ }
+
+ /**
+ * Create an instance of {@link AttachedImageURLType }
+ *
+ */
+ public AttachedImageURLType createAttachedImageURLType() {
+ return new AttachedImageURLType();
+ }
+
+ /**
+ * Create an instance of {@link CourseStructureDiagramType }
+ *
+ */
+ public CourseStructureDiagramType createCourseStructureDiagramType() {
+ return new CourseStructureDiagramType();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitWorkPlacementType }
+ *
+ */
+ public CourseUnitWorkPlacementType createCourseUnitWorkPlacementType() {
+ return new CourseUnitWorkPlacementType();
+ }
+
+ /**
+ * Create an instance of {@link InformationIdentifyingTheQualificationType }
+ *
+ */
+ public InformationIdentifyingTheQualificationType createInformationIdentifyingTheQualificationType() {
+ return new InformationIdentifyingTheQualificationType();
+ }
+
+ /**
+ * Create an instance of {@link MobilityProgrammeCoursesUnitsType }
+ *
+ */
+ public MobilityProgrammeCoursesUnitsType createMobilityProgrammeCoursesUnitsType() {
+ return new MobilityProgrammeCoursesUnitsType();
+ }
+
+ /**
+ * Create an instance of {@link QualificationType }
+ *
+ */
+ public QualificationType createQualificationType() {
+ return new QualificationType();
+ }
+
+ /**
+ * Create an instance of {@link CertificationOfTheSupplementType }
+ *
+ */
+ public CertificationOfTheSupplementType createCertificationOfTheSupplementType() {
+ return new CertificationOfTheSupplementType();
+ }
+
+ /**
+ * Create an instance of {@link AttachedFileURLType }
+ *
+ */
+ public AttachedFileURLType createAttachedFileURLType() {
+ return new AttachedFileURLType();
+ }
+
+ /**
+ * Create an instance of {@link ProgrammeRequirementsType }
+ *
+ */
+ public ProgrammeRequirementsType createProgrammeRequirementsType() {
+ return new ProgrammeRequirementsType();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitWorkPlacementsType }
+ *
+ */
+ public CourseUnitWorkPlacementsType createCourseUnitWorkPlacementsType() {
+ return new CourseUnitWorkPlacementsType();
+ }
+
+ /**
+ * Create an instance of {@link AdditionalInformationType }
+ *
+ */
+ public AdditionalInformationType createAdditionalInformationType() {
+ return new AdditionalInformationType();
+ }
+
+ /**
+ * Create an instance of {@link GradingSchemeAndGradeDistributionGuidanceType }
+ *
+ */
+ public GradingSchemeAndGradeDistributionGuidanceType createGradingSchemeAndGradeDistributionGuidanceType() {
+ return new GradingSchemeAndGradeDistributionGuidanceType();
+ }
+
+ /**
+ * Create an instance of {@link AttachmentsType }
+ *
+ */
+ public AttachmentsType createAttachmentsType() {
+ return new AttachmentsType();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitLanguageOfInstructionType }
+ *
+ */
+ public CourseUnitLanguageOfInstructionType createCourseUnitLanguageOfInstructionType() {
+ return new CourseUnitLanguageOfInstructionType();
+ }
+
+ /**
+ * Create an instance of {@link CoursesAttendedInOtherInstitutionInMobilityProgramsType }
+ *
+ */
+ public CoursesAttendedInOtherInstitutionInMobilityProgramsType createCoursesAttendedInOtherInstitutionInMobilityProgramsType() {
+ return new CoursesAttendedInOtherInstitutionInMobilityProgramsType();
+ }
+
+ /**
+ * Create an instance of {@link FamilyNameType }
+ *
+ */
+ public FamilyNameType createFamilyNameType() {
+ return new FamilyNameType();
+ }
+
+ /**
+ * Create an instance of {@link CoursesGroupsType }
+ *
+ */
+ public CoursesGroupsType createCoursesGroupsType() {
+ return new CoursesGroupsType();
+ }
+
+ /**
+ * Create an instance of {@link TitleConferredType }
+ *
+ */
+ public TitleConferredType createTitleConferredType() {
+ return new TitleConferredType();
+ }
+
+ /**
+ * Create an instance of {@link OfficialStampType }
+ *
+ */
+ public OfficialStampType createOfficialStampType() {
+ return new OfficialStampType();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitStudentPerformanceType }
+ *
+ */
+ public CourseUnitStudentPerformanceType createCourseUnitStudentPerformanceType() {
+ return new CourseUnitStudentPerformanceType();
+ }
+
+ /**
+ * Create an instance of {@link GivenNameType }
+ *
+ */
+ public GivenNameType createGivenNameType() {
+ return new GivenNameType();
+ }
+
+ /**
+ * Create an instance of {@link CoursesUnitsType }
+ *
+ */
+ public CoursesUnitsType createCoursesUnitsType() {
+ return new CoursesUnitsType();
+ }
+
+ /**
+ * Create an instance of {@link ProgrammeDetailsType }
+ *
+ */
+ public ProgrammeDetailsType createProgrammeDetailsType() {
+ return new ProgrammeDetailsType();
+ }
+
+ /**
+ * Create an instance of {@link OfficialCertifyingType }
+ *
+ */
+ public OfficialCertifyingType createOfficialCertifyingType() {
+ return new OfficialCertifyingType();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitLanguagesOfInstructionType }
+ *
+ */
+ public CourseUnitLanguagesOfInstructionType createCourseUnitLanguagesOfInstructionType() {
+ return new CourseUnitLanguagesOfInstructionType();
+ }
+
+ /**
+ * Create an instance of {@link AttachedImageDataType }
+ *
+ */
+ public AttachedImageDataType createAttachedImageDataType() {
+ return new AttachedImageDataType();
+ }
+
+ /**
+ * Create an instance of {@link AttachedType }
+ *
+ */
+ public AttachedType createAttachedType() {
+ return new AttachedType();
+ }
+
+ /**
+ * Create an instance of {@link CoursesGroupType }
+ *
+ */
+ public CoursesGroupType createCoursesGroupType() {
+ return new CoursesGroupType();
+ }
+
+ /**
+ * Create an instance of {@link AttachedFileDataType }
+ *
+ */
+ public AttachedFileDataType createAttachedFileDataType() {
+ return new AttachedFileDataType();
+ }
+
+ /**
+ * Create an instance of {@link ContactInformationType }
+ *
+ */
+ public ContactInformationType createContactInformationType() {
+ return new ContactInformationType();
+ }
+
+ /**
+ * Create an instance of {@link OfficialsCertifyingType }
+ *
+ */
+ public OfficialsCertifyingType createOfficialsCertifyingType() {
+ return new OfficialsCertifyingType();
+ }
+
+ /**
+ * Create an instance of {@link AddressType.Country }
+ *
+ */
+ public AddressType.Country createAddressTypeCountry() {
+ return new AddressType.Country();
+ }
+
+ /**
+ * Create an instance of {@link LanguagesOfInstructionAndExaminationType.Language }
+ *
+ */
+ public LanguagesOfInstructionAndExaminationType.Language createLanguagesOfInstructionAndExaminationTypeLanguage() {
+ return new LanguagesOfInstructionAndExaminationType.Language();
+ }
+
+ /**
+ * Create an instance of {@link RichTextTagType.AttachedRef }
+ *
+ */
+ public RichTextTagType.AttachedRef createRichTextTagTypeAttachedRef() {
+ return new RichTextTagType.AttachedRef();
+ }
+
+ /**
+ * Create an instance of {@link MobilityProgrammeType.Country }
+ *
+ */
+ public MobilityProgrammeType.Country createMobilityProgrammeTypeCountry() {
+ return new MobilityProgrammeType.Country();
+ }
+
+ /**
+ * Create an instance of {@link NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies }
+ *
+ */
+ public NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies createNameAndStatusOfInstitutionAdministeringStudiesTypeInstitutionAdministeringStudies() {
+ return new NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies();
+ }
+
+ /**
+ * Create an instance of {@link InstitutionType.Country }
+ *
+ */
+ public InstitutionType.Country createInstitutionTypeCountry() {
+ return new InstitutionType.Country();
+ }
+
+ /**
+ * Create an instance of {@link InstitutionType.AttachedImageRef }
+ *
+ */
+ public InstitutionType.AttachedImageRef createInstitutionTypeAttachedImageRef() {
+ return new InstitutionType.AttachedImageRef();
+ }
+
+ /**
+ * Create an instance of {@link MobilityProgrammeCourseUnitType.Title }
+ *
+ */
+ public MobilityProgrammeCourseUnitType.Title createMobilityProgrammeCourseUnitTypeTitle() {
+ return new MobilityProgrammeCourseUnitType.Title();
+ }
+
+ /**
+ * Create an instance of {@link InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth }
+ *
+ */
+ public InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth createInformationIdentifyingTheHolderOfTheQualificationTypeCountryOfBirth() {
+ return new InformationIdentifyingTheHolderOfTheQualificationType.CountryOfBirth();
+ }
+
+ /**
+ * Create an instance of {@link InformationIdentifyingTheHolderOfTheQualificationType.Gender }
+ *
+ */
+ public InformationIdentifyingTheHolderOfTheQualificationType.Gender createInformationIdentifyingTheHolderOfTheQualificationTypeGender() {
+ return new InformationIdentifyingTheHolderOfTheQualificationType.Gender();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitType.Type }
+ *
+ */
+ public CourseUnitType.Type createCourseUnitTypeType() {
+ return new CourseUnitType.Type();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitType.YearOfStudy }
+ *
+ */
+ public CourseUnitType.YearOfStudy createCourseUnitTypeYearOfStudy() {
+ return new CourseUnitType.YearOfStudy();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitType.Level }
+ *
+ */
+ public CourseUnitType.Level createCourseUnitTypeLevel() {
+ return new CourseUnitType.Level();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitType.ModeOfDelivery }
+ *
+ */
+ public CourseUnitType.ModeOfDelivery createCourseUnitTypeModeOfDelivery() {
+ return new CourseUnitType.ModeOfDelivery();
+ }
+
+ /**
+ * Create an instance of {@link LocalGradeType.Source }
+ *
+ */
+ public LocalGradeType.Source createLocalGradeTypeSource() {
+ return new LocalGradeType.Source();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheContentsAndResultsGainedType.ModeOfStudy }
+ *
+ */
+ public InformationOnTheContentsAndResultsGainedType.ModeOfStudy createInformationOnTheContentsAndResultsGainedTypeModeOfStudy() {
+ return new InformationOnTheContentsAndResultsGainedType.ModeOfStudy();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheLevelOfTheQualificationType.Level }
+ *
+ */
+ public InformationOnTheLevelOfTheQualificationType.Level createInformationOnTheLevelOfTheQualificationTypeLevel() {
+ return new InformationOnTheLevelOfTheQualificationType.Level();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme }
+ *
+ */
+ public InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme createInformationOnTheLevelOfTheQualificationTypeOfficialLengthOfProgramme() {
+ return new InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme();
+ }
+
+ /**
+ * Create an instance of {@link NameAndStatusOfAwardingInstitutionType.AwardingInstitution }
+ *
+ */
+ public NameAndStatusOfAwardingInstitutionType.AwardingInstitution createNameAndStatusOfAwardingInstitutionTypeAwardingInstitution() {
+ return new NameAndStatusOfAwardingInstitutionType.AwardingInstitution();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus }
+ *
+ */
+ public InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus createInformationOnTheFunctionOfTheQualificationTypeProfessionalStatus() {
+ return new InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MultilingualDiplomaSupplementType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "MultilingualDiplomaSupplement")
+ public JAXBElement<MultilingualDiplomaSupplementType> createMultilingualDiplomaSupplement(MultilingualDiplomaSupplementType value) {
+ return new JAXBElement<MultilingualDiplomaSupplementType>(_MultilingualDiplomaSupplement_QNAME, MultilingualDiplomaSupplementType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link DiplomaSupplementType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "DiplomaSupplement")
+ public JAXBElement<DiplomaSupplementType> createDiplomaSupplement(DiplomaSupplementType value) {
+ return new JAXBElement<DiplomaSupplementType>(_DiplomaSupplement_QNAME, DiplomaSupplementType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "Italic", scope = RichTextTagType.class)
+ public JAXBElement<String> createRichTextTagTypeItalic(String value) {
+ return new JAXBElement<String>(_RichTextTagTypeItalic_QNAME, String.class, RichTextTagType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "BreakLine", scope = RichTextTagType.class)
+ public JAXBElement<String> createRichTextTagTypeBreakLine(String value) {
+ return new JAXBElement<String>(_RichTextTagTypeBreakLine_QNAME, String.class, RichTextTagType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link RichTextTagType.AttachedRef }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "AttachedRef", scope = RichTextTagType.class)
+ public JAXBElement<RichTextTagType.AttachedRef> createRichTextTagTypeAttachedRef(RichTextTagType.AttachedRef value) {
+ return new JAXBElement<RichTextTagType.AttachedRef>(_RichTextTagTypeAttachedRef_QNAME, RichTextTagType.AttachedRef.class, RichTextTagType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "Underline", scope = RichTextTagType.class)
+ public JAXBElement<String> createRichTextTagTypeUnderline(String value) {
+ return new JAXBElement<String>(_RichTextTagTypeUnderline_QNAME, String.class, RichTextTagType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:crue:academic:xsd:language:diplomasupplement", name = "Bold", scope = RichTextTagType.class)
+ public JAXBElement<String> createRichTextTagTypeBold(String value) {
+ return new JAXBElement<String>(_RichTextTagTypeBold_QNAME, String.class, RichTextTagType.class, value);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialCertifyingType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialCertifyingType.java
index 1d2cfd97e..ddf4b7ecc 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialCertifyingType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialCertifyingType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,13 +13,14 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Official certifying the DS
*
- * <p>Java class for OfficialCertifyingType complex type.
+ * <p>
+ * Java class for OfficialCertifyingType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="OfficialCertifyingType">
@@ -40,116 +40,100 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "OfficialCertifyingType", propOrder = {
- "familyName",
- "givenName",
- "capacity"
-})
+@XmlType(name = "OfficialCertifyingType", propOrder = { "familyName", "givenName", "capacity" })
public class OfficialCertifyingType {
- @XmlElement(name = "FamilyName", required = true)
- protected FamilyNameType familyName;
- @XmlElement(name = "GivenName", required = true)
- protected GivenNameType givenName;
- @XmlElement(name = "Capacity", required = true)
- protected String capacity;
- @XmlAttribute(name = "awardingInstitutionID", required = true)
- protected String awardingInstitutionID;
+ @XmlElement(name = "FamilyName", required = true)
+ protected FamilyNameType familyName;
+ @XmlElement(name = "GivenName", required = true)
+ protected GivenNameType givenName;
+ @XmlElement(name = "Capacity", required = true)
+ protected String capacity;
+ @XmlAttribute(name = "awardingInstitutionID", required = true)
+ protected String awardingInstitutionID;
- /**
- * Gets the value of the familyName property.
- *
- * @return
- * possible object is
- * {@link FamilyNameType }
- *
- */
- public FamilyNameType getFamilyName() {
- return familyName;
- }
+ /**
+ * Gets the value of the familyName property.
+ *
+ * @return possible object is {@link FamilyNameType }
+ *
+ */
+ public FamilyNameType getFamilyName() {
+ return familyName;
+ }
- /**
- * Sets the value of the familyName property.
- *
- * @param value
- * allowed object is
- * {@link FamilyNameType }
- *
- */
- public void setFamilyName(FamilyNameType value) {
- this.familyName = value;
- }
+ /**
+ * Sets the value of the familyName property.
+ *
+ * @param value
+ * allowed object is {@link FamilyNameType }
+ *
+ */
+ public void setFamilyName(FamilyNameType value) {
+ this.familyName = value;
+ }
- /**
- * Gets the value of the givenName property.
- *
- * @return
- * possible object is
- * {@link GivenNameType }
- *
- */
- public GivenNameType getGivenName() {
- return givenName;
- }
+ /**
+ * Gets the value of the givenName property.
+ *
+ * @return possible object is {@link GivenNameType }
+ *
+ */
+ public GivenNameType getGivenName() {
+ return givenName;
+ }
- /**
- * Sets the value of the givenName property.
- *
- * @param value
- * allowed object is
- * {@link GivenNameType }
- *
- */
- public void setGivenName(GivenNameType value) {
- this.givenName = value;
- }
+ /**
+ * Sets the value of the givenName property.
+ *
+ * @param value
+ * allowed object is {@link GivenNameType }
+ *
+ */
+ public void setGivenName(GivenNameType value) {
+ this.givenName = value;
+ }
- /**
- * Gets the value of the capacity property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCapacity() {
- return capacity;
- }
+ /**
+ * Gets the value of the capacity property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCapacity() {
+ return capacity;
+ }
- /**
- * Sets the value of the capacity property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCapacity(String value) {
- this.capacity = value;
- }
+ /**
+ * Sets the value of the capacity property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCapacity(String value) {
+ this.capacity = value;
+ }
- /**
- * Gets the value of the awardingInstitutionID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAwardingInstitutionID() {
- return awardingInstitutionID;
- }
+ /**
+ * Gets the value of the awardingInstitutionID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAwardingInstitutionID() {
+ return awardingInstitutionID;
+ }
- /**
- * Sets the value of the awardingInstitutionID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAwardingInstitutionID(String value) {
- this.awardingInstitutionID = value;
- }
+ /**
+ * Sets the value of the awardingInstitutionID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAwardingInstitutionID(String value) {
+ this.awardingInstitutionID = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialStampType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialStampType.java
index af9007a1b..f92a005d3 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialStampType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialStampType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,13 +13,14 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Official stamp or seal of the institution
*
- * <p>Java class for OfficialStampType complex type.
+ * <p>
+ * Java class for OfficialStampType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="OfficialStampType">
@@ -38,62 +38,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "OfficialStampType", propOrder = {
- "description"
-})
+@XmlType(name = "OfficialStampType", propOrder = { "description" })
public class OfficialStampType {
- @XmlElement(name = "Description", required = true)
- protected String description;
- @XmlAttribute(name = "awardingInstitutionID", required = true)
- protected String awardingInstitutionID;
+ @XmlElement(name = "Description", required = true)
+ protected String description;
+ @XmlAttribute(name = "awardingInstitutionID", required = true)
+ protected String awardingInstitutionID;
- /**
- * Gets the value of the description property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getDescription() {
- return description;
- }
+ /**
+ * Gets the value of the description property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
- /**
- * Sets the value of the description property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setDescription(String value) {
- this.description = value;
- }
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
- /**
- * Gets the value of the awardingInstitutionID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAwardingInstitutionID() {
- return awardingInstitutionID;
- }
+ /**
+ * Gets the value of the awardingInstitutionID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAwardingInstitutionID() {
+ return awardingInstitutionID;
+ }
- /**
- * Sets the value of the awardingInstitutionID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAwardingInstitutionID(String value) {
- this.awardingInstitutionID = value;
- }
+ /**
+ * Sets the value of the awardingInstitutionID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAwardingInstitutionID(String value) {
+ this.awardingInstitutionID = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialsCertifyingType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialsCertifyingType.java
index 392e8d412..c77b684c3 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialsCertifyingType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/OfficialsCertifyingType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.util.ArrayList;
@@ -15,13 +14,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Officials certifying
*
- * <p>Java class for OfficialsCertifyingType complex type.
+ * <p>
+ * Java class for OfficialsCertifyingType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="OfficialsCertifyingType">
@@ -38,41 +38,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "OfficialsCertifyingType", propOrder = {
- "officialCertifying"
-})
+@XmlType(name = "OfficialsCertifyingType", propOrder = { "officialCertifying" })
public class OfficialsCertifyingType {
- @XmlElement(name = "OfficialCertifying", required = true)
- protected List<OfficialCertifyingType> officialCertifying;
+ @XmlElement(name = "OfficialCertifying", required = true)
+ protected List<OfficialCertifyingType> officialCertifying;
- /**
- * Gets the value of the officialCertifying property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the officialCertifying property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getOfficialCertifying().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link OfficialCertifyingType }
- *
- *
- */
- public List<OfficialCertifyingType> getOfficialCertifying() {
- if (officialCertifying == null) {
- officialCertifying = new ArrayList<OfficialCertifyingType>();
- }
- return this.officialCertifying;
- }
+ /**
+ * Gets the value of the officialCertifying property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the officialCertifying property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getOfficialCertifying().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link OfficialCertifyingType }
+ *
+ *
+ */
+ public List<OfficialCertifyingType> getOfficialCertifying() {
+ if (officialCertifying == null) {
+ officialCertifying = new ArrayList<OfficialCertifyingType>();
+ }
+ return this.officialCertifying;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ProgrammeDetailsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ProgrammeDetailsType.java
index a6e27914c..9c2ac3744 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ProgrammeDetailsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ProgrammeDetailsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,13 +12,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Programme details
*
- * <p>Java class for ProgrammeDetailsType complex type.
+ * <p>
+ * Java class for ProgrammeDetailsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ProgrammeDetailsType">
@@ -37,63 +37,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "ProgrammeDetailsType", propOrder = {
- "courseStructureDiagram",
- "coursesAttendedInOtherInstitutionInMobilityPrograms"
-})
+@XmlType(name = "ProgrammeDetailsType", propOrder = { "courseStructureDiagram", "coursesAttendedInOtherInstitutionInMobilityPrograms" })
public class ProgrammeDetailsType {
- @XmlElement(name = "CourseStructureDiagram", required = true)
- protected CourseStructureDiagramType courseStructureDiagram;
- @XmlElement(name = "CoursesAttendedInOtherInstitutionInMobilityPrograms")
- protected CoursesAttendedInOtherInstitutionInMobilityProgramsType coursesAttendedInOtherInstitutionInMobilityPrograms;
+ @XmlElement(name = "CourseStructureDiagram", required = true)
+ protected CourseStructureDiagramType courseStructureDiagram;
+ @XmlElement(name = "CoursesAttendedInOtherInstitutionInMobilityPrograms")
+ protected CoursesAttendedInOtherInstitutionInMobilityProgramsType coursesAttendedInOtherInstitutionInMobilityPrograms;
- /**
- * Gets the value of the courseStructureDiagram property.
- *
- * @return
- * possible object is
- * {@link CourseStructureDiagramType }
- *
- */
- public CourseStructureDiagramType getCourseStructureDiagram() {
- return courseStructureDiagram;
- }
+ /**
+ * Gets the value of the courseStructureDiagram property.
+ *
+ * @return possible object is {@link CourseStructureDiagramType }
+ *
+ */
+ public CourseStructureDiagramType getCourseStructureDiagram() {
+ return courseStructureDiagram;
+ }
- /**
- * Sets the value of the courseStructureDiagram property.
- *
- * @param value
- * allowed object is
- * {@link CourseStructureDiagramType }
- *
- */
- public void setCourseStructureDiagram(CourseStructureDiagramType value) {
- this.courseStructureDiagram = value;
- }
+ /**
+ * Sets the value of the courseStructureDiagram property.
+ *
+ * @param value
+ * allowed object is {@link CourseStructureDiagramType }
+ *
+ */
+ public void setCourseStructureDiagram(CourseStructureDiagramType value) {
+ this.courseStructureDiagram = value;
+ }
- /**
- * Gets the value of the coursesAttendedInOtherInstitutionInMobilityPrograms property.
- *
- * @return
- * possible object is
- * {@link CoursesAttendedInOtherInstitutionInMobilityProgramsType }
- *
- */
- public CoursesAttendedInOtherInstitutionInMobilityProgramsType getCoursesAttendedInOtherInstitutionInMobilityPrograms() {
- return coursesAttendedInOtherInstitutionInMobilityPrograms;
- }
+ /**
+ * Gets the value of the coursesAttendedInOtherInstitutionInMobilityPrograms property.
+ *
+ * @return possible object is {@link CoursesAttendedInOtherInstitutionInMobilityProgramsType }
+ *
+ */
+ public CoursesAttendedInOtherInstitutionInMobilityProgramsType getCoursesAttendedInOtherInstitutionInMobilityPrograms() {
+ return coursesAttendedInOtherInstitutionInMobilityPrograms;
+ }
- /**
- * Sets the value of the coursesAttendedInOtherInstitutionInMobilityPrograms property.
- *
- * @param value
- * allowed object is
- * {@link CoursesAttendedInOtherInstitutionInMobilityProgramsType }
- *
- */
- public void setCoursesAttendedInOtherInstitutionInMobilityPrograms(CoursesAttendedInOtherInstitutionInMobilityProgramsType value) {
- this.coursesAttendedInOtherInstitutionInMobilityPrograms = value;
- }
+ /**
+ * Sets the value of the coursesAttendedInOtherInstitutionInMobilityPrograms property.
+ *
+ * @param value
+ * allowed object is {@link CoursesAttendedInOtherInstitutionInMobilityProgramsType }
+ *
+ */
+ public void setCoursesAttendedInOtherInstitutionInMobilityPrograms(CoursesAttendedInOtherInstitutionInMobilityProgramsType value) {
+ this.coursesAttendedInOtherInstitutionInMobilityPrograms = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ProgrammeRequirementsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ProgrammeRequirementsType.java
index e0f358aca..e21a8d821 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ProgrammeRequirementsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/ProgrammeRequirementsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,13 +12,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Programme requirements
*
- * <p>Java class for ProgrammeRequirementsType complex type.
+ * <p>
+ * Java class for ProgrammeRequirementsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ProgrammeRequirementsType">
@@ -37,63 +37,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "ProgrammeRequirementsType", propOrder = {
- "requirements",
- "keyLearningOutcomes"
-})
+@XmlType(name = "ProgrammeRequirementsType", propOrder = { "requirements", "keyLearningOutcomes" })
public class ProgrammeRequirementsType {
- @XmlElement(name = "Requirements", required = true)
- protected RichTextTagType requirements;
- @XmlElement(name = "KeyLearningOutcomes")
- protected RichTextTagType keyLearningOutcomes;
+ @XmlElement(name = "Requirements", required = true)
+ protected RichTextTagType requirements;
+ @XmlElement(name = "KeyLearningOutcomes")
+ protected RichTextTagType keyLearningOutcomes;
- /**
- * Gets the value of the requirements property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getRequirements() {
- return requirements;
- }
+ /**
+ * Gets the value of the requirements property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getRequirements() {
+ return requirements;
+ }
- /**
- * Sets the value of the requirements property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setRequirements(RichTextTagType value) {
- this.requirements = value;
- }
+ /**
+ * Sets the value of the requirements property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setRequirements(RichTextTagType value) {
+ this.requirements = value;
+ }
- /**
- * Gets the value of the keyLearningOutcomes property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getKeyLearningOutcomes() {
- return keyLearningOutcomes;
- }
+ /**
+ * Gets the value of the keyLearningOutcomes property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getKeyLearningOutcomes() {
+ return keyLearningOutcomes;
+ }
- /**
- * Sets the value of the keyLearningOutcomes property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setKeyLearningOutcomes(RichTextTagType value) {
- this.keyLearningOutcomes = value;
- }
+ /**
+ * Sets the value of the keyLearningOutcomes property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setKeyLearningOutcomes(RichTextTagType value) {
+ this.keyLearningOutcomes = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/QualificationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/QualificationType.java
index 8700fcfca..4414ef05d 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/QualificationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/QualificationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,13 +13,14 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Qualification
*
- * <p>Java class for QualificationType complex type.
+ * <p>
+ * Java class for QualificationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="QualificationType">
@@ -40,115 +40,100 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "QualificationType", propOrder = {
- "name",
- "additionalInformation"
-})
+@XmlType(name = "QualificationType", propOrder = { "name", "additionalInformation" })
public class QualificationType {
- @XmlElement(name = "Name", required = true)
- protected String name;
- @XmlElement(name = "AdditionalInformation")
- protected RichTextTagType additionalInformation;
- @XmlAttribute(name = "localID")
- protected String localID;
- @XmlAttribute(name = "nationalID")
- protected String nationalID;
+ @XmlElement(name = "Name", required = true)
+ protected String name;
+ @XmlElement(name = "AdditionalInformation")
+ protected RichTextTagType additionalInformation;
+ @XmlAttribute(name = "localID")
+ protected String localID;
+ @XmlAttribute(name = "nationalID")
+ protected String nationalID;
- /**
- * Gets the value of the name property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getName() {
- return name;
- }
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
- /**
- * Sets the value of the name property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setName(String value) {
- this.name = value;
- }
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
- /**
- * Gets the value of the additionalInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getAdditionalInformation() {
- return additionalInformation;
- }
+ /**
+ * Gets the value of the additionalInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getAdditionalInformation() {
+ return additionalInformation;
+ }
- /**
- * Sets the value of the additionalInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setAdditionalInformation(RichTextTagType value) {
- this.additionalInformation = value;
- }
+ /**
+ * Sets the value of the additionalInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setAdditionalInformation(RichTextTagType value) {
+ this.additionalInformation = value;
+ }
- /**
- * Gets the value of the localID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getLocalID() {
- return localID;
- }
+ /**
+ * Gets the value of the localID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getLocalID() {
+ return localID;
+ }
- /**
- * Sets the value of the localID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setLocalID(String value) {
- this.localID = value;
- }
+ /**
+ * Sets the value of the localID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setLocalID(String value) {
+ this.localID = value;
+ }
- /**
- * Gets the value of the nationalID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNationalID() {
- return nationalID;
- }
+ /**
+ * Gets the value of the nationalID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNationalID() {
+ return nationalID;
+ }
- /**
- * Sets the value of the nationalID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNationalID(String value) {
- this.nationalID = value;
- }
+ /**
+ * Sets the value of the nationalID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNationalID(String value) {
+ this.nationalID = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/RichTextTagType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/RichTextTagType.java
index 18d44c09b..68c5ec627 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/RichTextTagType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/RichTextTagType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import java.io.Serializable;
@@ -24,13 +23,14 @@ import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-
/**
* Rich text tag
*
- * <p>Java class for RichTextTagType complex type.
+ * <p>
+ * Java class for RichTextTagType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="RichTextTagType">
@@ -59,143 +59,124 @@ import javax.xml.bind.annotation.XmlValue;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "RichTextTagType", propOrder = {
- "content"
-})
-@XmlSeeAlso({
- eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus.class,
- eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.InformationOnTheLevelOfTheQualificationType.Level.class,
- eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme.class,
- eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.InformationOnTheContentsAndResultsGainedType.ModeOfStudy.class,
- eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.LanguagesOfInstructionAndExaminationType.Language.class
-})
+@XmlType(name = "RichTextTagType", propOrder = { "content" })
+@XmlSeeAlso({ eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus.class,
+ eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.InformationOnTheLevelOfTheQualificationType.Level.class,
+ eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme.class,
+ eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.InformationOnTheContentsAndResultsGainedType.ModeOfStudy.class,
+ eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.LanguagesOfInstructionAndExaminationType.Language.class })
public class RichTextTagType {
- @XmlElementRefs({
- @XmlElementRef(name = "Underline", namespace = "urn:crue:academic:xsd:language:diplomasupplement", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "AttachedRef", namespace = "urn:crue:academic:xsd:language:diplomasupplement", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "BreakLine", namespace = "urn:crue:academic:xsd:language:diplomasupplement", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "Bold", namespace = "urn:crue:academic:xsd:language:diplomasupplement", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "Italic", namespace = "urn:crue:academic:xsd:language:diplomasupplement", type = JAXBElement.class, required = false)
- })
- @XmlMixed
- protected List<Serializable> content;
-
- /**
- * Rich text tag Gets the value of the content property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link JAXBElement }{@code <}{@link String }{@code >}
- * {@link String }
- * {@link JAXBElement }{@code <}{@link RichTextTagType.AttachedRef }{@code >}
- * {@link JAXBElement }{@code <}{@link String }{@code >}
- * {@link JAXBElement }{@code <}{@link String }{@code >}
- * {@link JAXBElement }{@code <}{@link String }{@code >}
- *
- *
- */
- public List<Serializable> getContent() {
- if (content == null) {
- content = new ArrayList<Serializable>();
- }
- return this.content;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
- * &lt;attribute name="attachedID" use="required" type="{http://www.w3.org/2001/XMLSchema}IDREF" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class AttachedRef {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "attachedID", required = true)
- @XmlIDREF
- @XmlSchemaType(name = "IDREF")
- protected Object attachedID;
-
- /**
- * Plain text constraint
- *
- * Non empty text
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the attachedID property.
- *
- * @return
- * possible object is
- * {@link Object }
- *
- */
- public Object getAttachedID() {
- return attachedID;
- }
-
- /**
- * Sets the value of the attachedID property.
- *
- * @param value
- * allowed object is
- * {@link Object }
- *
- */
- public void setAttachedID(Object value) {
- this.attachedID = value;
- }
-
- }
+ @XmlElementRefs({ @XmlElementRef(name = "Underline", namespace = "urn:crue:academic:xsd:language:diplomasupplement", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "AttachedRef", namespace = "urn:crue:academic:xsd:language:diplomasupplement", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "BreakLine", namespace = "urn:crue:academic:xsd:language:diplomasupplement", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "Bold", namespace = "urn:crue:academic:xsd:language:diplomasupplement", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "Italic", namespace = "urn:crue:academic:xsd:language:diplomasupplement", type = JAXBElement.class, required = false) })
+ @XmlMixed
+ protected List<Serializable> content;
+
+ /**
+ * Rich text tag Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link JAXBElement }{@code <}{@link String }{@code >} {@link String } {@link JAXBElement }{@code <}{@link RichTextTagType.AttachedRef }
+ * {@code >} {@link JAXBElement }{@code <}{@link String }{@code >} {@link JAXBElement }{@code <}{@link String }{@code >} {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ *
+ */
+ public List<Serializable> getContent() {
+ if (content == null) {
+ content = new ArrayList<Serializable>();
+ }
+ return this.content;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:crue:academic:xsd:language:diplomasupplement>PlainTextType">
+ * &lt;attribute name="attachedID" use="required" type="{http://www.w3.org/2001/XMLSchema}IDREF" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class AttachedRef {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "attachedID", required = true)
+ @XmlIDREF
+ @XmlSchemaType(name = "IDREF")
+ protected Object attachedID;
+
+ /**
+ * Plain text constraint
+ *
+ * Non empty text
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the attachedID property.
+ *
+ * @return possible object is {@link Object }
+ *
+ */
+ public Object getAttachedID() {
+ return attachedID;
+ }
+
+ /**
+ * Sets the value of the attachedID property.
+ *
+ * @param value
+ * allowed object is {@link Object }
+ *
+ */
+ public void setAttachedID(Object value) {
+ this.attachedID = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/SourceGradeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/SourceGradeType.java
index be97a835f..f9bb1708d 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/SourceGradeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/SourceGradeType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for SourceGradeType.
+ * <p>
+ * Java class for SourceGradeType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="SourceGradeType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -33,44 +34,43 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum SourceGradeType {
+ /**
+ * Recognized
+ *
+ */
+ @XmlEnumValue("Recognized")
+ RECOGNIZED("Recognized"),
- /**
- * Recognized
- *
- */
- @XmlEnumValue("Recognized")
- RECOGNIZED("Recognized"),
-
- /**
- * Course unit attended in mobility programme
- *
- */
- @XmlEnumValue("MobilityProgramme")
- MOBILITY_PROGRAMME("MobilityProgramme"),
+ /**
+ * Course unit attended in mobility programme
+ *
+ */
+ @XmlEnumValue("MobilityProgramme")
+ MOBILITY_PROGRAMME("MobilityProgramme"),
- /**
- * Another
- *
- */
- @XmlEnumValue("Another")
- ANOTHER("Another");
- private final String value;
+ /**
+ * Another
+ *
+ */
+ @XmlEnumValue("Another")
+ ANOTHER("Another");
+ private final String value;
- SourceGradeType(String v) {
- value = v;
- }
+ SourceGradeType(String v) {
+ value = v;
+ }
- public String value() {
- return value;
- }
+ public String value() {
+ return value;
+ }
- public static SourceGradeType fromValue(String v) {
- for (SourceGradeType c: SourceGradeType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ public static SourceGradeType fromValue(String v) {
+ for (SourceGradeType c : SourceGradeType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/TitleConferredType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/TitleConferredType.java
index 7d06458e0..4bb02cd12 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/TitleConferredType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/TitleConferredType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,13 +12,14 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
* Title conferred
*
- * <p>Java class for TitleConferredType complex type.
+ * <p>
+ * Java class for TitleConferredType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="TitleConferredType">
@@ -36,36 +36,31 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "TitleConferredType", propOrder = {
- "name"
-})
+@XmlType(name = "TitleConferredType", propOrder = { "name" })
public class TitleConferredType {
- @XmlElement(name = "Name", required = true)
- protected String name;
+ @XmlElement(name = "Name", required = true)
+ protected String name;
- /**
- * Gets the value of the name property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getName() {
- return name;
- }
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
- /**
- * Sets the value of the name property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setName(String value) {
- this.name = value;
- }
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/package-info.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/package-info.java
index 427159cb8..84b6707b7 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/package-info.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/crue/academic/xsd/language/diplomasupplement/package-info.java
@@ -7,3 +7,4 @@
@javax.xml.bind.annotation.XmlSchema(namespace = "urn:crue:academic:xsd:language:diplomasupplement", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement;
+
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/AcTitleType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/AcTitleType.java
index 7877f8cee..14d28d64e 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/AcTitleType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/AcTitleType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for acTitleType complex type.
+ * <p>
+ * Java class for acTitleType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="acTitleType">
@@ -35,55 +35,49 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "acTitleType", propOrder = {
- "titleNormalised",
- "aqaa"
-})
+@XmlType(name = "acTitleType", propOrder = { "titleNormalised", "aqaa" })
public class AcTitleType {
- @XmlElement(required = true)
- protected String titleNormalised;
- @XmlElement(name = "AQAA")
- protected int aqaa;
+ @XmlElement(required = true)
+ protected String titleNormalised;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
- /**
- * Gets the value of the titleNormalised property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTitleNormalised() {
- return titleNormalised;
- }
+ /**
+ * Gets the value of the titleNormalised property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTitleNormalised() {
+ return titleNormalised;
+ }
- /**
- * Sets the value of the titleNormalised property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTitleNormalised(String value) {
- this.titleNormalised = value;
- }
+ /**
+ * Sets the value of the titleNormalised property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTitleNormalised(String value) {
+ this.titleNormalised = value;
+ }
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/AttributeStatusType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/AttributeStatusType.java
index e2dd4e5e0..fe44adaac 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/AttributeStatusType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/AttributeStatusType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for AttributeStatusType.
+ * <p>
+ * Java class for AttributeStatusType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="AttributeStatusType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -33,29 +34,27 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum AttributeStatusType {
- @XmlEnumValue("Available")
- AVAILABLE("Available"),
- @XmlEnumValue("NotAvailable")
- NOT_AVAILABLE("NotAvailable"),
- @XmlEnumValue("Withheld")
- WITHHELD("Withheld");
- private final String value;
-
- AttributeStatusType(String v) {
- value = v;
- }
-
- public String value() {
- return value;
- }
-
- public static AttributeStatusType fromValue(String v) {
- for (AttributeStatusType c: AttributeStatusType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ @XmlEnumValue("Available")
+ AVAILABLE("Available"), @XmlEnumValue("NotAvailable")
+ NOT_AVAILABLE("NotAvailable"), @XmlEnumValue("Withheld")
+ WITHHELD("Withheld");
+ private final String value;
+
+ AttributeStatusType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static AttributeStatusType fromValue(String v) {
+ for (AttributeStatusType c : AttributeStatusType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/CanonicalAddressType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/CanonicalAddressType.java
index 2c2117c14..981884efa 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/CanonicalAddressType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/CanonicalAddressType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
/**
- * <p>Java class for canonicalAddressType complex type.
+ * <p>
+ * Java class for canonicalAddressType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="canonicalAddressType">
@@ -43,222 +43,189 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "canonicalAddressType", propOrder = {
- "countryCodeAddress",
- "state",
- "municipalityCode",
- "town",
- "postalCode",
- "streetName",
- "streetNumber",
- "apartmentNumber"
-})
+@XmlType(name = "canonicalAddressType", propOrder = { "countryCodeAddress", "state", "municipalityCode", "town", "postalCode", "streetName", "streetNumber", "apartmentNumber" })
public class CanonicalAddressType {
- @XmlElement(required = true)
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- protected String countryCodeAddress;
- protected String state;
- protected String municipalityCode;
- @XmlElement(required = true)
- protected String town;
- @XmlElement(required = true)
- protected String postalCode;
- @XmlElement(required = true)
- protected String streetName;
- protected String streetNumber;
- protected String apartmentNumber;
-
- /**
- * Gets the value of the countryCodeAddress property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCountryCodeAddress() {
- return countryCodeAddress;
- }
-
- /**
- * Sets the value of the countryCodeAddress property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCountryCodeAddress(String value) {
- this.countryCodeAddress = value;
- }
-
- /**
- * Gets the value of the state property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getState() {
- return state;
- }
-
- /**
- * Sets the value of the state property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setState(String value) {
- this.state = value;
- }
-
- /**
- * Gets the value of the municipalityCode property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getMunicipalityCode() {
- return municipalityCode;
- }
-
- /**
- * Sets the value of the municipalityCode property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setMunicipalityCode(String value) {
- this.municipalityCode = value;
- }
-
- /**
- * Gets the value of the town property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTown() {
- return town;
- }
-
- /**
- * Sets the value of the town property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTown(String value) {
- this.town = value;
- }
-
- /**
- * Gets the value of the postalCode property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getPostalCode() {
- return postalCode;
- }
-
- /**
- * Sets the value of the postalCode property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setPostalCode(String value) {
- this.postalCode = value;
- }
-
- /**
- * Gets the value of the streetName property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStreetName() {
- return streetName;
- }
-
- /**
- * Sets the value of the streetName property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStreetName(String value) {
- this.streetName = value;
- }
-
- /**
- * Gets the value of the streetNumber property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStreetNumber() {
- return streetNumber;
- }
-
- /**
- * Sets the value of the streetNumber property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStreetNumber(String value) {
- this.streetNumber = value;
- }
-
- /**
- * Gets the value of the apartmentNumber property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getApartmentNumber() {
- return apartmentNumber;
- }
-
- /**
- * Sets the value of the apartmentNumber property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setApartmentNumber(String value) {
- this.apartmentNumber = value;
- }
+ @XmlElement(required = true)
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected String countryCodeAddress;
+ protected String state;
+ protected String municipalityCode;
+ @XmlElement(required = true)
+ protected String town;
+ @XmlElement(required = true)
+ protected String postalCode;
+ @XmlElement(required = true)
+ protected String streetName;
+ protected String streetNumber;
+ protected String apartmentNumber;
+
+ /**
+ * Gets the value of the countryCodeAddress property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCountryCodeAddress() {
+ return countryCodeAddress;
+ }
+
+ /**
+ * Sets the value of the countryCodeAddress property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCountryCodeAddress(String value) {
+ this.countryCodeAddress = value;
+ }
+
+ /**
+ * Gets the value of the state property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getState() {
+ return state;
+ }
+
+ /**
+ * Sets the value of the state property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setState(String value) {
+ this.state = value;
+ }
+
+ /**
+ * Gets the value of the municipalityCode property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getMunicipalityCode() {
+ return municipalityCode;
+ }
+
+ /**
+ * Sets the value of the municipalityCode property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setMunicipalityCode(String value) {
+ this.municipalityCode = value;
+ }
+
+ /**
+ * Gets the value of the town property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTown() {
+ return town;
+ }
+
+ /**
+ * Sets the value of the town property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTown(String value) {
+ this.town = value;
+ }
+
+ /**
+ * Gets the value of the postalCode property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getPostalCode() {
+ return postalCode;
+ }
+
+ /**
+ * Sets the value of the postalCode property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setPostalCode(String value) {
+ this.postalCode = value;
+ }
+
+ /**
+ * Gets the value of the streetName property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getStreetName() {
+ return streetName;
+ }
+
+ /**
+ * Sets the value of the streetName property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setStreetName(String value) {
+ this.streetName = value;
+ }
+
+ /**
+ * Gets the value of the streetNumber property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getStreetNumber() {
+ return streetNumber;
+ }
+
+ /**
+ * Sets the value of the streetNumber property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setStreetNumber(String value) {
+ this.streetNumber = value;
+ }
+
+ /**
+ * Gets the value of the apartmentNumber property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getApartmentNumber() {
+ return apartmentNumber;
+ }
+
+ /**
+ * Sets the value of the apartmentNumber property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setApartmentNumber(String value) {
+ this.apartmentNumber = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/CurrentStudiesType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/CurrentStudiesType.java
index 71f028cea..58e4bf02b 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/CurrentStudiesType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/CurrentStudiesType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import java.math.BigInteger;
@@ -17,11 +16,12 @@ import javax.xml.bind.annotation.XmlType;
import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.GeneralDiplomaType;
import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.MultilingualGeneralDiplomaType;
-
/**
- * <p>Java class for currentStudiesType complex type.
+ * <p>
+ * Java class for currentStudiesType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="currentStudiesType">
@@ -45,154 +45,135 @@ import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.ge
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "currentStudiesType", propOrder = {
- "multilingualGeneralDiploma",
- "generalDiploma",
- "yearOfStudy",
- "isEligibleForInternship",
- "aqaa",
- "any"
-})
+@XmlType(name = "currentStudiesType", propOrder = { "multilingualGeneralDiploma", "generalDiploma", "yearOfStudy", "isEligibleForInternship", "aqaa", "any" })
public class CurrentStudiesType {
- @XmlElement(name = "MultilingualGeneralDiploma", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma")
- protected MultilingualGeneralDiplomaType multilingualGeneralDiploma;
- @XmlElement(name = "GeneralDiploma", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma")
- protected GeneralDiplomaType generalDiploma;
- @XmlElement(required = true)
- protected BigInteger yearOfStudy;
- protected boolean isEligibleForInternship;
- @XmlElement(name = "AQAA")
- protected int aqaa;
- @XmlAnyElement(lax = true)
- protected Object any;
-
- /**
- * Gets the value of the multilingualGeneralDiploma property.
- *
- * @return
- * possible object is
- * {@link MultilingualGeneralDiplomaType }
- *
- */
- public MultilingualGeneralDiplomaType getMultilingualGeneralDiploma() {
- return multilingualGeneralDiploma;
- }
-
- /**
- * Sets the value of the multilingualGeneralDiploma property.
- *
- * @param value
- * allowed object is
- * {@link MultilingualGeneralDiplomaType }
- *
- */
- public void setMultilingualGeneralDiploma(MultilingualGeneralDiplomaType value) {
- this.multilingualGeneralDiploma = value;
- }
-
- /**
- * Gets the value of the generalDiploma property.
- *
- * @return
- * possible object is
- * {@link GeneralDiplomaType }
- *
- */
- public GeneralDiplomaType getGeneralDiploma() {
- return generalDiploma;
- }
-
- /**
- * Sets the value of the generalDiploma property.
- *
- * @param value
- * allowed object is
- * {@link GeneralDiplomaType }
- *
- */
- public void setGeneralDiploma(GeneralDiplomaType value) {
- this.generalDiploma = value;
- }
-
- /**
- * Gets the value of the yearOfStudy property.
- *
- * @return
- * possible object is
- * {@link BigInteger }
- *
- */
- public BigInteger getYearOfStudy() {
- return yearOfStudy;
- }
-
- /**
- * Sets the value of the yearOfStudy property.
- *
- * @param value
- * allowed object is
- * {@link BigInteger }
- *
- */
- public void setYearOfStudy(BigInteger value) {
- this.yearOfStudy = value;
- }
-
- /**
- * Gets the value of the isEligibleForInternship property.
- *
- */
- public boolean isIsEligibleForInternship() {
- return isEligibleForInternship;
- }
-
- /**
- * Sets the value of the isEligibleForInternship property.
- *
- */
- public void setIsEligibleForInternship(boolean value) {
- this.isEligibleForInternship = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
- /**
- * Gets the value of the any property.
- *
- * @return
- * possible object is
- * {@link Object }
- *
- */
- public Object getAny() {
- return any;
- }
-
- /**
- * Sets the value of the any property.
- *
- * @param value
- * allowed object is
- * {@link Object }
- *
- */
- public void setAny(Object value) {
- this.any = value;
- }
+ @XmlElement(name = "MultilingualGeneralDiploma", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma")
+ protected MultilingualGeneralDiplomaType multilingualGeneralDiploma;
+ @XmlElement(name = "GeneralDiploma", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma")
+ protected GeneralDiplomaType generalDiploma;
+ @XmlElement(required = true)
+ protected BigInteger yearOfStudy;
+ protected boolean isEligibleForInternship;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
+ @XmlAnyElement(lax = true)
+ protected Object any;
+
+ /**
+ * Gets the value of the multilingualGeneralDiploma property.
+ *
+ * @return possible object is {@link MultilingualGeneralDiplomaType }
+ *
+ */
+ public MultilingualGeneralDiplomaType getMultilingualGeneralDiploma() {
+ return multilingualGeneralDiploma;
+ }
+
+ /**
+ * Sets the value of the multilingualGeneralDiploma property.
+ *
+ * @param value
+ * allowed object is {@link MultilingualGeneralDiplomaType }
+ *
+ */
+ public void setMultilingualGeneralDiploma(MultilingualGeneralDiplomaType value) {
+ this.multilingualGeneralDiploma = value;
+ }
+
+ /**
+ * Gets the value of the generalDiploma property.
+ *
+ * @return possible object is {@link GeneralDiplomaType }
+ *
+ */
+ public GeneralDiplomaType getGeneralDiploma() {
+ return generalDiploma;
+ }
+
+ /**
+ * Sets the value of the generalDiploma property.
+ *
+ * @param value
+ * allowed object is {@link GeneralDiplomaType }
+ *
+ */
+ public void setGeneralDiploma(GeneralDiplomaType value) {
+ this.generalDiploma = value;
+ }
+
+ /**
+ * Gets the value of the yearOfStudy property.
+ *
+ * @return possible object is {@link BigInteger }
+ *
+ */
+ public BigInteger getYearOfStudy() {
+ return yearOfStudy;
+ }
+
+ /**
+ * Sets the value of the yearOfStudy property.
+ *
+ * @param value
+ * allowed object is {@link BigInteger }
+ *
+ */
+ public void setYearOfStudy(BigInteger value) {
+ this.yearOfStudy = value;
+ }
+
+ /**
+ * Gets the value of the isEligibleForInternship property.
+ *
+ */
+ public boolean isIsEligibleForInternship() {
+ return isEligibleForInternship;
+ }
+
+ /**
+ * Sets the value of the isEligibleForInternship property.
+ *
+ */
+ public void setIsEligibleForInternship(boolean value) {
+ this.isEligibleForInternship = value;
+ }
+
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
+
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
+
+ /**
+ * Gets the value of the any property.
+ *
+ * @return possible object is {@link Object }
+ *
+ */
+ public Object getAny() {
+ return any;
+ }
+
+ /**
+ * Sets the value of the any property.
+ *
+ * @param value
+ * allowed object is {@link Object }
+ *
+ */
+ public void setAny(Object value) {
+ this.any = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/DiplomaSupplementType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/DiplomaSupplementType.java
index 584a2e771..c02ffc01f 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/DiplomaSupplementType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/DiplomaSupplementType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -17,11 +16,12 @@ import eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupple
import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.GeneralDiplomaType;
import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.MultilingualGeneralDiplomaType;
-
/**
- * <p>Java class for diplomaSupplementType complex type.
+ * <p>
+ * Java class for diplomaSupplementType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="diplomaSupplementType">
@@ -45,163 +45,141 @@ import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.ge
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "diplomaSupplementType", propOrder = {
- "multilingualDiplomaSupplement",
- "diplomaSupplement",
- "multilingualGeneralDiploma",
- "generalDiploma",
- "aqaa",
- "any"
-})
+@XmlType(name = "diplomaSupplementType", propOrder = { "multilingualDiplomaSupplement", "diplomaSupplement", "multilingualGeneralDiploma", "generalDiploma", "aqaa", "any" })
public class DiplomaSupplementType {
- @XmlElement(name = "MultilingualDiplomaSupplement", namespace = "urn:crue:academic:xsd:language:diplomasupplement")
- protected MultilingualDiplomaSupplementType multilingualDiplomaSupplement;
- @XmlElement(name = "DiplomaSupplement", namespace = "urn:crue:academic:xsd:language:diplomasupplement")
- protected eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.DiplomaSupplementType diplomaSupplement;
- @XmlElement(name = "MultilingualGeneralDiploma", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma")
- protected MultilingualGeneralDiplomaType multilingualGeneralDiploma;
- @XmlElement(name = "GeneralDiploma", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma")
- protected GeneralDiplomaType generalDiploma;
- @XmlElement(name = "AQAA")
- protected int aqaa;
- @XmlAnyElement(lax = true)
- protected Object any;
-
- /**
- * Gets the value of the multilingualDiplomaSupplement property.
- *
- * @return
- * possible object is
- * {@link MultilingualDiplomaSupplementType }
- *
- */
- public MultilingualDiplomaSupplementType getMultilingualDiplomaSupplement() {
- return multilingualDiplomaSupplement;
- }
-
- /**
- * Sets the value of the multilingualDiplomaSupplement property.
- *
- * @param value
- * allowed object is
- * {@link MultilingualDiplomaSupplementType }
- *
- */
- public void setMultilingualDiplomaSupplement(MultilingualDiplomaSupplementType value) {
- this.multilingualDiplomaSupplement = value;
- }
-
- /**
- * Gets the value of the diplomaSupplement property.
- *
- * @return
- * possible object is
- * {@link crue.academic.xsd.language.diplomasupplement.DiplomaSupplementType }
- *
- */
- public eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.DiplomaSupplementType getDiplomaSupplement() {
- return diplomaSupplement;
- }
-
- /**
- * Sets the value of the diplomaSupplement property.
- *
- * @param value
- * allowed object is
- * {@link crue.academic.xsd.language.diplomasupplement.DiplomaSupplementType }
- *
- */
- public void setDiplomaSupplement(eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.DiplomaSupplementType value) {
- this.diplomaSupplement = value;
- }
-
- /**
- * Gets the value of the multilingualGeneralDiploma property.
- *
- * @return
- * possible object is
- * {@link MultilingualGeneralDiplomaType }
- *
- */
- public MultilingualGeneralDiplomaType getMultilingualGeneralDiploma() {
- return multilingualGeneralDiploma;
- }
-
- /**
- * Sets the value of the multilingualGeneralDiploma property.
- *
- * @param value
- * allowed object is
- * {@link MultilingualGeneralDiplomaType }
- *
- */
- public void setMultilingualGeneralDiploma(MultilingualGeneralDiplomaType value) {
- this.multilingualGeneralDiploma = value;
- }
-
- /**
- * Gets the value of the generalDiploma property.
- *
- * @return
- * possible object is
- * {@link GeneralDiplomaType }
- *
- */
- public GeneralDiplomaType getGeneralDiploma() {
- return generalDiploma;
- }
-
- /**
- * Sets the value of the generalDiploma property.
- *
- * @param value
- * allowed object is
- * {@link GeneralDiplomaType }
- *
- */
- public void setGeneralDiploma(GeneralDiplomaType value) {
- this.generalDiploma = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
-
- /**
- * Gets the value of the any property.
- *
- * @return
- * possible object is
- * {@link Object }
- *
- */
- public Object getAny() {
- return any;
- }
-
- /**
- * Sets the value of the any property.
- *
- * @param value
- * allowed object is
- * {@link Object }
- *
- */
- public void setAny(Object value) {
- this.any = value;
- }
+ @XmlElement(name = "MultilingualDiplomaSupplement", namespace = "urn:crue:academic:xsd:language:diplomasupplement")
+ protected MultilingualDiplomaSupplementType multilingualDiplomaSupplement;
+ @XmlElement(name = "DiplomaSupplement", namespace = "urn:crue:academic:xsd:language:diplomasupplement")
+ protected eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.DiplomaSupplementType diplomaSupplement;
+ @XmlElement(name = "MultilingualGeneralDiploma", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma")
+ protected MultilingualGeneralDiplomaType multilingualGeneralDiploma;
+ @XmlElement(name = "GeneralDiploma", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma")
+ protected GeneralDiplomaType generalDiploma;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
+ @XmlAnyElement(lax = true)
+ protected Object any;
+
+ /**
+ * Gets the value of the multilingualDiplomaSupplement property.
+ *
+ * @return possible object is {@link MultilingualDiplomaSupplementType }
+ *
+ */
+ public MultilingualDiplomaSupplementType getMultilingualDiplomaSupplement() {
+ return multilingualDiplomaSupplement;
+ }
+
+ /**
+ * Sets the value of the multilingualDiplomaSupplement property.
+ *
+ * @param value
+ * allowed object is {@link MultilingualDiplomaSupplementType }
+ *
+ */
+ public void setMultilingualDiplomaSupplement(MultilingualDiplomaSupplementType value) {
+ this.multilingualDiplomaSupplement = value;
+ }
+
+ /**
+ * Gets the value of the diplomaSupplement property.
+ *
+ * @return possible object is {@link crue.academic.xsd.language.diplomasupplement.DiplomaSupplementType }
+ *
+ */
+ public eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.DiplomaSupplementType getDiplomaSupplement() {
+ return diplomaSupplement;
+ }
+
+ /**
+ * Sets the value of the diplomaSupplement property.
+ *
+ * @param value
+ * allowed object is {@link crue.academic.xsd.language.diplomasupplement.DiplomaSupplementType }
+ *
+ */
+ public void setDiplomaSupplement(eu.stork.peps.complex.attributes.crue.academic.xsd.language.diplomasupplement.DiplomaSupplementType value) {
+ this.diplomaSupplement = value;
+ }
+
+ /**
+ * Gets the value of the multilingualGeneralDiploma property.
+ *
+ * @return possible object is {@link MultilingualGeneralDiplomaType }
+ *
+ */
+ public MultilingualGeneralDiplomaType getMultilingualGeneralDiploma() {
+ return multilingualGeneralDiploma;
+ }
+
+ /**
+ * Sets the value of the multilingualGeneralDiploma property.
+ *
+ * @param value
+ * allowed object is {@link MultilingualGeneralDiplomaType }
+ *
+ */
+ public void setMultilingualGeneralDiploma(MultilingualGeneralDiplomaType value) {
+ this.multilingualGeneralDiploma = value;
+ }
+
+ /**
+ * Gets the value of the generalDiploma property.
+ *
+ * @return possible object is {@link GeneralDiplomaType }
+ *
+ */
+ public GeneralDiplomaType getGeneralDiploma() {
+ return generalDiploma;
+ }
+
+ /**
+ * Sets the value of the generalDiploma property.
+ *
+ * @param value
+ * allowed object is {@link GeneralDiplomaType }
+ *
+ */
+ public void setGeneralDiploma(GeneralDiplomaType value) {
+ this.generalDiploma = value;
+ }
+
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
+
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
+
+ /**
+ * Gets the value of the any property.
+ *
+ * @return possible object is {@link Object }
+ *
+ */
+ public Object getAny() {
+ return any;
+ }
+
+ /**
+ * Sets the value of the any property.
+ *
+ * @param value
+ * allowed object is {@link Object }
+ *
+ */
+ public void setAny(Object value) {
+ this.any = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/Habilitation.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/Habilitation.java
index b0fc4d245..dcb37d8f6 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/Habilitation.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/Habilitation.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for habilitation complex type.
+ * <p>
+ * Java class for habilitation complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="habilitation">
@@ -35,55 +35,49 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "habilitation", propOrder = {
- "ability",
- "aqaa"
-})
+@XmlType(name = "habilitation", propOrder = { "ability", "aqaa" })
public class Habilitation {
- @XmlElement(required = true)
- protected String ability;
- @XmlElement(name = "AQAA")
- protected int aqaa;
+ @XmlElement(required = true)
+ protected String ability;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
- /**
- * Gets the value of the ability property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAbility() {
- return ability;
- }
+ /**
+ * Gets the value of the ability property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAbility() {
+ return ability;
+ }
- /**
- * Sets the value of the ability property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAbility(String value) {
- this.ability = value;
- }
+ /**
+ * Sets the value of the ability property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAbility(String value) {
+ this.ability = value;
+ }
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HabilitationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HabilitationType.java
index 92d600244..736d68b61 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HabilitationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HabilitationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for habilitationType complex type.
+ * <p>
+ * Java class for habilitationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="habilitationType">
@@ -35,55 +35,49 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "habilitationType", propOrder = {
- "ability",
- "aqaa"
-})
+@XmlType(name = "habilitationType", propOrder = { "ability", "aqaa" })
public class HabilitationType {
- @XmlElement(required = true)
- protected String ability;
- @XmlElement(name = "AQAA")
- protected int aqaa;
+ @XmlElement(required = true)
+ protected String ability;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
- /**
- * Gets the value of the ability property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAbility() {
- return ability;
- }
+ /**
+ * Gets the value of the ability property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAbility() {
+ return ability;
+ }
- /**
- * Sets the value of the ability property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAbility(String value) {
- this.ability = value;
- }
+ /**
+ * Sets the value of the ability property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAbility(String value) {
+ this.ability = value;
+ }
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HasAccountInBankType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HasAccountInBankType.java
index 6e4edc6e0..4130094a2 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HasAccountInBankType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HasAccountInBankType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for hasAccountInBankType complex type.
+ * <p>
+ * Java class for hasAccountInBankType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="hasAccountInBankType">
@@ -35,55 +35,49 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "hasAccountInBankType", propOrder = {
- "bankName",
- "aqaa"
-})
+@XmlType(name = "hasAccountInBankType", propOrder = { "bankName", "aqaa" })
public class HasAccountInBankType {
- @XmlElement(required = true)
- protected String bankName;
- @XmlElement(name = "AQAA")
- protected int aqaa;
+ @XmlElement(required = true)
+ protected String bankName;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
- /**
- * Gets the value of the bankName property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getBankName() {
- return bankName;
- }
+ /**
+ * Gets the value of the bankName property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getBankName() {
+ return bankName;
+ }
- /**
- * Sets the value of the bankName property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setBankName(String value) {
- this.bankName = value;
- }
+ /**
+ * Sets the value of the bankName property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setBankName(String value) {
+ this.bankName = value;
+ }
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HasDegreeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HasDegreeType.java
index 789a527e4..c9e387823 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HasDegreeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/HasDegreeType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import java.math.BigInteger;
@@ -14,11 +13,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for hasDegreeType complex type.
+ * <p>
+ * Java class for hasDegreeType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="hasDegreeType">
@@ -39,136 +39,118 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "hasDegreeType", propOrder = {
- "study",
- "level",
- "yearObtained",
- "nameOfInstitution",
- "aqaa"
-})
+@XmlType(name = "hasDegreeType", propOrder = { "study", "level", "yearObtained", "nameOfInstitution", "aqaa" })
public class HasDegreeType {
- @XmlElement(required = true)
- protected String study;
- @XmlElement(required = true)
- protected String level;
- @XmlElement(required = true)
- protected BigInteger yearObtained;
- @XmlElement(required = true)
- protected String nameOfInstitution;
- @XmlElement(name = "AQAA")
- protected int aqaa;
-
- /**
- * Gets the value of the study property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStudy() {
- return study;
- }
-
- /**
- * Sets the value of the study property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStudy(String value) {
- this.study = value;
- }
-
- /**
- * Gets the value of the level property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getLevel() {
- return level;
- }
-
- /**
- * Sets the value of the level property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setLevel(String value) {
- this.level = value;
- }
-
- /**
- * Gets the value of the yearObtained property.
- *
- * @return
- * possible object is
- * {@link BigInteger }
- *
- */
- public BigInteger getYearObtained() {
- return yearObtained;
- }
-
- /**
- * Sets the value of the yearObtained property.
- *
- * @param value
- * allowed object is
- * {@link BigInteger }
- *
- */
- public void setYearObtained(BigInteger value) {
- this.yearObtained = value;
- }
-
- /**
- * Gets the value of the nameOfInstitution property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameOfInstitution() {
- return nameOfInstitution;
- }
-
- /**
- * Sets the value of the nameOfInstitution property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameOfInstitution(String value) {
- this.nameOfInstitution = value;
- }
-
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
-
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
+ @XmlElement(required = true)
+ protected String study;
+ @XmlElement(required = true)
+ protected String level;
+ @XmlElement(required = true)
+ protected BigInteger yearObtained;
+ @XmlElement(required = true)
+ protected String nameOfInstitution;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
+
+ /**
+ * Gets the value of the study property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getStudy() {
+ return study;
+ }
+
+ /**
+ * Sets the value of the study property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setStudy(String value) {
+ this.study = value;
+ }
+
+ /**
+ * Gets the value of the level property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getLevel() {
+ return level;
+ }
+
+ /**
+ * Sets the value of the level property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setLevel(String value) {
+ this.level = value;
+ }
+
+ /**
+ * Gets the value of the yearObtained property.
+ *
+ * @return possible object is {@link BigInteger }
+ *
+ */
+ public BigInteger getYearObtained() {
+ return yearObtained;
+ }
+
+ /**
+ * Sets the value of the yearObtained property.
+ *
+ * @param value
+ * allowed object is {@link BigInteger }
+ *
+ */
+ public void setYearObtained(BigInteger value) {
+ this.yearObtained = value;
+ }
+
+ /**
+ * Gets the value of the nameOfInstitution property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNameOfInstitution() {
+ return nameOfInstitution;
+ }
+
+ /**
+ * Sets the value of the nameOfInstitution property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNameOfInstitution(String value) {
+ this.nameOfInstitution = value;
+ }
+
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
+
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsAcademicStaffType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsAcademicStaffType.java
index fe4422b94..6ce45f90d 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsAcademicStaffType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsAcademicStaffType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for isAcademicStaffType complex type.
+ * <p>
+ * Java class for isAcademicStaffType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="isAcademicStaffType">
@@ -37,108 +37,94 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isAcademicStaffType", propOrder = {
- "nameOfInstitution",
- "occupation",
- "knowledgeArea",
- "aqaa"
-})
+@XmlType(name = "isAcademicStaffType", propOrder = { "nameOfInstitution", "occupation", "knowledgeArea", "aqaa" })
public class IsAcademicStaffType {
- @XmlElement(required = true)
- protected String nameOfInstitution;
- @XmlElement(required = true)
- protected String occupation;
- protected String knowledgeArea;
- @XmlElement(name = "AQAA")
- protected int aqaa;
+ @XmlElement(required = true)
+ protected String nameOfInstitution;
+ @XmlElement(required = true)
+ protected String occupation;
+ protected String knowledgeArea;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
- /**
- * Gets the value of the nameOfInstitution property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameOfInstitution() {
- return nameOfInstitution;
- }
+ /**
+ * Gets the value of the nameOfInstitution property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNameOfInstitution() {
+ return nameOfInstitution;
+ }
- /**
- * Sets the value of the nameOfInstitution property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameOfInstitution(String value) {
- this.nameOfInstitution = value;
- }
+ /**
+ * Sets the value of the nameOfInstitution property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNameOfInstitution(String value) {
+ this.nameOfInstitution = value;
+ }
- /**
- * Gets the value of the occupation property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getOccupation() {
- return occupation;
- }
+ /**
+ * Gets the value of the occupation property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getOccupation() {
+ return occupation;
+ }
- /**
- * Sets the value of the occupation property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setOccupation(String value) {
- this.occupation = value;
- }
+ /**
+ * Sets the value of the occupation property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setOccupation(String value) {
+ this.occupation = value;
+ }
- /**
- * Gets the value of the knowledgeArea property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getKnowledgeArea() {
- return knowledgeArea;
- }
+ /**
+ * Gets the value of the knowledgeArea property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getKnowledgeArea() {
+ return knowledgeArea;
+ }
- /**
- * Sets the value of the knowledgeArea property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setKnowledgeArea(String value) {
- this.knowledgeArea = value;
- }
+ /**
+ * Sets the value of the knowledgeArea property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setKnowledgeArea(String value) {
+ this.knowledgeArea = value;
+ }
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsAdminStaffType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsAdminStaffType.java
index 3cc073ed8..b48f6192f 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsAdminStaffType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsAdminStaffType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for isAdminStaffType complex type.
+ * <p>
+ * Java class for isAdminStaffType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="isAdminStaffType">
@@ -35,55 +35,49 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isAdminStaffType", propOrder = {
- "adminStaff",
- "aqaa"
-})
+@XmlType(name = "isAdminStaffType", propOrder = { "adminStaff", "aqaa" })
public class IsAdminStaffType {
- @XmlElement(required = true)
- protected String adminStaff;
- @XmlElement(name = "AQAA")
- protected int aqaa;
+ @XmlElement(required = true)
+ protected String adminStaff;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
- /**
- * Gets the value of the adminStaff property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAdminStaff() {
- return adminStaff;
- }
+ /**
+ * Gets the value of the adminStaff property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAdminStaff() {
+ return adminStaff;
+ }
- /**
- * Sets the value of the adminStaff property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAdminStaff(String value) {
- this.adminStaff = value;
- }
+ /**
+ * Sets the value of the adminStaff property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAdminStaff(String value) {
+ this.adminStaff = value;
+ }
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsCourseCoordinatorType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsCourseCoordinatorType.java
index d2151e30c..492acfbec 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsCourseCoordinatorType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsCourseCoordinatorType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for isCourseCoordinatorType complex type.
+ * <p>
+ * Java class for isCourseCoordinatorType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="isCourseCoordinatorType">
@@ -35,55 +35,49 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isCourseCoordinatorType", propOrder = {
- "courseCoodinator",
- "aqaa"
-})
+@XmlType(name = "isCourseCoordinatorType", propOrder = { "courseCoodinator", "aqaa" })
public class IsCourseCoordinatorType {
- @XmlElement(required = true)
- protected String courseCoodinator;
- @XmlElement(name = "AQAA")
- protected int aqaa;
+ @XmlElement(required = true)
+ protected String courseCoodinator;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
- /**
- * Gets the value of the courseCoodinator property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCourseCoodinator() {
- return courseCoodinator;
- }
+ /**
+ * Gets the value of the courseCoodinator property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCourseCoodinator() {
+ return courseCoodinator;
+ }
- /**
- * Sets the value of the courseCoodinator property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCourseCoodinator(String value) {
- this.courseCoodinator = value;
- }
+ /**
+ * Sets the value of the courseCoodinator property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCourseCoodinator(String value) {
+ this.courseCoodinator = value;
+ }
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsHealthCareProfessionalDeprecatedType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsHealthCareProfessionalDeprecatedType.java
index 711b7d68d..a448a7bbe 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsHealthCareProfessionalDeprecatedType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsHealthCareProfessionalDeprecatedType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.11.27 at 06:17:01 PM CET
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for isHealthCareProfessional_deprecatedType complex type.
+ * <p>
+ * Java class for isHealthCareProfessional_deprecatedType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="isHealthCareProfessional_deprecatedType">
@@ -37,109 +37,95 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isHealthCareProfessional_deprecatedType", propOrder = {
- "nameOfOrganisation",
- "hcpType",
- "specialisation",
- "aqaa"
-})
+@XmlType(name = "isHealthCareProfessional_deprecatedType", propOrder = { "nameOfOrganisation", "hcpType", "specialisation", "aqaa" })
public class IsHealthCareProfessionalDeprecatedType {
- @XmlElement(required = true)
- protected String nameOfOrganisation;
- @XmlElement(name = "HCPType", required = true)
- protected String hcpType;
- @XmlElement(required = true)
- protected String specialisation;
- @XmlElement(name = "AQAA")
- protected int aqaa;
+ @XmlElement(required = true)
+ protected String nameOfOrganisation;
+ @XmlElement(name = "HCPType", required = true)
+ protected String hcpType;
+ @XmlElement(required = true)
+ protected String specialisation;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
- /**
- * Gets the value of the nameOfOrganisation property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameOfOrganisation() {
- return nameOfOrganisation;
- }
+ /**
+ * Gets the value of the nameOfOrganisation property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNameOfOrganisation() {
+ return nameOfOrganisation;
+ }
- /**
- * Sets the value of the nameOfOrganisation property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameOfOrganisation(String value) {
- this.nameOfOrganisation = value;
- }
+ /**
+ * Sets the value of the nameOfOrganisation property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNameOfOrganisation(String value) {
+ this.nameOfOrganisation = value;
+ }
- /**
- * Gets the value of the hcpType property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getHCPType() {
- return hcpType;
- }
+ /**
+ * Gets the value of the hcpType property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getHCPType() {
+ return hcpType;
+ }
- /**
- * Sets the value of the hcpType property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setHCPType(String value) {
- this.hcpType = value;
- }
+ /**
+ * Sets the value of the hcpType property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setHCPType(String value) {
+ this.hcpType = value;
+ }
- /**
- * Gets the value of the specialisation property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getSpecialisation() {
- return specialisation;
- }
+ /**
+ * Gets the value of the specialisation property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getSpecialisation() {
+ return specialisation;
+ }
- /**
- * Sets the value of the specialisation property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setSpecialisation(String value) {
- this.specialisation = value;
- }
+ /**
+ * Sets the value of the specialisation property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setSpecialisation(String value) {
+ this.specialisation = value;
+ }
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsHealthCareProfessionalType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsHealthCareProfessionalType.java
index be11e4ee8..02379d8b0 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsHealthCareProfessionalType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsHealthCareProfessionalType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.11.27 at 06:17:01 PM CET
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for isHealthCareProfessionalType complex type.
+ * <p>
+ * Java class for isHealthCareProfessionalType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="isHealthCareProfessionalType">
@@ -60,109 +60,95 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isHealthCareProfessionalType", propOrder = {
- "typeOfHCP",
- "nameOfOrganisation",
- "typeOfOrganisation",
- "aqaa"
-})
+@XmlType(name = "isHealthCareProfessionalType", propOrder = { "typeOfHCP", "nameOfOrganisation", "typeOfOrganisation", "aqaa" })
public class IsHealthCareProfessionalType {
- @XmlElement(required = true)
- protected String typeOfHCP;
- @XmlElement(required = true)
- protected String nameOfOrganisation;
- @XmlElement(required = true)
- protected String typeOfOrganisation;
- @XmlElement(name = "AQAA")
- protected int aqaa;
+ @XmlElement(required = true)
+ protected String typeOfHCP;
+ @XmlElement(required = true)
+ protected String nameOfOrganisation;
+ @XmlElement(required = true)
+ protected String typeOfOrganisation;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
- /**
- * Gets the value of the typeOfHCP property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTypeOfHCP() {
- return typeOfHCP;
- }
+ /**
+ * Gets the value of the typeOfHCP property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTypeOfHCP() {
+ return typeOfHCP;
+ }
- /**
- * Sets the value of the typeOfHCP property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTypeOfHCP(String value) {
- this.typeOfHCP = value;
- }
+ /**
+ * Sets the value of the typeOfHCP property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTypeOfHCP(String value) {
+ this.typeOfHCP = value;
+ }
- /**
- * Gets the value of the nameOfOrganisation property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameOfOrganisation() {
- return nameOfOrganisation;
- }
+ /**
+ * Gets the value of the nameOfOrganisation property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNameOfOrganisation() {
+ return nameOfOrganisation;
+ }
- /**
- * Sets the value of the nameOfOrganisation property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameOfOrganisation(String value) {
- this.nameOfOrganisation = value;
- }
+ /**
+ * Sets the value of the nameOfOrganisation property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNameOfOrganisation(String value) {
+ this.nameOfOrganisation = value;
+ }
- /**
- * Gets the value of the typeOfOrganisation property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTypeOfOrganisation() {
- return typeOfOrganisation;
- }
+ /**
+ * Gets the value of the typeOfOrganisation property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTypeOfOrganisation() {
+ return typeOfOrganisation;
+ }
- /**
- * Sets the value of the typeOfOrganisation property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTypeOfOrganisation(String value) {
- this.typeOfOrganisation = value;
- }
+ /**
+ * Sets the value of the typeOfOrganisation property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTypeOfOrganisation(String value) {
+ this.typeOfOrganisation = value;
+ }
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsStudentType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsStudentType.java
index e02ec9811..02fed8bc8 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsStudentType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsStudentType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for isStudentType complex type.
+ * <p>
+ * Java class for isStudentType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="isStudentType">
@@ -37,107 +37,93 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isStudentType", propOrder = {
- "study",
- "nameOfInstitution",
- "course",
- "aqaa"
-})
+@XmlType(name = "isStudentType", propOrder = { "study", "nameOfInstitution", "course", "aqaa" })
public class IsStudentType {
- protected String study;
- @XmlElement(required = true)
- protected String nameOfInstitution;
- protected String course;
- @XmlElement(name = "AQAA")
- protected int aqaa;
+ protected String study;
+ @XmlElement(required = true)
+ protected String nameOfInstitution;
+ protected String course;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
- /**
- * Gets the value of the study property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStudy() {
- return study;
- }
+ /**
+ * Gets the value of the study property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getStudy() {
+ return study;
+ }
- /**
- * Sets the value of the study property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStudy(String value) {
- this.study = value;
- }
+ /**
+ * Sets the value of the study property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setStudy(String value) {
+ this.study = value;
+ }
- /**
- * Gets the value of the nameOfInstitution property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameOfInstitution() {
- return nameOfInstitution;
- }
+ /**
+ * Gets the value of the nameOfInstitution property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNameOfInstitution() {
+ return nameOfInstitution;
+ }
- /**
- * Sets the value of the nameOfInstitution property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameOfInstitution(String value) {
- this.nameOfInstitution = value;
- }
+ /**
+ * Sets the value of the nameOfInstitution property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNameOfInstitution(String value) {
+ this.nameOfInstitution = value;
+ }
- /**
- * Gets the value of the course property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCourse() {
- return course;
- }
+ /**
+ * Gets the value of the course property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCourse() {
+ return course;
+ }
- /**
- * Sets the value of the course property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCourse(String value) {
- this.course = value;
- }
+ /**
+ * Sets the value of the course property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCourse(String value) {
+ this.course = value;
+ }
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsTeacherOfType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsTeacherOfType.java
index 4a1262003..9de9d18c9 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsTeacherOfType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/IsTeacherOfType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for isTeacherOfType complex type.
+ * <p>
+ * Java class for isTeacherOfType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="isTeacherOfType">
@@ -37,109 +37,95 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "isTeacherOfType", propOrder = {
- "nameOfInstitution",
- "course",
- "role",
- "aqaa"
-})
+@XmlType(name = "isTeacherOfType", propOrder = { "nameOfInstitution", "course", "role", "aqaa" })
public class IsTeacherOfType {
- @XmlElement(required = true)
- protected String nameOfInstitution;
- @XmlElement(required = true)
- protected String course;
- @XmlElement(required = true)
- protected String role;
- @XmlElement(name = "AQAA")
- protected int aqaa;
+ @XmlElement(required = true)
+ protected String nameOfInstitution;
+ @XmlElement(required = true)
+ protected String course;
+ @XmlElement(required = true)
+ protected String role;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
- /**
- * Gets the value of the nameOfInstitution property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameOfInstitution() {
- return nameOfInstitution;
- }
+ /**
+ * Gets the value of the nameOfInstitution property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNameOfInstitution() {
+ return nameOfInstitution;
+ }
- /**
- * Sets the value of the nameOfInstitution property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameOfInstitution(String value) {
- this.nameOfInstitution = value;
- }
+ /**
+ * Sets the value of the nameOfInstitution property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNameOfInstitution(String value) {
+ this.nameOfInstitution = value;
+ }
- /**
- * Gets the value of the course property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCourse() {
- return course;
- }
+ /**
+ * Gets the value of the course property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCourse() {
+ return course;
+ }
- /**
- * Sets the value of the course property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCourse(String value) {
- this.course = value;
- }
+ /**
+ * Sets the value of the course property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCourse(String value) {
+ this.course = value;
+ }
- /**
- * Gets the value of the role property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getRole() {
- return role;
- }
+ /**
+ * Gets the value of the role property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getRole() {
+ return role;
+ }
- /**
- * Sets the value of the role property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setRole(String value) {
- this.role = value;
- }
+ /**
+ * Sets the value of the role property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setRole(String value) {
+ this.role = value;
+ }
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/MandateContentType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/MandateContentType.java
index b3386cdb5..824e79c70 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/MandateContentType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/MandateContentType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.10.29 at 02:15:24 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for mandateContentType complex type.
+ * <p>
+ * Java class for mandateContentType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="mandateContentType">
@@ -43,267 +43,234 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "mandateContentType", propOrder = {
- "typePower",
- "typeOfPower",
- "timeRestriction",
- "transactionLimit",
- "isJoined",
- "isJoint",
- "isChained",
- "originalMandateType",
- "originalMandate",
- "aqaa"
-})
+@XmlType(name = "mandateContentType", propOrder = { "typePower", "typeOfPower", "timeRestriction", "transactionLimit", "isJoined", "isJoint", "isChained", "originalMandateType", "originalMandate",
+ "aqaa" })
public class MandateContentType {
- @XmlElement(required = true)
- protected String typePower;
- @XmlElement(required = true)
- protected String typeOfPower;
- @XmlElement(required = true)
- protected TimeRestrictionType timeRestriction;
- @XmlElement(required = true)
- protected String isJoined;
- @XmlElement(required = true)
- protected String isJoint;
- protected boolean isChained;
- @XmlElement(required = true)
- protected byte[] originalMandate;
- @XmlElement(required = true)
- protected String originalMandateType;
- @XmlElement(required = true)
- protected TransactionLimitRestrictionType transactionLimit;
- @XmlElement(name = "AQAA")
- protected int aqaa;
+ @XmlElement(required = true)
+ protected String typePower;
+ @XmlElement(required = true)
+ protected String typeOfPower;
+ @XmlElement(required = true)
+ protected TimeRestrictionType timeRestriction;
+ @XmlElement(required = true)
+ protected String isJoined;
+ @XmlElement(required = true)
+ protected String isJoint;
+ protected boolean isChained;
+ @XmlElement(required = true)
+ protected byte[] originalMandate;
+ @XmlElement(required = true)
+ protected String originalMandateType;
+ @XmlElement(required = true)
+ protected TransactionLimitRestrictionType transactionLimit;
+ @XmlElement(name = "AQAA")
+ protected int aqaa;
+
+ /**
+ * Gets the value of the typePower property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTypePower() {
+ return typePower;
+ }
+
+ /**
+ * Sets the value of the typePower property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTypePower(String value) {
+ this.typePower = value;
+ this.typeOfPower = value;
+ }
+
+ /**
+ * Gets the value of the typeOfPower property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTypeOfPower() {
+ return typeOfPower;
+ }
- /**
- * Gets the value of the typePower property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTypePower() {
- return typePower;
- }
+ /**
+ * Sets the value of the typeOfPower property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTypeOfPower(String value) {
+ this.typeOfPower = value;
+ this.typePower = value;
+ }
- /**
- * Sets the value of the typePower property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTypePower(String value) {
- this.typePower = value;
- this.typeOfPower = value;
- }
+ /**
+ * Gets the value of the timeRestriction property.
+ *
+ * @return possible object is {@link TimeRestrictionType }
+ *
+ */
+ public TimeRestrictionType getTimeRestriction() {
+ return timeRestriction;
+ }
- /**
- * Gets the value of the typeOfPower property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTypeOfPower() {
- return typeOfPower;
- }
+ /**
+ * Sets the value of the timeRestriction property.
+ *
+ * @param value
+ * allowed object is {@link TimeRestrictionType }
+ *
+ */
+ public void setTimeRestriction(TimeRestrictionType value) {
+ this.timeRestriction = value;
+ }
- /**
- * Sets the value of the typeOfPower property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTypeOfPower(String value) {
- this.typeOfPower = value;
- this.typePower = value;
- }
+ /**
+ * Gets the value of the isJoined property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getIsJoined() {
+ return isJoined;
+ }
- /**
- * Gets the value of the timeRestriction property.
- *
- * @return
- * possible object is
- * {@link TimeRestrictionType }
- *
- */
- public TimeRestrictionType getTimeRestriction() {
- return timeRestriction;
- }
+ /**
+ * Sets the value of the isJoined property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setIsJoined(String value) {
+ this.isJoined = value;
+ this.isJoint = value;
+ }
- /**
- * Sets the value of the timeRestriction property.
- *
- * @param value
- * allowed object is
- * {@link TimeRestrictionType }
- *
- */
- public void setTimeRestriction(TimeRestrictionType value) {
- this.timeRestriction = value;
- }
+ /**
+ * Gets the value of the isJoint property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getIsJoint() {
+ return isJoint;
+ }
- /**
- * Gets the value of the isJoined property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getIsJoined() {
- return isJoined;
- }
+ /**
+ * Sets the value of the isJoint property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setIsJoint(String value) {
+ this.isJoint = value;
+ this.isJoined = value;
+ }
- /**
- * Sets the value of the isJoined property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setIsJoined(String value) {
- this.isJoined = value;
- this.isJoint = value;
- }
+ /**
+ * Gets the value of the isChained property.
+ *
+ */
+ public boolean isIsChained() {
+ return isChained;
+ }
- /**
- * Gets the value of the isJoint property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getIsJoint() {
- return isJoint;
- }
+ /**
+ * Sets the value of the isChained property.
+ *
+ */
+ public void setIsChained(boolean value) {
+ this.isChained = value;
+ }
- /**
- * Sets the value of the isJoint property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setIsJoint(String value) {
- this.isJoint = value;
- this.isJoined = value;
- }
+ public void setIschained(boolean value) {
+ setIsChained(value);
+ }
- /**
- * Gets the value of the isChained property.
- *
- */
- public boolean isIsChained() {
- return isChained;
- }
-
- /**
- * Sets the value of the isChained property.
- *
- */
- public void setIsChained(boolean value) {
- this.isChained = value;
- }
-
- public void setIschained(boolean value){
- setIsChained(value);
- }
- /**
- * Gets the value of the originalMandate property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getOriginalMandate() {
- return originalMandate;
- }
+ /**
+ * Gets the value of the originalMandate property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getOriginalMandate() {
+ return originalMandate;
+ }
- /**
- * Sets the value of the originalMandate property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setOriginalMandate(byte[] value) {
- this.originalMandate = value;
- }
+ /**
+ * Sets the value of the originalMandate property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setOriginalMandate(byte[] value) {
+ this.originalMandate = value;
+ }
- /**
- * Gets the value of the originalMandateType property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getOriginalMandateType() {
- return originalMandateType;
- }
+ /**
+ * Gets the value of the originalMandateType property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getOriginalMandateType() {
+ return originalMandateType;
+ }
- /**
- * Sets the value of the originalMandateType property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setOriginalMandateType(String value) {
- this.originalMandateType = value;
- }
+ /**
+ * Sets the value of the originalMandateType property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setOriginalMandateType(String value) {
+ this.originalMandateType = value;
+ }
- /**
- * Gets the value of the transactionLimit property.
- *
- * @return
- * possible object is
- * {@link TransactionLimitRestrictionType }
- *
- */
- public TransactionLimitRestrictionType getTransactionLimit() {
- return transactionLimit;
- }
+ /**
+ * Gets the value of the transactionLimit property.
+ *
+ * @return possible object is {@link TransactionLimitRestrictionType }
+ *
+ */
+ public TransactionLimitRestrictionType getTransactionLimit() {
+ return transactionLimit;
+ }
- /**
- * Sets the value of the transactionLimit property.
- *
- * @param value
- * allowed object is
- * {@link TransactionLimitRestrictionType }
- *
- */
- public void setTransactionLimit(TransactionLimitRestrictionType value) {
- this.transactionLimit = value;
- }
+ /**
+ * Sets the value of the transactionLimit property.
+ *
+ * @param value
+ * allowed object is {@link TransactionLimitRestrictionType }
+ *
+ */
+ public void setTransactionLimit(TransactionLimitRestrictionType value) {
+ this.transactionLimit = value;
+ }
- /**
- * Gets the value of the aqaa property.
- *
- */
- public int getAQAA() {
- return aqaa;
- }
+ /**
+ * Gets the value of the aqaa property.
+ *
+ */
+ public int getAQAA() {
+ return aqaa;
+ }
- /**
- * Sets the value of the aqaa property.
- *
- */
- public void setAQAA(int value) {
- this.aqaa = value;
- }
+ /**
+ * Sets the value of the aqaa property.
+ *
+ */
+ public void setAQAA(int value) {
+ this.aqaa = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/MandateType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/MandateType.java
index 5ac29e2df..94bc2fcff 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/MandateType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/MandateType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.10.09 at 10:11:43 AM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for mandateType complex type.
+ * <p>
+ * Java class for mandateType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="mandateType">
@@ -39,124 +39,108 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "mandateType", propOrder = {
- "represented",
- "representing",
- "representative",
- "mandateContent"
-})
+@XmlType(name = "mandateType", propOrder = { "represented", "representing", "representative", "mandateContent" })
public class MandateType {
- @XmlElement(required = true)
- protected RepresentationPersonType represented;
- @XmlElement(required = true)
- protected RepresentationPersonType representing;
- @XmlElement(required = true)
- protected RepresentationPersonType representative;
- @XmlElement(required = true)
- protected List<MandateContentType> mandateContent;
+ @XmlElement(required = true)
+ protected RepresentationPersonType represented;
+ @XmlElement(required = true)
+ protected RepresentationPersonType representing;
+ @XmlElement(required = true)
+ protected RepresentationPersonType representative;
+ @XmlElement(required = true)
+ protected List<MandateContentType> mandateContent;
- /**
- * Gets the value of the represented property.
- *
- * @return
- * possible object is
- * {@link RepresentationPersonType }
- *
- */
- public RepresentationPersonType getRepresented() {
- return represented;
- }
+ /**
+ * Gets the value of the represented property.
+ *
+ * @return possible object is {@link RepresentationPersonType }
+ *
+ */
+ public RepresentationPersonType getRepresented() {
+ return represented;
+ }
- /**
- * Sets the value of the represented property.
- *
- * @param value
- * allowed object is
- * {@link RepresentationPersonType }
- *
- */
- public void setRepresented(RepresentationPersonType value) {
- this.represented = value;
- }
+ /**
+ * Sets the value of the represented property.
+ *
+ * @param value
+ * allowed object is {@link RepresentationPersonType }
+ *
+ */
+ public void setRepresented(RepresentationPersonType value) {
+ this.represented = value;
+ }
- /**
- * Gets the value of the representing property.
- *
- * @return
- * possible object is
- * {@link RepresentationPersonType }
- *
- */
- public RepresentationPersonType getRepresenting() {
- return representing;
- }
+ /**
+ * Gets the value of the representing property.
+ *
+ * @return possible object is {@link RepresentationPersonType }
+ *
+ */
+ public RepresentationPersonType getRepresenting() {
+ return representing;
+ }
- /**
- * Sets the value of the representing property.
- *
- * @param value
- * allowed object is
- * {@link RepresentationPersonType }
- *
- */
- public void setRepresenting(RepresentationPersonType value) {
- this.representing = value;
- this.representative = value;
- }
+ /**
+ * Sets the value of the representing property.
+ *
+ * @param value
+ * allowed object is {@link RepresentationPersonType }
+ *
+ */
+ public void setRepresenting(RepresentationPersonType value) {
+ this.representing = value;
+ this.representative = value;
+ }
- /**
- * Gets the value of the representative property.
- *
- * @return
- * possible object is
- * {@link RepresentationPersonType }
- *
- */
- public RepresentationPersonType getRepresentative() {
- return representative;
- }
+ /**
+ * Gets the value of the representative property.
+ *
+ * @return possible object is {@link RepresentationPersonType }
+ *
+ */
+ public RepresentationPersonType getRepresentative() {
+ return representative;
+ }
- /**
- * Sets the value of the representative property.
- *
- * @param value
- * allowed object is
- * {@link RepresentationPersonType }
- *
- */
- public void setRepresentative(RepresentationPersonType value) {
- this.representative = value;
- this.representing = value;
- }
+ /**
+ * Sets the value of the representative property.
+ *
+ * @param value
+ * allowed object is {@link RepresentationPersonType }
+ *
+ */
+ public void setRepresentative(RepresentationPersonType value) {
+ this.representative = value;
+ this.representing = value;
+ }
- /**
- * Gets the value of the mandateContent property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the mandateContent property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getMandateContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link MandateContentType }
- *
- *
- */
- public List<MandateContentType> getMandateContent() {
- if (mandateContent == null) {
- mandateContent = new ArrayList<MandateContentType>();
- }
- return this.mandateContent;
- }
+ /**
+ * Gets the value of the mandateContent property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the mandateContent property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getMandateContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link MandateContentType }
+ *
+ *
+ */
+ public List<MandateContentType> getMandateContent() {
+ if (mandateContent == null) {
+ mandateContent = new ArrayList<MandateContentType>();
+ }
+ return this.mandateContent;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/ObjectFactory.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/ObjectFactory.java
index f1ea05d65..02db708c6 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/ObjectFactory.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/ObjectFactory.java
@@ -5,7 +5,6 @@
// Generated on: 2014.11.27 at 06:25:14 PM CET
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.JAXBElement;
@@ -15,509 +14,475 @@ import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.namespace.QName;
-
/**
- * This object contains factory methods for each
- * Java content interface and Java element interface
- * generated in the eu.stork.names.tc.stork._1_0.assertion package.
- * <p>An ObjectFactory allows you to programatically
- * construct new instances of the Java representation
- * for XML content. The Java representation of XML
- * content can consist of schema derived interfaces
- * and classes representing the binding of schema
- * type definitions, element declarations and model
- * groups. Factory methods for each of these are
- * provided in this class.
+ * This object contains factory methods for each Java content interface and Java element interface generated in the eu.stork.names.tc.stork._1_0.assertion package.
+ * <p>
+ * An ObjectFactory allows you to programatically construct new instances of the Java representation for XML content. The Java representation of XML content can consist of schema derived interfaces
+ * and classes representing the binding of schema type definitions, element declarations and model groups. Factory methods for each of these are provided in this class.
*
*/
@XmlRegistry
public class ObjectFactory {
- private final static QName _Habilitation_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "habilitation");
- private final static QName _SpApplication_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "spApplication");
- private final static QName _Specialisation_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "specialisation");
- private final static QName _AQAA_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "AQAA");
- private final static QName _QualityAuthenticationAssuranceLevel_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "QualityAuthenticationAssuranceLevel");
- private final static QName _IsAcademicStaff_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isAcademicStaff");
- private final static QName _MandateContent_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "mandateContent");
- private final static QName _IsHealthCareProfessionalDeprecated_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isHealthCareProfessional_deprecated");
- private final static QName _CanonicalRegisteredAddress_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "canonicalRegisteredAddress");
- private final static QName _SpCountry_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "spCountry");
- private final static QName _IsAdminStaff_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isAdminStaff");
- private final static QName _AttributeValue_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "AttributeValue");
- private final static QName _CountryCodeAddress_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "countryCodeAddress");
- private final static QName _HasAccountInBank_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "hasAccountInBank");
- private final static QName _CurrentStudiesSupplement_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "currentStudiesSupplement");
- private final static QName _Mandate_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "mandate");
- private final static QName _RequestedAttribute_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "RequestedAttribute");
- private final static QName _SpSector_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "spSector");
- private final static QName _HasDegree_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "hasDegree");
- private final static QName _DiplomaSupplement_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "diplomaSupplement");
- private final static QName _IsStudent_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isStudent");
- private final static QName _HCPType_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "HCPType");
- private final static QName _RepresentationPerson_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "representationPerson");
- private final static QName _CanonicalResidenceAddress_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "canonicalResidenceAddress");
- private final static QName _AcTitle_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "acTitle");
- private final static QName _IsTeacherOf_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isTeacherOf");
- private final static QName _IsCourseCoordinator_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isCourseCoordinator");
- private final static QName _CitizenCountryCode_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "CitizenCountryCode");
- private final static QName _Study_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "study");
- private final static QName _IsHealthCareProfessional_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isHealthCareProfessional");
-
- /**
- * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: eu.stork.names.tc.stork._1_0.assertion
- *
- */
- public ObjectFactory() {
- }
-
- /**
- * Create an instance of {@link CurrentStudiesType }
- *
- */
- public CurrentStudiesType createCurrentStudiesType() {
- return new CurrentStudiesType();
- }
-
- /**
- * Create an instance of {@link MandateType }
- *
- */
- public MandateType createMandateType() {
- return new MandateType();
- }
-
- /**
- * Create an instance of {@link RequestedAttributeType }
- *
- */
- public RequestedAttributeType createRequestedAttributeType() {
- return new RequestedAttributeType();
- }
-
- /**
- * Create an instance of {@link HasAccountInBankType }
- *
- */
- public HasAccountInBankType createHasAccountInBankType() {
- return new HasAccountInBankType();
- }
-
- /**
- * Create an instance of {@link IsHealthCareProfessionalType }
- *
- */
- public IsHealthCareProfessionalType createIsHealthCareProfessionalType() {
- return new IsHealthCareProfessionalType();
- }
-
- /**
- * Create an instance of {@link IsAdminStaffType }
- *
- */
- public IsAdminStaffType createIsAdminStaffType() {
- return new IsAdminStaffType();
- }
-
- /**
- * Create an instance of {@link CanonicalAddressType }
- *
- */
- public CanonicalAddressType createCanonicalAddressType() {
- return new CanonicalAddressType();
- }
-
- /**
- * Create an instance of {@link IsHealthCareProfessionalDeprecatedType }
- *
- */
- public IsHealthCareProfessionalDeprecatedType createIsHealthCareProfessionalDeprecatedType() {
- return new IsHealthCareProfessionalDeprecatedType();
- }
-
- /**
- * Create an instance of {@link MandateContentType }
- *
- */
- public MandateContentType createMandateContentType() {
- return new MandateContentType();
- }
-
- /**
- * Create an instance of {@link IsCourseCoordinatorType }
- *
- */
- public IsCourseCoordinatorType createIsCourseCoordinatorType() {
- return new IsCourseCoordinatorType();
- }
-
- /**
- * Create an instance of {@link IsAcademicStaffType }
- *
- */
- public IsAcademicStaffType createIsAcademicStaffType() {
- return new IsAcademicStaffType();
- }
-
- /**
- * Create an instance of {@link IsTeacherOfType }
- *
- */
- public IsTeacherOfType createIsTeacherOfType() {
- return new IsTeacherOfType();
- }
-
- /**
- * Create an instance of {@link AcTitleType }
- *
- */
- public AcTitleType createAcTitleType() {
- return new AcTitleType();
- }
-
- /**
- * Create an instance of {@link RepresentationPersonType }
- *
- */
- public RepresentationPersonType createRepresentationPersonType() {
- return new RepresentationPersonType();
- }
-
- /**
- * Create an instance of {@link IsStudentType }
- *
- */
- public IsStudentType createIsStudentType() {
- return new IsStudentType();
- }
-
- /**
- * Create an instance of {@link HasDegreeType }
- *
- */
- public HasDegreeType createHasDegreeType() {
- return new HasDegreeType();
- }
-
- /**
- * Create an instance of {@link DiplomaSupplementType }
- *
- */
- public DiplomaSupplementType createDiplomaSupplementType() {
- return new DiplomaSupplementType();
- }
-
- /**
- * Create an instance of {@link HabilitationType }
- *
- */
- public HabilitationType createHabilitationType() {
- return new HabilitationType();
- }
-
- /**
- * Create an instance of {@link TimeRestrictionType }
- *
- */
- public TimeRestrictionType createTimeRestrictionType() {
- return new TimeRestrictionType();
- }
-
- /**
- * Create an instance of {@link Habilitation }
- *
- */
- public Habilitation createHabilitation() {
- return new Habilitation();
- }
-
- /**
- * Create an instance of {@link TransactionLimitRestrictionType }
- *
- */
- public TransactionLimitRestrictionType createTransactionLimitRestrictionType() {
- return new TransactionLimitRestrictionType();
- }
-
- /**
- * Create an instance of {@link IsHCPType }
- *
- */
- //public IsHCPType createIsHCPType() {
- // return new IsHCPType();
- //}
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link HabilitationType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "habilitation")
- public JAXBElement<HabilitationType> createHabilitation(HabilitationType value) {
- return new JAXBElement<HabilitationType>(_Habilitation_QNAME, HabilitationType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "spApplication")
- public JAXBElement<String> createSpApplication(String value) {
- return new JAXBElement<String>(_SpApplication_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "specialisation")
- public JAXBElement<String> createSpecialisation(String value) {
- return new JAXBElement<String>(_Specialisation_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "AQAA")
- public JAXBElement<Integer> createAQAA(Integer value) {
- return new JAXBElement<Integer>(_AQAA_QNAME, Integer.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "QualityAuthenticationAssuranceLevel")
- public JAXBElement<Integer> createQualityAuthenticationAssuranceLevel(Integer value) {
- return new JAXBElement<Integer>(_QualityAuthenticationAssuranceLevel_QNAME, Integer.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link IsAcademicStaffType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isAcademicStaff")
- public JAXBElement<IsAcademicStaffType> createIsAcademicStaff(IsAcademicStaffType value) {
- return new JAXBElement<IsAcademicStaffType>(_IsAcademicStaff_QNAME, IsAcademicStaffType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link MandateContentType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "mandateContent")
- public JAXBElement<MandateContentType> createMandateContent(MandateContentType value) {
- return new JAXBElement<MandateContentType>(_MandateContent_QNAME, MandateContentType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link IsHealthCareProfessionalDeprecatedType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isHealthCareProfessional_deprecated")
- public JAXBElement<IsHealthCareProfessionalDeprecatedType> createIsHealthCareProfessionalDeprecated(IsHealthCareProfessionalDeprecatedType value) {
- return new JAXBElement<IsHealthCareProfessionalDeprecatedType>(_IsHealthCareProfessionalDeprecated_QNAME, IsHealthCareProfessionalDeprecatedType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link CanonicalAddressType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "canonicalRegisteredAddress")
- public JAXBElement<CanonicalAddressType> createCanonicalRegisteredAddress(CanonicalAddressType value) {
- return new JAXBElement<CanonicalAddressType>(_CanonicalRegisteredAddress_QNAME, CanonicalAddressType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "spCountry")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- public JAXBElement<String> createSpCountry(String value) {
- return new JAXBElement<String>(_SpCountry_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link IsAdminStaffType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isAdminStaff")
- public JAXBElement<IsAdminStaffType> createIsAdminStaff(IsAdminStaffType value) {
- return new JAXBElement<IsAdminStaffType>(_IsAdminStaff_QNAME, IsAdminStaffType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link Object }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "AttributeValue")
- public JAXBElement<Object> createAttributeValue(Object value) {
- return new JAXBElement<Object>(_AttributeValue_QNAME, Object.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "countryCodeAddress")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- public JAXBElement<String> createCountryCodeAddress(String value) {
- return new JAXBElement<String>(_CountryCodeAddress_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link HasAccountInBankType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "hasAccountInBank")
- public JAXBElement<HasAccountInBankType> createHasAccountInBank(HasAccountInBankType value) {
- return new JAXBElement<HasAccountInBankType>(_HasAccountInBank_QNAME, HasAccountInBankType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link CurrentStudiesType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "currentStudiesSupplement")
- public JAXBElement<CurrentStudiesType> createCurrentStudiesSupplement(CurrentStudiesType value) {
- return new JAXBElement<CurrentStudiesType>(_CurrentStudiesSupplement_QNAME, CurrentStudiesType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link MandateType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "mandate")
- public JAXBElement<MandateType> createMandate(MandateType value) {
- return new JAXBElement<MandateType>(_Mandate_QNAME, MandateType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link RequestedAttributeType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "RequestedAttribute")
- public JAXBElement<RequestedAttributeType> createRequestedAttribute(RequestedAttributeType value) {
- return new JAXBElement<RequestedAttributeType>(_RequestedAttribute_QNAME, RequestedAttributeType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "spSector")
- public JAXBElement<String> createSpSector(String value) {
- return new JAXBElement<String>(_SpSector_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link HasDegreeType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "hasDegree")
- public JAXBElement<HasDegreeType> createHasDegree(HasDegreeType value) {
- return new JAXBElement<HasDegreeType>(_HasDegree_QNAME, HasDegreeType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link DiplomaSupplementType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "diplomaSupplement")
- public JAXBElement<DiplomaSupplementType> createDiplomaSupplement(DiplomaSupplementType value) {
- return new JAXBElement<DiplomaSupplementType>(_DiplomaSupplement_QNAME, DiplomaSupplementType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link IsStudentType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isStudent")
- public JAXBElement<IsStudentType> createIsStudent(IsStudentType value) {
- return new JAXBElement<IsStudentType>(_IsStudent_QNAME, IsStudentType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "HCPType")
- public JAXBElement<String> createHCPType(String value) {
- return new JAXBElement<String>(_HCPType_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link RepresentationPersonType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "representationPerson")
- public JAXBElement<RepresentationPersonType> createRepresentationPerson(RepresentationPersonType value) {
- return new JAXBElement<RepresentationPersonType>(_RepresentationPerson_QNAME, RepresentationPersonType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link CanonicalAddressType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "canonicalResidenceAddress")
- public JAXBElement<CanonicalAddressType> createCanonicalResidenceAddress(CanonicalAddressType value) {
- return new JAXBElement<CanonicalAddressType>(_CanonicalResidenceAddress_QNAME, CanonicalAddressType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link AcTitleType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "acTitle")
- public JAXBElement<AcTitleType> createAcTitle(AcTitleType value) {
- return new JAXBElement<AcTitleType>(_AcTitle_QNAME, AcTitleType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link IsTeacherOfType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isTeacherOf")
- public JAXBElement<IsTeacherOfType> createIsTeacherOf(IsTeacherOfType value) {
- return new JAXBElement<IsTeacherOfType>(_IsTeacherOf_QNAME, IsTeacherOfType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link IsCourseCoordinatorType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isCourseCoordinator")
- public JAXBElement<IsCourseCoordinatorType> createIsCourseCoordinator(IsCourseCoordinatorType value) {
- return new JAXBElement<IsCourseCoordinatorType>(_IsCourseCoordinator_QNAME, IsCourseCoordinatorType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "CitizenCountryCode")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- public JAXBElement<String> createCitizenCountryCode(String value) {
- return new JAXBElement<String>(_CitizenCountryCode_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "study")
- public JAXBElement<String> createStudy(String value) {
- return new JAXBElement<String>(_Study_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link IsHealthCareProfessionalType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isHealthCareProfessional")
- public JAXBElement<IsHealthCareProfessionalType> createIsHealthCareProfessional(IsHealthCareProfessionalType value) {
- return new JAXBElement<IsHealthCareProfessionalType>(_IsHealthCareProfessional_QNAME, IsHealthCareProfessionalType.class, null, value);
- }
+ private final static QName _Habilitation_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "habilitation");
+ private final static QName _SpApplication_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "spApplication");
+ private final static QName _Specialisation_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "specialisation");
+ private final static QName _AQAA_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "AQAA");
+ private final static QName _QualityAuthenticationAssuranceLevel_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "QualityAuthenticationAssuranceLevel");
+ private final static QName _IsAcademicStaff_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isAcademicStaff");
+ private final static QName _MandateContent_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "mandateContent");
+ private final static QName _CanonicalRegisteredAddress_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "canonicalRegisteredAddress");
+ private final static QName _SpCountry_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "spCountry");
+ private final static QName _IsAdminStaff_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isAdminStaff");
+ private final static QName _AttributeValue_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "AttributeValue");
+ private final static QName _CountryCodeAddress_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "countryCodeAddress");
+ private final static QName _HasAccountInBank_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "hasAccountInBank");
+ private final static QName _CurrentStudiesSupplement_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "currentStudiesSupplement");
+ private final static QName _Mandate_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "mandate");
+ private final static QName _RequestedAttribute_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "RequestedAttribute");
+ private final static QName _SpSector_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "spSector");
+ private final static QName _HasDegree_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "hasDegree");
+ private final static QName _DiplomaSupplement_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "diplomaSupplement");
+ private final static QName _IsStudent_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isStudent");
+ private final static QName _HCPType_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "HCPType");
+ private final static QName _RepresentationPerson_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "representationPerson");
+ private final static QName _CanonicalResidenceAddress_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "canonicalResidenceAddress");
+ private final static QName _AcTitle_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "acTitle");
+ private final static QName _IsTeacherOf_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isTeacherOf");
+ private final static QName _IsCourseCoordinator_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isCourseCoordinator");
+ private final static QName _CitizenCountryCode_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "CitizenCountryCode");
+ private final static QName _Study_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "study");
+ private final static QName _IsHealthCareProfessional_QNAME = new QName("urn:eu:stork:names:tc:STORK:1.0:assertion", "isHealthCareProfessional");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: eu.stork.names.tc.stork._1_0.assertion
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link CurrentStudiesType }
+ *
+ */
+ public CurrentStudiesType createCurrentStudiesType() {
+ return new CurrentStudiesType();
+ }
+
+ /**
+ * Create an instance of {@link RequestedAttributeType }
+ *
+ */
+ public RequestedAttributeType createRequestedAttributeType() {
+ return new RequestedAttributeType();
+ }
+
+ /**
+ * Create an instance of {@link MandateType }
+ *
+ */
+ public MandateType createMandateType() {
+ return new MandateType();
+ }
+
+ /**
+ * Create an instance of {@link HasAccountInBankType }
+ *
+ */
+ public HasAccountInBankType createHasAccountInBankType() {
+ return new HasAccountInBankType();
+ }
+
+ /**
+ * Create an instance of {@link IsHealthCareProfessionalType }
+ *
+ */
+ public IsHealthCareProfessionalType createIsHealthCareProfessionalType() {
+ return new IsHealthCareProfessionalType();
+ }
+
+ /**
+ * Create an instance of {@link IsAdminStaffType }
+ *
+ */
+ public IsAdminStaffType createIsAdminStaffType() {
+ return new IsAdminStaffType();
+ }
+
+ /**
+ * Create an instance of {@link CanonicalAddressType }
+ *
+ */
+ public CanonicalAddressType createCanonicalAddressType() {
+ return new CanonicalAddressType();
+ }
+
+ /**
+ * Create an instance of {@link MandateContentType }
+ *
+ */
+ public MandateContentType createMandateContentType() {
+ return new MandateContentType();
+ }
+
+ /**
+ * Create an instance of {@link IsCourseCoordinatorType }
+ *
+ */
+ public IsCourseCoordinatorType createIsCourseCoordinatorType() {
+ return new IsCourseCoordinatorType();
+ }
+
+ /**
+ * Create an instance of {@link IsAcademicStaffType }
+ *
+ */
+ public IsAcademicStaffType createIsAcademicStaffType() {
+ return new IsAcademicStaffType();
+ }
+
+ /**
+ * Create an instance of {@link IsTeacherOfType }
+ *
+ */
+ public IsTeacherOfType createIsTeacherOfType() {
+ return new IsTeacherOfType();
+ }
+
+ /**
+ * Create an instance of {@link AcTitleType }
+ *
+ */
+ public AcTitleType createAcTitleType() {
+ return new AcTitleType();
+ }
+
+ /**
+ * Create an instance of {@link RepresentationPersonType }
+ *
+ */
+ public RepresentationPersonType createRepresentationPersonType() {
+ return new RepresentationPersonType();
+ }
+
+ /**
+ * Create an instance of {@link IsStudentType }
+ *
+ */
+ public IsStudentType createIsStudentType() {
+ return new IsStudentType();
+ }
+
+ /**
+ * Create an instance of {@link HasDegreeType }
+ *
+ */
+ public HasDegreeType createHasDegreeType() {
+ return new HasDegreeType();
+ }
+
+ /**
+ * Create an instance of {@link DiplomaSupplementType }
+ *
+ */
+ public DiplomaSupplementType createDiplomaSupplementType() {
+ return new DiplomaSupplementType();
+ }
+
+ /**
+ * Create an instance of {@link HabilitationType }
+ *
+ */
+ public HabilitationType createHabilitationType() {
+ return new HabilitationType();
+ }
+
+ /**
+ * Create an instance of {@link TimeRestrictionType }
+ *
+ */
+ public TimeRestrictionType createTimeRestrictionType() {
+ return new TimeRestrictionType();
+ }
+
+ /**
+ * Create an instance of {@link Habilitation }
+ *
+ */
+ public Habilitation createHabilitation() {
+ return new Habilitation();
+ }
+
+ /**
+ * Create an instance of {@link TransactionLimitRestrictionType }
+ *
+ */
+ public TransactionLimitRestrictionType createTransactionLimitRestrictionType() {
+ return new TransactionLimitRestrictionType();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link HabilitationType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "habilitation")
+ public JAXBElement<HabilitationType> createHabilitation(HabilitationType value) {
+ return new JAXBElement<HabilitationType>(_Habilitation_QNAME, HabilitationType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "spApplication")
+ public JAXBElement<String> createSpApplication(String value) {
+ return new JAXBElement<String>(_SpApplication_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "specialisation")
+ public JAXBElement<String> createSpecialisation(String value) {
+ return new JAXBElement<String>(_Specialisation_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "AQAA")
+ public JAXBElement<Integer> createAQAA(Integer value) {
+ return new JAXBElement<Integer>(_AQAA_QNAME, Integer.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "QualityAuthenticationAssuranceLevel")
+ public JAXBElement<Integer> createQualityAuthenticationAssuranceLevel(Integer value) {
+ return new JAXBElement<Integer>(_QualityAuthenticationAssuranceLevel_QNAME, Integer.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link IsAcademicStaffType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isAcademicStaff")
+ public JAXBElement<IsAcademicStaffType> createIsAcademicStaff(IsAcademicStaffType value) {
+ return new JAXBElement<IsAcademicStaffType>(_IsAcademicStaff_QNAME, IsAcademicStaffType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MandateContentType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "mandateContent")
+ public JAXBElement<MandateContentType> createMandateContent(MandateContentType value) {
+ return new JAXBElement<MandateContentType>(_MandateContent_QNAME, MandateContentType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link CanonicalAddressType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "canonicalRegisteredAddress")
+ public JAXBElement<CanonicalAddressType> createCanonicalRegisteredAddress(CanonicalAddressType value) {
+ return new JAXBElement<CanonicalAddressType>(_CanonicalRegisteredAddress_QNAME, CanonicalAddressType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "spCountry")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ public JAXBElement<String> createSpCountry(String value) {
+ return new JAXBElement<String>(_SpCountry_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link IsAdminStaffType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isAdminStaff")
+ public JAXBElement<IsAdminStaffType> createIsAdminStaff(IsAdminStaffType value) {
+ return new JAXBElement<IsAdminStaffType>(_IsAdminStaff_QNAME, IsAdminStaffType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link Object }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "AttributeValue")
+ public JAXBElement<Object> createAttributeValue(Object value) {
+ return new JAXBElement<Object>(_AttributeValue_QNAME, Object.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "countryCodeAddress")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ public JAXBElement<String> createCountryCodeAddress(String value) {
+ return new JAXBElement<String>(_CountryCodeAddress_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link HasAccountInBankType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "hasAccountInBank")
+ public JAXBElement<HasAccountInBankType> createHasAccountInBank(HasAccountInBankType value) {
+ return new JAXBElement<HasAccountInBankType>(_HasAccountInBank_QNAME, HasAccountInBankType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link CurrentStudiesType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "currentStudiesSupplement")
+ public JAXBElement<CurrentStudiesType> createCurrentStudiesSupplement(CurrentStudiesType value) {
+ return new JAXBElement<CurrentStudiesType>(_CurrentStudiesSupplement_QNAME, CurrentStudiesType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link RequestedAttributeType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "RequestedAttribute")
+ public JAXBElement<RequestedAttributeType> createRequestedAttribute(RequestedAttributeType value) {
+ return new JAXBElement<RequestedAttributeType>(_RequestedAttribute_QNAME, RequestedAttributeType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MandateType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "mandate")
+ public JAXBElement<MandateType> createMandate(MandateType value) {
+ return new JAXBElement<MandateType>(_Mandate_QNAME, MandateType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "spSector")
+ public JAXBElement<String> createSpSector(String value) {
+ return new JAXBElement<String>(_SpSector_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link HasDegreeType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "hasDegree")
+ public JAXBElement<HasDegreeType> createHasDegree(HasDegreeType value) {
+ return new JAXBElement<HasDegreeType>(_HasDegree_QNAME, HasDegreeType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link DiplomaSupplementType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "diplomaSupplement")
+ public JAXBElement<DiplomaSupplementType> createDiplomaSupplement(DiplomaSupplementType value) {
+ return new JAXBElement<DiplomaSupplementType>(_DiplomaSupplement_QNAME, DiplomaSupplementType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link IsStudentType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isStudent")
+ public JAXBElement<IsStudentType> createIsStudent(IsStudentType value) {
+ return new JAXBElement<IsStudentType>(_IsStudent_QNAME, IsStudentType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "HCPType")
+ public JAXBElement<String> createHCPType(String value) {
+ return new JAXBElement<String>(_HCPType_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link RepresentationPersonType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "representationPerson")
+ public JAXBElement<RepresentationPersonType> createRepresentationPerson(RepresentationPersonType value) {
+ return new JAXBElement<RepresentationPersonType>(_RepresentationPerson_QNAME, RepresentationPersonType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link CanonicalAddressType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "canonicalResidenceAddress")
+ public JAXBElement<CanonicalAddressType> createCanonicalResidenceAddress(CanonicalAddressType value) {
+ return new JAXBElement<CanonicalAddressType>(_CanonicalResidenceAddress_QNAME, CanonicalAddressType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link AcTitleType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "acTitle")
+ public JAXBElement<AcTitleType> createAcTitle(AcTitleType value) {
+ return new JAXBElement<AcTitleType>(_AcTitle_QNAME, AcTitleType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link IsTeacherOfType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isTeacherOf")
+ public JAXBElement<IsTeacherOfType> createIsTeacherOf(IsTeacherOfType value) {
+ return new JAXBElement<IsTeacherOfType>(_IsTeacherOf_QNAME, IsTeacherOfType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link IsCourseCoordinatorType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isCourseCoordinator")
+ public JAXBElement<IsCourseCoordinatorType> createIsCourseCoordinator(IsCourseCoordinatorType value) {
+ return new JAXBElement<IsCourseCoordinatorType>(_IsCourseCoordinator_QNAME, IsCourseCoordinatorType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "CitizenCountryCode")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ public JAXBElement<String> createCitizenCountryCode(String value) {
+ return new JAXBElement<String>(_CitizenCountryCode_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "study")
+ public JAXBElement<String> createStudy(String value) {
+ return new JAXBElement<String>(_Study_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link IsHealthCareProfessionalType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", name = "isHealthCareProfessional")
+ public JAXBElement<IsHealthCareProfessionalType> createIsHealthCareProfessional(IsHealthCareProfessionalType value) {
+ return new JAXBElement<IsHealthCareProfessionalType>(_IsHealthCareProfessional_QNAME, IsHealthCareProfessionalType.class, null, value);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/OriginalMandateType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/OriginalMandateType.java
index 776b36644..ddcb6bb19 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/OriginalMandateType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/OriginalMandateType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.10.09 at 10:11:43 AM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,11 +13,12 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-
/**
- * <p>Java class for originalMandateType complex type.
+ * <p>
+ * Java class for originalMandateType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="originalMandateType">
@@ -33,60 +33,52 @@ import javax.xml.bind.annotation.XmlValue;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "originalMandateType", propOrder = {
- "value"
-})
+@XmlType(name = "originalMandateType", propOrder = { "value" })
public class OriginalMandateType {
- @XmlValue
- protected byte[] value;
- @XmlAttribute(name = "mimeType")
- protected String mimeType;
+ @XmlValue
+ protected byte[] value;
+ @XmlAttribute(name = "mimeType")
+ protected String mimeType;
- /**
- * Gets the value of the value property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getValue() {
- return value;
- }
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getValue() {
+ return value;
+ }
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setValue(byte[] value) {
- this.value = value;
- }
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setValue(byte[] value) {
+ this.value = value;
+ }
- /**
- * Gets the value of the mimeType property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getMimeType() {
- return mimeType;
- }
+ /**
+ * Gets the value of the mimeType property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getMimeType() {
+ return mimeType;
+ }
- /**
- * Sets the value of the mimeType property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setMimeType(String value) {
- this.mimeType = value;
- }
+ /**
+ * Sets the value of the mimeType property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setMimeType(String value) {
+ this.mimeType = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/RepresentationPersonType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/RepresentationPersonType.java
index fd7aa460a..23046f431 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/RepresentationPersonType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/RepresentationPersonType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.10.29 at 02:15:24 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for representationPersonType complex type.
+ * <p>
+ * Java class for representationPersonType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="representationPersonType">
@@ -46,244 +46,208 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "representationPersonType", propOrder = {
- "eIdentifier",
- "givenName",
- "surname",
- "dateOfBirth",
- "elpIdentifier",
- "legalName",
- "textRegisteredAddress",
- "canonicalRegisteredAddress",
- "legalForm"
-})
+@XmlType(name = "representationPersonType", propOrder = { "eIdentifier", "givenName", "surname", "dateOfBirth", "elpIdentifier", "legalName", "textRegisteredAddress", "canonicalRegisteredAddress",
+ "legalForm" })
public class RepresentationPersonType {
- protected String eIdentifier;
- protected String givenName;
- protected String surname;
- protected String dateOfBirth;
- @XmlElement(name = "eLPIdentifier")
- protected String elpIdentifier;
- protected String legalName;
- protected String textRegisteredAddress;
- protected CanonicalAddressType canonicalRegisteredAddress;
- protected String legalForm;
-
- /**
- * Gets the value of the eIdentifier property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getEIdentifier() {
- return eIdentifier;
- }
-
- /**
- * Sets the value of the eIdentifier property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setEIdentifier(String value) {
- this.eIdentifier = value;
- }
-
- /**
- * Gets the value of the givenName property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getGivenName() {
- return givenName;
- }
-
- /**
- * Sets the value of the givenName property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setGivenName(String value) {
- this.givenName = value;
- }
-
- /**
- * Gets the value of the surname property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getSurname() {
- return surname;
- }
-
- /**
- * Sets the value of the surname property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setSurname(String value) {
- this.surname = value;
- }
-
- /**
- * Gets the value of the dateOfBirth property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getDateOfBirth() {
- return dateOfBirth;
- }
-
- /**
- * Sets the value of the dateOfBirth property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setDateOfBirth(String value) {
- this.dateOfBirth = value;
- }
-
- /**
- * Gets the value of the elpIdentifier property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getELPIdentifier() {
- return elpIdentifier;
- }
-
- /**
- * Sets the value of the elpIdentifier property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setELPIdentifier(String value) {
- this.elpIdentifier = value;
- }
-
- /**
- * Gets the value of the legalName property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getLegalName() {
- return legalName;
- }
-
- /**
- * Sets the value of the legalName property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setLegalName(String value) {
- this.legalName = value;
- }
-
- /**
- * Gets the value of the textRegisteredAddress property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTextRegisteredAddress() {
- return textRegisteredAddress;
- }
-
- /**
- * Sets the value of the textRegisteredAddress property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTextRegisteredAddress(String value) {
- this.textRegisteredAddress = value;
- }
-
- /**
- * Gets the value of the canonicalRegisteredAddress property.
- *
- * @return
- * possible object is
- * {@link CanonicalAddressType }
- *
- */
- public CanonicalAddressType getCanonicalRegisteredAddress() {
- return canonicalRegisteredAddress;
- }
-
- /**
- * Sets the value of the canonicalRegisteredAddress property.
- *
- * @param value
- * allowed object is
- * {@link CanonicalAddressType }
- *
- */
- public void setCanonicalRegisteredAddress(CanonicalAddressType value) {
- this.canonicalRegisteredAddress = value;
- }
-
- /**
- * Gets the value of the legalForm property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getLegalForm() {
- return legalForm;
- }
-
- /**
- * Sets the value of the legalForm property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setLegalForm(String value) {
- this.legalForm = value;
- }
+ protected String eIdentifier;
+ protected String givenName;
+ protected String surname;
+ protected String dateOfBirth;
+ @XmlElement(name = "eLPIdentifier")
+ protected String elpIdentifier;
+ protected String legalName;
+ protected String textRegisteredAddress;
+ protected CanonicalAddressType canonicalRegisteredAddress;
+ protected String legalForm;
+
+ /**
+ * Gets the value of the eIdentifier property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getEIdentifier() {
+ return eIdentifier;
+ }
+
+ /**
+ * Sets the value of the eIdentifier property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setEIdentifier(String value) {
+ this.eIdentifier = value;
+ }
+
+ /**
+ * Gets the value of the givenName property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getGivenName() {
+ return givenName;
+ }
+
+ /**
+ * Sets the value of the givenName property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setGivenName(String value) {
+ this.givenName = value;
+ }
+
+ /**
+ * Gets the value of the surname property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getSurname() {
+ return surname;
+ }
+
+ /**
+ * Sets the value of the surname property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setSurname(String value) {
+ this.surname = value;
+ }
+
+ /**
+ * Gets the value of the dateOfBirth property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getDateOfBirth() {
+ return dateOfBirth;
+ }
+
+ /**
+ * Sets the value of the dateOfBirth property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setDateOfBirth(String value) {
+ this.dateOfBirth = value;
+ }
+
+ /**
+ * Gets the value of the elpIdentifier property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getELPIdentifier() {
+ return elpIdentifier;
+ }
+
+ /**
+ * Sets the value of the elpIdentifier property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setELPIdentifier(String value) {
+ this.elpIdentifier = value;
+ }
+
+ /**
+ * Gets the value of the legalName property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getLegalName() {
+ return legalName;
+ }
+
+ /**
+ * Sets the value of the legalName property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setLegalName(String value) {
+ this.legalName = value;
+ }
+
+ /**
+ * Gets the value of the textRegisteredAddress property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTextRegisteredAddress() {
+ return textRegisteredAddress;
+ }
+
+ /**
+ * Sets the value of the textRegisteredAddress property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTextRegisteredAddress(String value) {
+ this.textRegisteredAddress = value;
+ }
+
+ /**
+ * Gets the value of the canonicalRegisteredAddress property.
+ *
+ * @return possible object is {@link CanonicalAddressType }
+ *
+ */
+ public CanonicalAddressType getCanonicalRegisteredAddress() {
+ return canonicalRegisteredAddress;
+ }
+
+ /**
+ * Sets the value of the canonicalRegisteredAddress property.
+ *
+ * @param value
+ * allowed object is {@link CanonicalAddressType }
+ *
+ */
+ public void setCanonicalRegisteredAddress(CanonicalAddressType value) {
+ this.canonicalRegisteredAddress = value;
+ }
+
+ /**
+ * Gets the value of the legalForm property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getLegalForm() {
+ return legalForm;
+ }
+
+ /**
+ * Sets the value of the legalForm property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setLegalForm(String value) {
+ this.legalForm = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/RequestedAttributeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/RequestedAttributeType.java
index 4800a2cfc..88146c90d 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/RequestedAttributeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/RequestedAttributeType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import java.util.ArrayList;
@@ -21,11 +20,12 @@ import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.namespace.QName;
-
/**
- * <p>Java class for RequestedAttributeType complex type.
+ * <p>
+ * Java class for RequestedAttributeType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="RequestedAttributeType">
@@ -47,166 +47,147 @@ import javax.xml.namespace.QName;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "RequestedAttributeType", propOrder = {
- "attributeValue"
-})
+@XmlType(name = "RequestedAttributeType", propOrder = { "attributeValue" })
public class RequestedAttributeType {
- @XmlElement(name = "AttributeValue")
- protected List<Object> attributeValue;
- @XmlAttribute(name = "Name", required = true)
- protected String name;
- @XmlAttribute(name = "NameFormat", required = true)
- @XmlSchemaType(name = "anyURI")
- protected String nameFormat;
- @XmlAttribute(name = "FriendlyName")
- protected String friendlyName;
- @XmlAttribute(name = "isRequired")
- protected Boolean isRequired;
- @XmlAnyAttribute
- private Map<QName, String> otherAttributes = new HashMap<QName, String>();
-
- /**
- * Gets the value of the attributeValue property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the attributeValue property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getAttributeValue().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link Object }
- *
- *
- */
- public List<Object> getAttributeValue() {
- if (attributeValue == null) {
- attributeValue = new ArrayList<Object>();
- }
- return this.attributeValue;
- }
-
- /**
- * Gets the value of the name property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getName() {
- return name;
- }
-
- /**
- * Sets the value of the name property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setName(String value) {
- this.name = value;
- }
-
- /**
- * Gets the value of the nameFormat property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNameFormat() {
- return nameFormat;
- }
-
- /**
- * Sets the value of the nameFormat property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNameFormat(String value) {
- this.nameFormat = value;
- }
-
- /**
- * Gets the value of the friendlyName property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getFriendlyName() {
- return friendlyName;
- }
-
- /**
- * Sets the value of the friendlyName property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setFriendlyName(String value) {
- this.friendlyName = value;
- }
-
- /**
- * Gets the value of the isRequired property.
- *
- * @return
- * possible object is
- * {@link Boolean }
- *
- */
- public Boolean isIsRequired() {
- return isRequired;
- }
-
- /**
- * Sets the value of the isRequired property.
- *
- * @param value
- * allowed object is
- * {@link Boolean }
- *
- */
- public void setIsRequired(Boolean value) {
- this.isRequired = value;
- }
-
- /**
- * Gets a map that contains attributes that aren't bound to any typed property on this class.
- *
- * <p>
- * the map is keyed by the name of the attribute and
- * the value is the string value of the attribute.
- *
- * the map returned by this method is live, and you can add new attribute
- * by updating the map directly. Because of this design, there's no setter.
- *
- *
- * @return
- * always non-null
- */
- public Map<QName, String> getOtherAttributes() {
- return otherAttributes;
- }
+ @XmlElement(name = "AttributeValue")
+ protected List<Object> attributeValue;
+ @XmlAttribute(name = "Name", required = true)
+ protected String name;
+ @XmlAttribute(name = "NameFormat", required = true)
+ @XmlSchemaType(name = "anyURI")
+ protected String nameFormat;
+ @XmlAttribute(name = "FriendlyName")
+ protected String friendlyName;
+ @XmlAttribute(name = "isRequired")
+ protected Boolean isRequired;
+ @XmlAnyAttribute
+ private Map<QName, String> otherAttributes = new HashMap<QName, String>();
+
+ /**
+ * Gets the value of the attributeValue property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the attributeValue property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getAttributeValue().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link Object }
+ *
+ *
+ */
+ public List<Object> getAttributeValue() {
+ if (attributeValue == null) {
+ attributeValue = new ArrayList<Object>();
+ }
+ return this.attributeValue;
+ }
+
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
+
+ /**
+ * Gets the value of the nameFormat property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNameFormat() {
+ return nameFormat;
+ }
+
+ /**
+ * Sets the value of the nameFormat property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNameFormat(String value) {
+ this.nameFormat = value;
+ }
+
+ /**
+ * Gets the value of the friendlyName property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getFriendlyName() {
+ return friendlyName;
+ }
+
+ /**
+ * Sets the value of the friendlyName property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setFriendlyName(String value) {
+ this.friendlyName = value;
+ }
+
+ /**
+ * Gets the value of the isRequired property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isIsRequired() {
+ return isRequired;
+ }
+
+ /**
+ * Sets the value of the isRequired property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setIsRequired(Boolean value) {
+ this.isRequired = value;
+ }
+
+ /**
+ * Gets a map that contains attributes that aren't bound to any typed property on this class.
+ *
+ * <p>
+ * the map is keyed by the name of the attribute and the value is the string value of the attribute.
+ *
+ * the map returned by this method is live, and you can add new attribute by updating the map directly. Because of this design, there's no setter.
+ *
+ *
+ * @return always non-null
+ */
+ public Map<QName, String> getOtherAttributes() {
+ return otherAttributes;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/TimeRestrictionType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/TimeRestrictionType.java
index 34cfb978a..2ae80c697 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/TimeRestrictionType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/TimeRestrictionType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.05.12 at 10:04:52 AM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import javax.xml.bind.annotation.XmlAccessType;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
-
/**
- * <p>Java class for TimeRestrictionType complex type.
+ * <p>
+ * Java class for TimeRestrictionType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="TimeRestrictionType">
@@ -37,65 +37,56 @@ import javax.xml.datatype.XMLGregorianCalendar;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "TimeRestrictionType", propOrder = {
- "validFrom",
- "validTo"
-})
+@XmlType(name = "TimeRestrictionType", propOrder = { "validFrom", "validTo" })
public class TimeRestrictionType {
- @XmlElement(required = true)
- @XmlSchemaType(name = "date")
- protected XMLGregorianCalendar validFrom;
- @XmlElement(required = true)
- @XmlSchemaType(name = "date")
- protected XMLGregorianCalendar validTo;
+ @XmlElement(required = true)
+ @XmlSchemaType(name = "date")
+ protected XMLGregorianCalendar validFrom;
+ @XmlElement(required = true)
+ @XmlSchemaType(name = "date")
+ protected XMLGregorianCalendar validTo;
- /**
- * Gets the value of the validFrom property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getValidFrom() {
- return validFrom;
- }
+ /**
+ * Gets the value of the validFrom property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getValidFrom() {
+ return validFrom;
+ }
- /**
- * Sets the value of the validFrom property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setValidFrom(XMLGregorianCalendar value) {
- this.validFrom = value;
- }
+ /**
+ * Sets the value of the validFrom property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setValidFrom(XMLGregorianCalendar value) {
+ this.validFrom = value;
+ }
- /**
- * Gets the value of the validTo property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getValidTo() {
- return validTo;
- }
+ /**
+ * Gets the value of the validTo property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getValidTo() {
+ return validTo;
+ }
- /**
- * Sets the value of the validTo property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setValidTo(XMLGregorianCalendar value) {
- this.validTo = value;
- }
+ /**
+ * Sets the value of the validTo property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setValidTo(XMLGregorianCalendar value) {
+ this.validTo = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/TransactionLimitRestrictionType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/TransactionLimitRestrictionType.java
index b9db4ea0d..39a20c7c2 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/TransactionLimitRestrictionType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/TransactionLimitRestrictionType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.05.12 at 10:04:52 AM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
import java.math.BigDecimal;
@@ -14,11 +13,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for TransactionLimitRestrictionType complex type.
+ * <p>
+ * Java class for TransactionLimitRestrictionType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="TransactionLimitRestrictionType">
@@ -36,63 +36,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "TransactionLimitRestrictionType", propOrder = {
- "amount",
- "currency"
-})
+@XmlType(name = "TransactionLimitRestrictionType", propOrder = { "amount", "currency" })
public class TransactionLimitRestrictionType {
- @XmlElement(required = true)
- protected BigDecimal amount;
- @XmlElement(required = true)
- protected String currency;
+ @XmlElement(required = true)
+ protected BigDecimal amount;
+ @XmlElement(required = true)
+ protected String currency;
- /**
- * Gets the value of the amount property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getAmount() {
- return amount;
- }
+ /**
+ * Gets the value of the amount property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getAmount() {
+ return amount;
+ }
- /**
- * Sets the value of the amount property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setAmount(BigDecimal value) {
- this.amount = value;
- }
+ /**
+ * Sets the value of the amount property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setAmount(BigDecimal value) {
+ this.amount = value;
+ }
- /**
- * Gets the value of the currency property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCurrency() {
- return currency;
- }
+ /**
+ * Gets the value of the currency property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCurrency() {
+ return currency;
+ }
- /**
- * Sets the value of the currency property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCurrency(String value) {
- this.currency = value;
- }
+ /**
+ * Sets the value of the currency property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCurrency(String value) {
+ this.currency = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/package-info.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/package-info.java
index e94518e03..075851135 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/package-info.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_1_0/assertion/package-info.java
@@ -7,3 +7,4 @@
@javax.xml.bind.annotation.XmlSchema(namespace = "urn:eu:stork:names:tc:STORK:1.0:assertion", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion;
+
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AdditionalInformationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AdditionalInformationType.java
index 6b26bd000..c636217ca 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AdditionalInformationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AdditionalInformationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for AdditionalInformationType complex type.
+ * <p>
+ * Java class for AdditionalInformationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AdditionalInformationType">
@@ -35,63 +35,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AdditionalInformationType", propOrder = {
- "specificInformation",
- "otherSources"
-})
+@XmlType(name = "AdditionalInformationType", propOrder = { "specificInformation", "otherSources" })
public class AdditionalInformationType {
- @XmlElement(name = "SpecificInformation")
- protected RichTextTagType specificInformation;
- @XmlElement(name = "OtherSources")
- protected RichTextTagType otherSources;
+ @XmlElement(name = "SpecificInformation")
+ protected RichTextTagType specificInformation;
+ @XmlElement(name = "OtherSources")
+ protected RichTextTagType otherSources;
- /**
- * Gets the value of the specificInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getSpecificInformation() {
- return specificInformation;
- }
+ /**
+ * Gets the value of the specificInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getSpecificInformation() {
+ return specificInformation;
+ }
- /**
- * Sets the value of the specificInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setSpecificInformation(RichTextTagType value) {
- this.specificInformation = value;
- }
+ /**
+ * Sets the value of the specificInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setSpecificInformation(RichTextTagType value) {
+ this.specificInformation = value;
+ }
- /**
- * Gets the value of the otherSources property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getOtherSources() {
- return otherSources;
- }
+ /**
+ * Gets the value of the otherSources property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getOtherSources() {
+ return otherSources;
+ }
- /**
- * Sets the value of the otherSources property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setOtherSources(RichTextTagType value) {
- this.otherSources = value;
- }
+ /**
+ * Sets the value of the otherSources property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setOtherSources(RichTextTagType value) {
+ this.otherSources = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AddressType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AddressType.java
index d7fae6b34..67ef6d2dc 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AddressType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AddressType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for AddressType complex type.
+ * <p>
+ * Java class for AddressType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AddressType">
@@ -40,149 +40,129 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AddressType", propOrder = {
- "line",
- "city",
- "stateOrRegion",
- "postalCode",
- "country"
-})
+@XmlType(name = "AddressType", propOrder = { "line", "city", "stateOrRegion", "postalCode", "country" })
public class AddressType {
- @XmlElement(name = "Line", required = true)
- protected List<String> line;
- @XmlElement(name = "City")
- protected String city;
- @XmlElement(name = "StateOrRegion")
- protected String stateOrRegion;
- @XmlElement(name = "PostalCode")
- protected String postalCode;
- @XmlElement(name = "Country")
- protected CountryTextCodeType country;
-
- /**
- * Gets the value of the line property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the line property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getLine().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link String }
- *
- *
- */
- public List<String> getLine() {
- if (line == null) {
- line = new ArrayList<String>();
- }
- return this.line;
- }
-
- /**
- * Gets the value of the city property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCity() {
- return city;
- }
-
- /**
- * Sets the value of the city property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCity(String value) {
- this.city = value;
- }
-
- /**
- * Gets the value of the stateOrRegion property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStateOrRegion() {
- return stateOrRegion;
- }
-
- /**
- * Sets the value of the stateOrRegion property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStateOrRegion(String value) {
- this.stateOrRegion = value;
- }
-
- /**
- * Gets the value of the postalCode property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getPostalCode() {
- return postalCode;
- }
-
- /**
- * Sets the value of the postalCode property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setPostalCode(String value) {
- this.postalCode = value;
- }
-
- /**
- * Gets the value of the country property.
- *
- * @return
- * possible object is
- * {@link CountryTextCodeType }
- *
- */
- public CountryTextCodeType getCountry() {
- return country;
- }
-
- /**
- * Sets the value of the country property.
- *
- * @param value
- * allowed object is
- * {@link CountryTextCodeType }
- *
- */
- public void setCountry(CountryTextCodeType value) {
- this.country = value;
- }
+ @XmlElement(name = "Line", required = true)
+ protected List<String> line;
+ @XmlElement(name = "City")
+ protected String city;
+ @XmlElement(name = "StateOrRegion")
+ protected String stateOrRegion;
+ @XmlElement(name = "PostalCode")
+ protected String postalCode;
+ @XmlElement(name = "Country")
+ protected CountryTextCodeType country;
+
+ /**
+ * Gets the value of the line property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the line property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getLine().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String }
+ *
+ *
+ */
+ public List<String> getLine() {
+ if (line == null) {
+ line = new ArrayList<String>();
+ }
+ return this.line;
+ }
+
+ /**
+ * Gets the value of the city property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCity() {
+ return city;
+ }
+
+ /**
+ * Sets the value of the city property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCity(String value) {
+ this.city = value;
+ }
+
+ /**
+ * Gets the value of the stateOrRegion property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getStateOrRegion() {
+ return stateOrRegion;
+ }
+
+ /**
+ * Sets the value of the stateOrRegion property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setStateOrRegion(String value) {
+ this.stateOrRegion = value;
+ }
+
+ /**
+ * Gets the value of the postalCode property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getPostalCode() {
+ return postalCode;
+ }
+
+ /**
+ * Sets the value of the postalCode property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setPostalCode(String value) {
+ this.postalCode = value;
+ }
+
+ /**
+ * Gets the value of the country property.
+ *
+ * @return possible object is {@link CountryTextCodeType }
+ *
+ */
+ public CountryTextCodeType getCountry() {
+ return country;
+ }
+
+ /**
+ * Sets the value of the country property.
+ *
+ * @param value
+ * allowed object is {@link CountryTextCodeType }
+ *
+ */
+ public void setCountry(CountryTextCodeType value) {
+ this.country = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedFileDataType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedFileDataType.java
index f905dcdd5..f0114d912 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedFileDataType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedFileDataType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for AttachedFileDataType complex type.
+ * <p>
+ * Java class for AttachedFileDataType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AttachedFileDataType">
@@ -36,88 +36,75 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AttachedFileDataType", propOrder = {
- "description",
- "mime",
- "data"
-})
+@XmlType(name = "AttachedFileDataType", propOrder = { "description", "mime", "data" })
public class AttachedFileDataType {
- @XmlElement(name = "Description", required = true)
- protected String description;
- @XmlElement(name = "Mime", required = true)
- protected MimeType mime;
- @XmlElement(name = "Data", required = true)
- protected byte[] data;
+ @XmlElement(name = "Description", required = true)
+ protected String description;
+ @XmlElement(name = "Mime", required = true)
+ protected MimeType mime;
+ @XmlElement(name = "Data", required = true)
+ protected byte[] data;
- /**
- * Gets the value of the description property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getDescription() {
- return description;
- }
+ /**
+ * Gets the value of the description property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
- /**
- * Sets the value of the description property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setDescription(String value) {
- this.description = value;
- }
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
- /**
- * Gets the value of the mime property.
- *
- * @return
- * possible object is
- * {@link MimeType }
- *
- */
- public MimeType getMime() {
- return mime;
- }
+ /**
+ * Gets the value of the mime property.
+ *
+ * @return possible object is {@link MimeType }
+ *
+ */
+ public MimeType getMime() {
+ return mime;
+ }
- /**
- * Sets the value of the mime property.
- *
- * @param value
- * allowed object is
- * {@link MimeType }
- *
- */
- public void setMime(MimeType value) {
- this.mime = value;
- }
+ /**
+ * Sets the value of the mime property.
+ *
+ * @param value
+ * allowed object is {@link MimeType }
+ *
+ */
+ public void setMime(MimeType value) {
+ this.mime = value;
+ }
- /**
- * Gets the value of the data property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getData() {
- return data;
- }
+ /**
+ * Gets the value of the data property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getData() {
+ return data;
+ }
- /**
- * Sets the value of the data property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setData(byte[] value) {
- this.data = value;
- }
+ /**
+ * Sets the value of the data property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setData(byte[] value) {
+ this.data = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedFileURLType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedFileURLType.java
index 7bd89fef8..4e9bf3c4b 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedFileURLType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedFileURLType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for AttachedFileURLType complex type.
+ * <p>
+ * Java class for AttachedFileURLType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AttachedFileURLType">
@@ -36,90 +36,77 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AttachedFileURLType", propOrder = {
- "description",
- "mime",
- "url"
-})
+@XmlType(name = "AttachedFileURLType", propOrder = { "description", "mime", "url" })
public class AttachedFileURLType {
- @XmlElement(name = "Description", required = true)
- protected String description;
- @XmlElement(name = "Mime", required = true)
- protected MimeType mime;
- @XmlElement(name = "URL", required = true)
- protected String url;
+ @XmlElement(name = "Description", required = true)
+ protected String description;
+ @XmlElement(name = "Mime", required = true)
+ protected MimeType mime;
+ @XmlElement(name = "URL", required = true)
+ protected String url;
- /**
- * Gets the value of the description property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getDescription() {
- return description;
- }
+ /**
+ * Gets the value of the description property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
- /**
- * Sets the value of the description property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setDescription(String value) {
- this.description = value;
- }
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
- /**
- * Gets the value of the mime property.
- *
- * @return
- * possible object is
- * {@link MimeType }
- *
- */
- public MimeType getMime() {
- return mime;
- }
+ /**
+ * Gets the value of the mime property.
+ *
+ * @return possible object is {@link MimeType }
+ *
+ */
+ public MimeType getMime() {
+ return mime;
+ }
- /**
- * Sets the value of the mime property.
- *
- * @param value
- * allowed object is
- * {@link MimeType }
- *
- */
- public void setMime(MimeType value) {
- this.mime = value;
- }
+ /**
+ * Sets the value of the mime property.
+ *
+ * @param value
+ * allowed object is {@link MimeType }
+ *
+ */
+ public void setMime(MimeType value) {
+ this.mime = value;
+ }
- /**
- * Gets the value of the url property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getURL() {
- return url;
- }
+ /**
+ * Gets the value of the url property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getURL() {
+ return url;
+ }
- /**
- * Sets the value of the url property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setURL(String value) {
- this.url = value;
- }
+ /**
+ * Sets the value of the url property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setURL(String value) {
+ this.url = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedImageDataType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedImageDataType.java
index cf964d7d0..61be0a30a 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedImageDataType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedImageDataType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for AttachedImageDataType complex type.
+ * <p>
+ * Java class for AttachedImageDataType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AttachedImageDataType">
@@ -36,88 +36,75 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AttachedImageDataType", propOrder = {
- "description",
- "mime",
- "data"
-})
+@XmlType(name = "AttachedImageDataType", propOrder = { "description", "mime", "data" })
public class AttachedImageDataType {
- @XmlElement(name = "Description", required = true)
- protected String description;
- @XmlElement(name = "Mime", required = true)
- protected ImageMimeType mime;
- @XmlElement(name = "Data", required = true)
- protected byte[] data;
+ @XmlElement(name = "Description", required = true)
+ protected String description;
+ @XmlElement(name = "Mime", required = true)
+ protected ImageMimeType mime;
+ @XmlElement(name = "Data", required = true)
+ protected byte[] data;
- /**
- * Gets the value of the description property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getDescription() {
- return description;
- }
+ /**
+ * Gets the value of the description property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
- /**
- * Sets the value of the description property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setDescription(String value) {
- this.description = value;
- }
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
- /**
- * Gets the value of the mime property.
- *
- * @return
- * possible object is
- * {@link ImageMimeType }
- *
- */
- public ImageMimeType getMime() {
- return mime;
- }
+ /**
+ * Gets the value of the mime property.
+ *
+ * @return possible object is {@link ImageMimeType }
+ *
+ */
+ public ImageMimeType getMime() {
+ return mime;
+ }
- /**
- * Sets the value of the mime property.
- *
- * @param value
- * allowed object is
- * {@link ImageMimeType }
- *
- */
- public void setMime(ImageMimeType value) {
- this.mime = value;
- }
+ /**
+ * Sets the value of the mime property.
+ *
+ * @param value
+ * allowed object is {@link ImageMimeType }
+ *
+ */
+ public void setMime(ImageMimeType value) {
+ this.mime = value;
+ }
- /**
- * Gets the value of the data property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getData() {
- return data;
- }
+ /**
+ * Gets the value of the data property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getData() {
+ return data;
+ }
- /**
- * Sets the value of the data property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setData(byte[] value) {
- this.data = value;
- }
+ /**
+ * Sets the value of the data property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setData(byte[] value) {
+ this.data = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedImageURLType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedImageURLType.java
index 945b715fe..e6c11edda 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedImageURLType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedImageURLType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for AttachedImageURLType complex type.
+ * <p>
+ * Java class for AttachedImageURLType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AttachedImageURLType">
@@ -36,90 +36,77 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AttachedImageURLType", propOrder = {
- "description",
- "mime",
- "url"
-})
+@XmlType(name = "AttachedImageURLType", propOrder = { "description", "mime", "url" })
public class AttachedImageURLType {
- @XmlElement(name = "Description", required = true)
- protected String description;
- @XmlElement(name = "Mime", required = true)
- protected ImageMimeType mime;
- @XmlElement(name = "URL", required = true)
- protected String url;
+ @XmlElement(name = "Description", required = true)
+ protected String description;
+ @XmlElement(name = "Mime", required = true)
+ protected ImageMimeType mime;
+ @XmlElement(name = "URL", required = true)
+ protected String url;
- /**
- * Gets the value of the description property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getDescription() {
- return description;
- }
+ /**
+ * Gets the value of the description property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
- /**
- * Sets the value of the description property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setDescription(String value) {
- this.description = value;
- }
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
- /**
- * Gets the value of the mime property.
- *
- * @return
- * possible object is
- * {@link ImageMimeType }
- *
- */
- public ImageMimeType getMime() {
- return mime;
- }
+ /**
+ * Gets the value of the mime property.
+ *
+ * @return possible object is {@link ImageMimeType }
+ *
+ */
+ public ImageMimeType getMime() {
+ return mime;
+ }
- /**
- * Sets the value of the mime property.
- *
- * @param value
- * allowed object is
- * {@link ImageMimeType }
- *
- */
- public void setMime(ImageMimeType value) {
- this.mime = value;
- }
+ /**
+ * Sets the value of the mime property.
+ *
+ * @param value
+ * allowed object is {@link ImageMimeType }
+ *
+ */
+ public void setMime(ImageMimeType value) {
+ this.mime = value;
+ }
- /**
- * Gets the value of the url property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getURL() {
- return url;
- }
+ /**
+ * Gets the value of the url property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getURL() {
+ return url;
+ }
- /**
- * Sets the value of the url property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setURL(String value) {
- this.url = value;
- }
+ /**
+ * Sets the value of the url property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setURL(String value) {
+ this.url = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedType.java
index 83cb26800..a4e64d560 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachedType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -18,11 +17,12 @@ import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
/**
- * <p>Java class for AttachedType complex type.
+ * <p>
+ * Java class for AttachedType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AttachedType">
@@ -43,146 +43,126 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AttachedType", propOrder = {
- "fileData",
- "fileURI",
- "imageData",
- "imageURI"
-})
+@XmlType(name = "AttachedType", propOrder = { "fileData", "fileURI", "imageData", "imageURI" })
public class AttachedType {
- @XmlElement(name = "FileData")
- protected AttachedFileDataType fileData;
- @XmlElement(name = "FileURI")
- protected AttachedFileURLType fileURI;
- @XmlElement(name = "ImageData")
- protected AttachedImageDataType imageData;
- @XmlElement(name = "ImageURI")
- protected AttachedImageURLType imageURI;
- @XmlAttribute(name = "attachedID", required = true)
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- @XmlID
- @XmlSchemaType(name = "ID")
- protected String attachedID;
-
- /**
- * Gets the value of the fileData property.
- *
- * @return
- * possible object is
- * {@link AttachedFileDataType }
- *
- */
- public AttachedFileDataType getFileData() {
- return fileData;
- }
-
- /**
- * Sets the value of the fileData property.
- *
- * @param value
- * allowed object is
- * {@link AttachedFileDataType }
- *
- */
- public void setFileData(AttachedFileDataType value) {
- this.fileData = value;
- }
-
- /**
- * Gets the value of the fileURI property.
- *
- * @return
- * possible object is
- * {@link AttachedFileURLType }
- *
- */
- public AttachedFileURLType getFileURI() {
- return fileURI;
- }
-
- /**
- * Sets the value of the fileURI property.
- *
- * @param value
- * allowed object is
- * {@link AttachedFileURLType }
- *
- */
- public void setFileURI(AttachedFileURLType value) {
- this.fileURI = value;
- }
-
- /**
- * Gets the value of the imageData property.
- *
- * @return
- * possible object is
- * {@link AttachedImageDataType }
- *
- */
- public AttachedImageDataType getImageData() {
- return imageData;
- }
-
- /**
- * Sets the value of the imageData property.
- *
- * @param value
- * allowed object is
- * {@link AttachedImageDataType }
- *
- */
- public void setImageData(AttachedImageDataType value) {
- this.imageData = value;
- }
-
- /**
- * Gets the value of the imageURI property.
- *
- * @return
- * possible object is
- * {@link AttachedImageURLType }
- *
- */
- public AttachedImageURLType getImageURI() {
- return imageURI;
- }
-
- /**
- * Sets the value of the imageURI property.
- *
- * @param value
- * allowed object is
- * {@link AttachedImageURLType }
- *
- */
- public void setImageURI(AttachedImageURLType value) {
- this.imageURI = value;
- }
-
- /**
- * Gets the value of the attachedID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAttachedID() {
- return attachedID;
- }
-
- /**
- * Sets the value of the attachedID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAttachedID(String value) {
- this.attachedID = value;
- }
+ @XmlElement(name = "FileData")
+ protected AttachedFileDataType fileData;
+ @XmlElement(name = "FileURI")
+ protected AttachedFileURLType fileURI;
+ @XmlElement(name = "ImageData")
+ protected AttachedImageDataType imageData;
+ @XmlElement(name = "ImageURI")
+ protected AttachedImageURLType imageURI;
+ @XmlAttribute(name = "attachedID", required = true)
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String attachedID;
+
+ /**
+ * Gets the value of the fileData property.
+ *
+ * @return possible object is {@link AttachedFileDataType }
+ *
+ */
+ public AttachedFileDataType getFileData() {
+ return fileData;
+ }
+
+ /**
+ * Sets the value of the fileData property.
+ *
+ * @param value
+ * allowed object is {@link AttachedFileDataType }
+ *
+ */
+ public void setFileData(AttachedFileDataType value) {
+ this.fileData = value;
+ }
+
+ /**
+ * Gets the value of the fileURI property.
+ *
+ * @return possible object is {@link AttachedFileURLType }
+ *
+ */
+ public AttachedFileURLType getFileURI() {
+ return fileURI;
+ }
+
+ /**
+ * Sets the value of the fileURI property.
+ *
+ * @param value
+ * allowed object is {@link AttachedFileURLType }
+ *
+ */
+ public void setFileURI(AttachedFileURLType value) {
+ this.fileURI = value;
+ }
+
+ /**
+ * Gets the value of the imageData property.
+ *
+ * @return possible object is {@link AttachedImageDataType }
+ *
+ */
+ public AttachedImageDataType getImageData() {
+ return imageData;
+ }
+
+ /**
+ * Sets the value of the imageData property.
+ *
+ * @param value
+ * allowed object is {@link AttachedImageDataType }
+ *
+ */
+ public void setImageData(AttachedImageDataType value) {
+ this.imageData = value;
+ }
+
+ /**
+ * Gets the value of the imageURI property.
+ *
+ * @return possible object is {@link AttachedImageURLType }
+ *
+ */
+ public AttachedImageURLType getImageURI() {
+ return imageURI;
+ }
+
+ /**
+ * Sets the value of the imageURI property.
+ *
+ * @param value
+ * allowed object is {@link AttachedImageURLType }
+ *
+ */
+ public void setImageURI(AttachedImageURLType value) {
+ this.imageURI = value;
+ }
+
+ /**
+ * Gets the value of the attachedID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAttachedID() {
+ return attachedID;
+ }
+
+ /**
+ * Sets the value of the attachedID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAttachedID(String value) {
+ this.attachedID = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachmentsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachmentsType.java
index a8612ae63..abb61728a 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachmentsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/AttachmentsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for AttachmentsType complex type.
+ * <p>
+ * Java class for AttachmentsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="AttachmentsType">
@@ -36,41 +36,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "AttachmentsType", propOrder = {
- "attached"
-})
+@XmlType(name = "AttachmentsType", propOrder = { "attached" })
public class AttachmentsType {
- @XmlElement(name = "Attached", required = true)
- protected List<AttachedType> attached;
+ @XmlElement(name = "Attached", required = true)
+ protected List<AttachedType> attached;
- /**
- * Gets the value of the attached property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the attached property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getAttached().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link AttachedType }
- *
- *
- */
- public List<AttachedType> getAttached() {
- if (attached == null) {
- attached = new ArrayList<AttachedType>();
- }
- return this.attached;
- }
+ /**
+ * Gets the value of the attached property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the attached property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getAttached().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link AttachedType }
+ *
+ *
+ */
+ public List<AttachedType> getAttached() {
+ if (attached == null) {
+ attached = new ArrayList<AttachedType>();
+ }
+ return this.attached;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CertificationOfTheSupplementType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CertificationOfTheSupplementType.java
index c154e92c3..0ca2d1a02 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CertificationOfTheSupplementType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CertificationOfTheSupplementType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,11 +13,12 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
-
/**
- * <p>Java class for CertificationOfTheSupplementType complex type.
+ * <p>
+ * Java class for CertificationOfTheSupplementType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CertificationOfTheSupplementType">
@@ -37,90 +37,77 @@ import javax.xml.datatype.XMLGregorianCalendar;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CertificationOfTheSupplementType", propOrder = {
- "certificationDate",
- "officialsCertifying",
- "officialStamp"
-})
+@XmlType(name = "CertificationOfTheSupplementType", propOrder = { "certificationDate", "officialsCertifying", "officialStamp" })
public class CertificationOfTheSupplementType {
- @XmlElement(name = "CertificationDate")
- protected XMLGregorianCalendar certificationDate;
- @XmlElement(name = "OfficialsCertifying")
- protected OfficialsCertifyingType officialsCertifying;
- @XmlElement(name = "OfficialStamp")
- protected OfficialStampType officialStamp;
+ @XmlElement(name = "CertificationDate")
+ protected XMLGregorianCalendar certificationDate;
+ @XmlElement(name = "OfficialsCertifying")
+ protected OfficialsCertifyingType officialsCertifying;
+ @XmlElement(name = "OfficialStamp")
+ protected OfficialStampType officialStamp;
- /**
- * Gets the value of the certificationDate property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getCertificationDate() {
- return certificationDate;
- }
+ /**
+ * Gets the value of the certificationDate property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getCertificationDate() {
+ return certificationDate;
+ }
- /**
- * Sets the value of the certificationDate property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setCertificationDate(XMLGregorianCalendar value) {
- this.certificationDate = value;
- }
+ /**
+ * Sets the value of the certificationDate property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setCertificationDate(XMLGregorianCalendar value) {
+ this.certificationDate = value;
+ }
- /**
- * Gets the value of the officialsCertifying property.
- *
- * @return
- * possible object is
- * {@link OfficialsCertifyingType }
- *
- */
- public OfficialsCertifyingType getOfficialsCertifying() {
- return officialsCertifying;
- }
+ /**
+ * Gets the value of the officialsCertifying property.
+ *
+ * @return possible object is {@link OfficialsCertifyingType }
+ *
+ */
+ public OfficialsCertifyingType getOfficialsCertifying() {
+ return officialsCertifying;
+ }
- /**
- * Sets the value of the officialsCertifying property.
- *
- * @param value
- * allowed object is
- * {@link OfficialsCertifyingType }
- *
- */
- public void setOfficialsCertifying(OfficialsCertifyingType value) {
- this.officialsCertifying = value;
- }
+ /**
+ * Sets the value of the officialsCertifying property.
+ *
+ * @param value
+ * allowed object is {@link OfficialsCertifyingType }
+ *
+ */
+ public void setOfficialsCertifying(OfficialsCertifyingType value) {
+ this.officialsCertifying = value;
+ }
- /**
- * Gets the value of the officialStamp property.
- *
- * @return
- * possible object is
- * {@link OfficialStampType }
- *
- */
- public OfficialStampType getOfficialStamp() {
- return officialStamp;
- }
+ /**
+ * Gets the value of the officialStamp property.
+ *
+ * @return possible object is {@link OfficialStampType }
+ *
+ */
+ public OfficialStampType getOfficialStamp() {
+ return officialStamp;
+ }
- /**
- * Sets the value of the officialStamp property.
- *
- * @param value
- * allowed object is
- * {@link OfficialStampType }
- *
- */
- public void setOfficialStamp(OfficialStampType value) {
- this.officialStamp = value;
- }
+ /**
+ * Sets the value of the officialStamp property.
+ *
+ * @param value
+ * allowed object is {@link OfficialStampType }
+ *
+ */
+ public void setOfficialStamp(OfficialStampType value) {
+ this.officialStamp = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ContactInformationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ContactInformationType.java
index 3ed1697e7..155849e3f 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ContactInformationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ContactInformationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for ContactInformationType complex type.
+ * <p>
+ * Java class for ContactInformationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ContactInformationType">
@@ -39,132 +39,118 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "ContactInformationType", propOrder = {
- "address",
- "phoneNumber",
- "email",
- "webSite"
-})
+@XmlType(name = "ContactInformationType", propOrder = { "address", "phoneNumber", "email", "webSite" })
public class ContactInformationType {
- @XmlElement(name = "Address")
- protected AddressType address;
- @XmlElement(name = "PhoneNumber")
- protected List<String> phoneNumber;
- @XmlElement(name = "Email")
- protected List<String> email;
- @XmlElement(name = "WebSite")
- protected List<String> webSite;
+ @XmlElement(name = "Address")
+ protected AddressType address;
+ @XmlElement(name = "PhoneNumber")
+ protected List<String> phoneNumber;
+ @XmlElement(name = "Email")
+ protected List<String> email;
+ @XmlElement(name = "WebSite")
+ protected List<String> webSite;
- /**
- * Gets the value of the address property.
- *
- * @return
- * possible object is
- * {@link AddressType }
- *
- */
- public AddressType getAddress() {
- return address;
- }
+ /**
+ * Gets the value of the address property.
+ *
+ * @return possible object is {@link AddressType }
+ *
+ */
+ public AddressType getAddress() {
+ return address;
+ }
- /**
- * Sets the value of the address property.
- *
- * @param value
- * allowed object is
- * {@link AddressType }
- *
- */
- public void setAddress(AddressType value) {
- this.address = value;
- }
+ /**
+ * Sets the value of the address property.
+ *
+ * @param value
+ * allowed object is {@link AddressType }
+ *
+ */
+ public void setAddress(AddressType value) {
+ this.address = value;
+ }
- /**
- * Gets the value of the phoneNumber property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the phoneNumber property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getPhoneNumber().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link String }
- *
- *
- */
- public List<String> getPhoneNumber() {
- if (phoneNumber == null) {
- phoneNumber = new ArrayList<String>();
- }
- return this.phoneNumber;
- }
+ /**
+ * Gets the value of the phoneNumber property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the phoneNumber property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getPhoneNumber().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String }
+ *
+ *
+ */
+ public List<String> getPhoneNumber() {
+ if (phoneNumber == null) {
+ phoneNumber = new ArrayList<String>();
+ }
+ return this.phoneNumber;
+ }
- /**
- * Gets the value of the email property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the email property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getEmail().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link String }
- *
- *
- */
- public List<String> getEmail() {
- if (email == null) {
- email = new ArrayList<String>();
- }
- return this.email;
- }
+ /**
+ * Gets the value of the email property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the email property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getEmail().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String }
+ *
+ *
+ */
+ public List<String> getEmail() {
+ if (email == null) {
+ email = new ArrayList<String>();
+ }
+ return this.email;
+ }
- /**
- * Gets the value of the webSite property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the webSite property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getWebSite().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link String }
- *
- *
- */
- public List<String> getWebSite() {
- if (webSite == null) {
- webSite = new ArrayList<String>();
- }
- return this.webSite;
- }
+ /**
+ * Gets the value of the webSite property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the webSite property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getWebSite().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String }
+ *
+ *
+ */
+ public List<String> getWebSite() {
+ if (webSite == null) {
+ webSite = new ArrayList<String>();
+ }
+ return this.webSite;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CountryTextCodeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CountryTextCodeType.java
index bf4dd984b..25aa0d5d2 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CountryTextCodeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CountryTextCodeType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,11 +13,12 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-
/**
- * <p>Java class for CountryTextCodeType complex type.
+ * <p>
+ * Java class for CountryTextCodeType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CountryTextCodeType">
@@ -33,62 +33,54 @@ import javax.xml.bind.annotation.XmlValue;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CountryTextCodeType", propOrder = {
- "value"
-})
+@XmlType(name = "CountryTextCodeType", propOrder = { "value" })
public class CountryTextCodeType {
- @XmlValue
- protected String value;
- @XmlAttribute(name = "country")
- protected CountryType country;
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "country")
+ protected CountryType country;
- /**
- * Gets the value of the value property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
- /**
- * Gets the value of the country property.
- *
- * @return
- * possible object is
- * {@link CountryType }
- *
- */
- public CountryType getCountry() {
- return country;
- }
+ /**
+ * Gets the value of the country property.
+ *
+ * @return possible object is {@link CountryType }
+ *
+ */
+ public CountryType getCountry() {
+ return country;
+ }
- /**
- * Sets the value of the country property.
- *
- * @param value
- * allowed object is
- * {@link CountryType }
- *
- */
- public void setCountry(CountryType value) {
- this.country = value;
- }
+ /**
+ * Sets the value of the country property.
+ *
+ * @param value
+ * allowed object is {@link CountryType }
+ *
+ */
+ public void setCountry(CountryType value) {
+ this.country = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CountryType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CountryType.java
index b2fe16735..141788f5b 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CountryType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CountryType.java
@@ -5,18 +5,19 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CountryType.
+ * <p>
+ * Java class for CountryType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="CountryType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -226,210 +227,14 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum CountryType {
- AD,
- AE,
- AF,
- AG,
- AL,
- AM,
- AO,
- AR,
- AT,
- AU,
- AZ,
- BA,
- BB,
- BD,
- BE,
- BF,
- BG,
- BH,
- BI,
- BJ,
- BN,
- BO,
- BR,
- BS,
- BT,
- BW,
- BY,
- BZ,
- CA,
- CD,
- CF,
- CG,
- CH,
- CI,
- CL,
- CM,
- CN,
- CO,
- CR,
- CU,
- CV,
- CY,
- CZ,
- DE,
- DJ,
- DK,
- DM,
- DO,
- DZ,
- EC,
- EE,
- EG,
- ER,
- ES,
- ET,
- FI,
- FJ,
- FM,
- FR,
- GA,
- GB,
- GD,
- GE,
- GH,
- GL,
- GM,
- GN,
- GQ,
- GR,
- GT,
- GW,
- GY,
- HN,
- HR,
- HT,
- HU,
- ID,
- IE,
- IL,
- IN,
- IQ,
- IR,
- IS,
- IT,
- JM,
- JO,
- JP,
- KE,
- KG,
- KH,
- KI,
- KM,
- KN,
- KP,
- KR,
- KW,
- KZ,
- LA,
- LB,
- LC,
- LI,
- LK,
- LR,
- LS,
- LT,
- LU,
- LV,
- LY,
- MA,
- MC,
- MD,
- ME,
- MG,
- MH,
- MK,
- ML,
- MM,
- MN,
- MR,
- MT,
- MU,
- MV,
- MW,
- MX,
- MY,
- MZ,
- NA,
- NE,
- NG,
- NI,
- NL,
- NO,
- NP,
- NR,
- NU,
- NZ,
- OM,
- PA,
- PE,
- PG,
- PH,
- PK,
- PL,
- PR,
- PS,
- PT,
- PW,
- PY,
- QA,
- RO,
- RS,
- RU,
- RW,
- SA,
- SB,
- SC,
- SD,
- SE,
- SG,
- SI,
- SK,
- SL,
- SM,
- SN,
- SO,
- SR,
- ST,
- SV,
- SY,
- SZ,
- TD,
- TG,
- TH,
- TJ,
- TL,
- TM,
- TN,
- TO,
- TR,
- TT,
- TV,
- TZ,
- UA,
- UG,
- US,
- UY,
- UZ,
- VA,
- VC,
- VE,
- VN,
- VU,
- WS,
- YE,
- ZA,
- ZM,
- ZW;
+ AD, AE, AF, AG, AL, AM, AO, AR, AT, AU, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BN, BO, BR, BS, BT, BW, BY, BZ, CA, CD, CF, CG, CH, CI, CL, CM, CN, CO, CR, CU, CV, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, ER, ES, ET, FI, FJ, FM, FR, GA, GB, GD, GE, GH, GL, GM, GN, GQ, GR, GT, GW, GY, HN, HR, HT, HU, ID, IE, IL, IN, IQ, IR, IS, IT, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MG, MH, MK, ML, MM, MN, MR, MT, MU, MV, MW, MX, MY, MZ, NA, NE, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PG, PH, PK, PL, PR, PS, PT, PW, PY, QA, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SI, SK, SL, SM, SN, SO, SR, ST, SV, SY, SZ, TD, TG, TH, TJ, TL, TM, TN, TO, TR, TT, TV, TZ, UA, UG, US, UY, UZ, VA, VC, VE, VN, VU, WS, YE, ZA, ZM, ZW;
- public String value() {
- return name();
- }
+ public String value() {
+ return name();
+ }
- public static CountryType fromValue(String v) {
- return valueOf(v);
- }
+ public static CountryType fromValue(String v) {
+ return valueOf(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseStructureDiagramType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseStructureDiagramType.java
index a73acb84a..619985a7e 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseStructureDiagramType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseStructureDiagramType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CourseStructureDiagramType complex type.
+ * <p>
+ * Java class for CourseStructureDiagramType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseStructureDiagramType">
@@ -35,63 +35,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseStructureDiagramType", propOrder = {
- "coursesGroups",
- "coursesUnits"
-})
+@XmlType(name = "CourseStructureDiagramType", propOrder = { "coursesGroups", "coursesUnits" })
public class CourseStructureDiagramType {
- @XmlElement(name = "CoursesGroups")
- protected CoursesGroupsType coursesGroups;
- @XmlElement(name = "CoursesUnits")
- protected CoursesUnitsType coursesUnits;
+ @XmlElement(name = "CoursesGroups")
+ protected CoursesGroupsType coursesGroups;
+ @XmlElement(name = "CoursesUnits")
+ protected CoursesUnitsType coursesUnits;
- /**
- * Gets the value of the coursesGroups property.
- *
- * @return
- * possible object is
- * {@link CoursesGroupsType }
- *
- */
- public CoursesGroupsType getCoursesGroups() {
- return coursesGroups;
- }
+ /**
+ * Gets the value of the coursesGroups property.
+ *
+ * @return possible object is {@link CoursesGroupsType }
+ *
+ */
+ public CoursesGroupsType getCoursesGroups() {
+ return coursesGroups;
+ }
- /**
- * Sets the value of the coursesGroups property.
- *
- * @param value
- * allowed object is
- * {@link CoursesGroupsType }
- *
- */
- public void setCoursesGroups(CoursesGroupsType value) {
- this.coursesGroups = value;
- }
+ /**
+ * Sets the value of the coursesGroups property.
+ *
+ * @param value
+ * allowed object is {@link CoursesGroupsType }
+ *
+ */
+ public void setCoursesGroups(CoursesGroupsType value) {
+ this.coursesGroups = value;
+ }
- /**
- * Gets the value of the coursesUnits property.
- *
- * @return
- * possible object is
- * {@link CoursesUnitsType }
- *
- */
- public CoursesUnitsType getCoursesUnits() {
- return coursesUnits;
- }
+ /**
+ * Gets the value of the coursesUnits property.
+ *
+ * @return possible object is {@link CoursesUnitsType }
+ *
+ */
+ public CoursesUnitsType getCoursesUnits() {
+ return coursesUnits;
+ }
- /**
- * Sets the value of the coursesUnits property.
- *
- * @param value
- * allowed object is
- * {@link CoursesUnitsType }
- *
- */
- public void setCoursesUnits(CoursesUnitsType value) {
- this.coursesUnits = value;
- }
+ /**
+ * Sets the value of the coursesUnits property.
+ *
+ * @param value
+ * allowed object is {@link CoursesUnitsType }
+ *
+ */
+ public void setCoursesUnits(CoursesUnitsType value) {
+ this.coursesUnits = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitLanguageOfInstructionType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitLanguageOfInstructionType.java
index 1c2461526..c531ead90 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitLanguageOfInstructionType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitLanguageOfInstructionType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,11 +13,12 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-
/**
- * <p>Java class for CourseUnitLanguageOfInstructionType complex type.
+ * <p>
+ * Java class for CourseUnitLanguageOfInstructionType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseUnitLanguageOfInstructionType">
@@ -33,62 +33,54 @@ import javax.xml.bind.annotation.XmlValue;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseUnitLanguageOfInstructionType", propOrder = {
- "value"
-})
+@XmlType(name = "CourseUnitLanguageOfInstructionType", propOrder = { "value" })
public class CourseUnitLanguageOfInstructionType {
- @XmlValue
- protected String value;
- @XmlAttribute(name = "language", required = true)
- protected LanguageType language;
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "language", required = true)
+ protected LanguageType language;
- /**
- * Gets the value of the value property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
- /**
- * Gets the value of the language property.
- *
- * @return
- * possible object is
- * {@link LanguageType }
- *
- */
- public LanguageType getLanguage() {
- return language;
- }
+ /**
+ * Gets the value of the language property.
+ *
+ * @return possible object is {@link LanguageType }
+ *
+ */
+ public LanguageType getLanguage() {
+ return language;
+ }
- /**
- * Sets the value of the language property.
- *
- * @param value
- * allowed object is
- * {@link LanguageType }
- *
- */
- public void setLanguage(LanguageType value) {
- this.language = value;
- }
+ /**
+ * Sets the value of the language property.
+ *
+ * @param value
+ * allowed object is {@link LanguageType }
+ *
+ */
+ public void setLanguage(LanguageType value) {
+ this.language = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitLanguagesOfInstructionType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitLanguagesOfInstructionType.java
index d09ce1d75..5d90755d9 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitLanguagesOfInstructionType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitLanguagesOfInstructionType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CourseUnitLanguagesOfInstructionType complex type.
+ * <p>
+ * Java class for CourseUnitLanguagesOfInstructionType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseUnitLanguagesOfInstructionType">
@@ -36,41 +36,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseUnitLanguagesOfInstructionType", propOrder = {
- "language"
-})
+@XmlType(name = "CourseUnitLanguagesOfInstructionType", propOrder = { "language" })
public class CourseUnitLanguagesOfInstructionType {
- @XmlElement(name = "Language", required = true)
- protected List<CourseUnitLanguageOfInstructionType> language;
+ @XmlElement(name = "Language", required = true)
+ protected List<CourseUnitLanguageOfInstructionType> language;
- /**
- * Gets the value of the language property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the language property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getLanguage().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link CourseUnitLanguageOfInstructionType }
- *
- *
- */
- public List<CourseUnitLanguageOfInstructionType> getLanguage() {
- if (language == null) {
- language = new ArrayList<CourseUnitLanguageOfInstructionType>();
- }
- return this.language;
- }
+ /**
+ * Gets the value of the language property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the language property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getLanguage().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link CourseUnitLanguageOfInstructionType }
+ *
+ *
+ */
+ public List<CourseUnitLanguageOfInstructionType> getLanguage() {
+ if (language == null) {
+ language = new ArrayList<CourseUnitLanguageOfInstructionType>();
+ }
+ return this.language;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitStudentPerformanceType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitStudentPerformanceType.java
index 0b8116a7f..25aaf29da 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitStudentPerformanceType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitStudentPerformanceType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CourseUnitStudentPerformanceType complex type.
+ * <p>
+ * Java class for CourseUnitStudentPerformanceType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseUnitStudentPerformanceType">
@@ -35,63 +35,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseUnitStudentPerformanceType", propOrder = {
- "localGrade",
- "ectsGrade"
-})
+@XmlType(name = "CourseUnitStudentPerformanceType", propOrder = { "localGrade", "ectsGrade" })
public class CourseUnitStudentPerformanceType {
- @XmlElement(name = "LocalGrade", required = true)
- protected LocalGradeType localGrade;
- @XmlElement(name = "ECTSGrade")
- protected ECTSGradingScaleType ectsGrade;
+ @XmlElement(name = "LocalGrade", required = true)
+ protected LocalGradeType localGrade;
+ @XmlElement(name = "ECTSGrade")
+ protected ECTSGradingScaleType ectsGrade;
- /**
- * Gets the value of the localGrade property.
- *
- * @return
- * possible object is
- * {@link LocalGradeType }
- *
- */
- public LocalGradeType getLocalGrade() {
- return localGrade;
- }
+ /**
+ * Gets the value of the localGrade property.
+ *
+ * @return possible object is {@link LocalGradeType }
+ *
+ */
+ public LocalGradeType getLocalGrade() {
+ return localGrade;
+ }
- /**
- * Sets the value of the localGrade property.
- *
- * @param value
- * allowed object is
- * {@link LocalGradeType }
- *
- */
- public void setLocalGrade(LocalGradeType value) {
- this.localGrade = value;
- }
+ /**
+ * Sets the value of the localGrade property.
+ *
+ * @param value
+ * allowed object is {@link LocalGradeType }
+ *
+ */
+ public void setLocalGrade(LocalGradeType value) {
+ this.localGrade = value;
+ }
- /**
- * Gets the value of the ectsGrade property.
- *
- * @return
- * possible object is
- * {@link ECTSGradingScaleType }
- *
- */
- public ECTSGradingScaleType getECTSGrade() {
- return ectsGrade;
- }
+ /**
+ * Gets the value of the ectsGrade property.
+ *
+ * @return possible object is {@link ECTSGradingScaleType }
+ *
+ */
+ public ECTSGradingScaleType getECTSGrade() {
+ return ectsGrade;
+ }
- /**
- * Sets the value of the ectsGrade property.
- *
- * @param value
- * allowed object is
- * {@link ECTSGradingScaleType }
- *
- */
- public void setECTSGrade(ECTSGradingScaleType value) {
- this.ectsGrade = value;
- }
+ /**
+ * Sets the value of the ectsGrade property.
+ *
+ * @param value
+ * allowed object is {@link ECTSGradingScaleType }
+ *
+ */
+ public void setECTSGrade(ECTSGradingScaleType value) {
+ this.ectsGrade = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitType.java
index f9725c6fc..925f89d3a 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.math.BigDecimal;
@@ -16,11 +15,12 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-
/**
- * <p>Java class for CourseUnitType complex type.
+ * <p>
+ * Java class for CourseUnitType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseUnitType">
@@ -96,1086 +96,950 @@ import javax.xml.bind.annotation.XmlValue;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseUnitType", propOrder = {
- "code",
- "scientificArea",
- "title",
- "theme",
- "type",
- "yearOfStudy",
- "level",
- "ectsCredits",
- "localCredits",
- "hours",
- "languagesOfInstruction",
- "modeOfDelivery",
- "workPlacements",
- "studentPerformance",
- "nameOfLecturers",
- "learningOutcomes",
- "prerequisitesAndCorequisites",
- "prerequisitesScholarshipLevel",
- "prerequisitesOtherTitles",
- "recomendedOptionalProgrammeComponents",
- "courseContents",
- "recomendedOrRequiredReading",
- "planedLearningActivitiesAndTeachingMethod",
- "assesmentMethodsAndCriteria",
- "observations"
-})
+@XmlType(name = "CourseUnitType", propOrder = { "code", "scientificArea", "title", "theme", "type", "yearOfStudy", "level", "ectsCredits", "localCredits", "hours", "languagesOfInstruction",
+ "modeOfDelivery", "workPlacements", "studentPerformance", "nameOfLecturers", "learningOutcomes", "prerequisitesAndCorequisites", "prerequisitesScholarshipLevel", "prerequisitesOtherTitles",
+ "recomendedOptionalProgrammeComponents", "courseContents", "recomendedOrRequiredReading", "planedLearningActivitiesAndTeachingMethod", "assesmentMethodsAndCriteria", "observations" })
public class CourseUnitType {
- @XmlElement(name = "Code")
- protected String code;
- @XmlElement(name = "ScientificArea")
- protected String scientificArea;
- @XmlElement(name = "Title", required = true)
- protected String title;
- @XmlElement(name = "Theme")
- protected String theme;
- @XmlElement(name = "Type")
- protected CourseUnitType.Type type;
- @XmlElement(name = "YearOfStudy")
- protected CourseUnitType.YearOfStudy yearOfStudy;
- @XmlElement(name = "Level")
- protected CourseUnitType.Level level;
- @XmlElement(name = "ECTSCredits")
- protected BigDecimal ectsCredits;
- @XmlElement(name = "LocalCredits")
- protected BigDecimal localCredits;
- @XmlElement(name = "Hours")
- protected BigDecimal hours;
- @XmlElement(name = "LanguagesOfInstruction")
- protected CourseUnitLanguagesOfInstructionType languagesOfInstruction;
- @XmlElement(name = "ModeOfDelivery")
- protected CourseUnitType.ModeOfDelivery modeOfDelivery;
- @XmlElement(name = "WorkPlacements")
- protected CourseUnitWorkPlacementsType workPlacements;
- @XmlElement(name = "StudentPerformance")
- protected CourseUnitStudentPerformanceType studentPerformance;
- @XmlElement(name = "NameOfLecturers")
- protected RichTextTagType nameOfLecturers;
- @XmlElement(name = "LearningOutcomes")
- protected RichTextTagType learningOutcomes;
- @XmlElement(name = "PrerequisitesAndCorequisites")
- protected RichTextTagType prerequisitesAndCorequisites;
- @XmlElement(name = "PrerequisitesScholarshipLevel")
- protected RichTextTagType prerequisitesScholarshipLevel;
- @XmlElement(name = "PrerequisitesOtherTitles")
- protected RichTextTagType prerequisitesOtherTitles;
- @XmlElement(name = "RecomendedOptionalProgrammeComponents")
- protected RichTextTagType recomendedOptionalProgrammeComponents;
- @XmlElement(name = "CourseContents")
- protected RichTextTagType courseContents;
- @XmlElement(name = "RecomendedOrRequiredReading")
- protected RichTextTagType recomendedOrRequiredReading;
- @XmlElement(name = "PlanedLearningActivitiesAndTeachingMethod")
- protected RichTextTagType planedLearningActivitiesAndTeachingMethod;
- @XmlElement(name = "AssesmentMethodsAndCriteria")
- protected RichTextTagType assesmentMethodsAndCriteria;
- @XmlElement(name = "Observations")
- protected RichTextTagType observations;
- @XmlAttribute(name = "groupID")
- protected String groupID;
- @XmlAttribute(name = "institutionAdministeringStudiesID")
- protected String institutionAdministeringStudiesID;
- @XmlAttribute(name = "isRequiredByTheProgramme")
- protected Boolean isRequiredByTheProgramme;
-
- /**
- * Gets the value of the code property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCode() {
- return code;
- }
-
- /**
- * Sets the value of the code property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCode(String value) {
- this.code = value;
- }
-
- /**
- * Gets the value of the scientificArea property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getScientificArea() {
- return scientificArea;
- }
-
- /**
- * Sets the value of the scientificArea property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setScientificArea(String value) {
- this.scientificArea = value;
- }
-
- /**
- * Gets the value of the title property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTitle() {
- return title;
- }
-
- /**
- * Sets the value of the title property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTitle(String value) {
- this.title = value;
- }
-
- /**
- * Gets the value of the theme property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTheme() {
- return theme;
- }
-
- /**
- * Sets the value of the theme property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTheme(String value) {
- this.theme = value;
- }
-
- /**
- * Gets the value of the type property.
- *
- * @return
- * possible object is
- * {@link CourseUnitType.Type }
- *
- */
- public CourseUnitType.Type getType() {
- return type;
- }
-
- /**
- * Sets the value of the type property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitType.Type }
- *
- */
- public void setType(CourseUnitType.Type value) {
- this.type = value;
- }
-
- /**
- * Gets the value of the yearOfStudy property.
- *
- * @return
- * possible object is
- * {@link CourseUnitType.YearOfStudy }
- *
- */
- public CourseUnitType.YearOfStudy getYearOfStudy() {
- return yearOfStudy;
- }
-
- /**
- * Sets the value of the yearOfStudy property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitType.YearOfStudy }
- *
- */
- public void setYearOfStudy(CourseUnitType.YearOfStudy value) {
- this.yearOfStudy = value;
- }
-
- /**
- * Gets the value of the level property.
- *
- * @return
- * possible object is
- * {@link CourseUnitType.Level }
- *
- */
- public CourseUnitType.Level getLevel() {
- return level;
- }
-
- /**
- * Sets the value of the level property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitType.Level }
- *
- */
- public void setLevel(CourseUnitType.Level value) {
- this.level = value;
- }
-
- /**
- * Gets the value of the ectsCredits property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getECTSCredits() {
- return ectsCredits;
- }
-
- /**
- * Sets the value of the ectsCredits property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setECTSCredits(BigDecimal value) {
- this.ectsCredits = value;
- }
-
- /**
- * Gets the value of the localCredits property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getLocalCredits() {
- return localCredits;
- }
-
- /**
- * Sets the value of the localCredits property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setLocalCredits(BigDecimal value) {
- this.localCredits = value;
- }
-
- /**
- * Gets the value of the hours property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getHours() {
- return hours;
- }
-
- /**
- * Sets the value of the hours property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setHours(BigDecimal value) {
- this.hours = value;
- }
-
- /**
- * Gets the value of the languagesOfInstruction property.
- *
- * @return
- * possible object is
- * {@link CourseUnitLanguagesOfInstructionType }
- *
- */
- public CourseUnitLanguagesOfInstructionType getLanguagesOfInstruction() {
- return languagesOfInstruction;
- }
-
- /**
- * Sets the value of the languagesOfInstruction property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitLanguagesOfInstructionType }
- *
- */
- public void setLanguagesOfInstruction(CourseUnitLanguagesOfInstructionType value) {
- this.languagesOfInstruction = value;
- }
-
- /**
- * Gets the value of the modeOfDelivery property.
- *
- * @return
- * possible object is
- * {@link CourseUnitType.ModeOfDelivery }
- *
- */
- public CourseUnitType.ModeOfDelivery getModeOfDelivery() {
- return modeOfDelivery;
- }
-
- /**
- * Sets the value of the modeOfDelivery property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitType.ModeOfDelivery }
- *
- */
- public void setModeOfDelivery(CourseUnitType.ModeOfDelivery value) {
- this.modeOfDelivery = value;
- }
-
- /**
- * Gets the value of the workPlacements property.
- *
- * @return
- * possible object is
- * {@link CourseUnitWorkPlacementsType }
- *
- */
- public CourseUnitWorkPlacementsType getWorkPlacements() {
- return workPlacements;
- }
-
- /**
- * Sets the value of the workPlacements property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitWorkPlacementsType }
- *
- */
- public void setWorkPlacements(CourseUnitWorkPlacementsType value) {
- this.workPlacements = value;
- }
-
- /**
- * Gets the value of the studentPerformance property.
- *
- * @return
- * possible object is
- * {@link CourseUnitStudentPerformanceType }
- *
- */
- public CourseUnitStudentPerformanceType getStudentPerformance() {
- return studentPerformance;
- }
-
- /**
- * Sets the value of the studentPerformance property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitStudentPerformanceType }
- *
- */
- public void setStudentPerformance(CourseUnitStudentPerformanceType value) {
- this.studentPerformance = value;
- }
-
- /**
- * Gets the value of the nameOfLecturers property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getNameOfLecturers() {
- return nameOfLecturers;
- }
-
- /**
- * Sets the value of the nameOfLecturers property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setNameOfLecturers(RichTextTagType value) {
- this.nameOfLecturers = value;
- }
-
- /**
- * Gets the value of the learningOutcomes property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getLearningOutcomes() {
- return learningOutcomes;
- }
-
- /**
- * Sets the value of the learningOutcomes property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setLearningOutcomes(RichTextTagType value) {
- this.learningOutcomes = value;
- }
-
- /**
- * Gets the value of the prerequisitesAndCorequisites property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getPrerequisitesAndCorequisites() {
- return prerequisitesAndCorequisites;
- }
-
- /**
- * Sets the value of the prerequisitesAndCorequisites property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setPrerequisitesAndCorequisites(RichTextTagType value) {
- this.prerequisitesAndCorequisites = value;
- }
-
- /**
- * Gets the value of the prerequisitesScholarshipLevel property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getPrerequisitesScholarshipLevel() {
- return prerequisitesScholarshipLevel;
- }
-
- /**
- * Sets the value of the prerequisitesScholarshipLevel property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setPrerequisitesScholarshipLevel(RichTextTagType value) {
- this.prerequisitesScholarshipLevel = value;
- }
-
- /**
- * Gets the value of the prerequisitesOtherTitles property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getPrerequisitesOtherTitles() {
- return prerequisitesOtherTitles;
- }
-
- /**
- * Sets the value of the prerequisitesOtherTitles property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setPrerequisitesOtherTitles(RichTextTagType value) {
- this.prerequisitesOtherTitles = value;
- }
-
- /**
- * Gets the value of the recomendedOptionalProgrammeComponents property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getRecomendedOptionalProgrammeComponents() {
- return recomendedOptionalProgrammeComponents;
- }
-
- /**
- * Sets the value of the recomendedOptionalProgrammeComponents property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setRecomendedOptionalProgrammeComponents(RichTextTagType value) {
- this.recomendedOptionalProgrammeComponents = value;
- }
-
- /**
- * Gets the value of the courseContents property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getCourseContents() {
- return courseContents;
- }
-
- /**
- * Sets the value of the courseContents property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setCourseContents(RichTextTagType value) {
- this.courseContents = value;
- }
-
- /**
- * Gets the value of the recomendedOrRequiredReading property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getRecomendedOrRequiredReading() {
- return recomendedOrRequiredReading;
- }
-
- /**
- * Sets the value of the recomendedOrRequiredReading property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setRecomendedOrRequiredReading(RichTextTagType value) {
- this.recomendedOrRequiredReading = value;
- }
-
- /**
- * Gets the value of the planedLearningActivitiesAndTeachingMethod property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getPlanedLearningActivitiesAndTeachingMethod() {
- return planedLearningActivitiesAndTeachingMethod;
- }
-
- /**
- * Sets the value of the planedLearningActivitiesAndTeachingMethod property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setPlanedLearningActivitiesAndTeachingMethod(RichTextTagType value) {
- this.planedLearningActivitiesAndTeachingMethod = value;
- }
-
- /**
- * Gets the value of the assesmentMethodsAndCriteria property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getAssesmentMethodsAndCriteria() {
- return assesmentMethodsAndCriteria;
- }
-
- /**
- * Sets the value of the assesmentMethodsAndCriteria property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setAssesmentMethodsAndCriteria(RichTextTagType value) {
- this.assesmentMethodsAndCriteria = value;
- }
-
- /**
- * Gets the value of the observations property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getObservations() {
- return observations;
- }
-
- /**
- * Sets the value of the observations property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setObservations(RichTextTagType value) {
- this.observations = value;
- }
-
- /**
- * Gets the value of the groupID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getGroupID() {
- return groupID;
- }
-
- /**
- * Sets the value of the groupID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setGroupID(String value) {
- this.groupID = value;
- }
-
- /**
- * Gets the value of the institutionAdministeringStudiesID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getInstitutionAdministeringStudiesID() {
- if (institutionAdministeringStudiesID == null) {
- return "DEF-IAS";
- } else {
- return institutionAdministeringStudiesID;
- }
- }
-
- /**
- * Sets the value of the institutionAdministeringStudiesID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setInstitutionAdministeringStudiesID(String value) {
- this.institutionAdministeringStudiesID = value;
- }
-
- /**
- * Gets the value of the isRequiredByTheProgramme property.
- *
- * @return
- * possible object is
- * {@link Boolean }
- *
- */
- public boolean isIsRequiredByTheProgramme() {
- if (isRequiredByTheProgramme == null) {
- return true;
- } else {
- return isRequiredByTheProgramme;
- }
- }
-
- /**
- * Sets the value of the isRequiredByTheProgramme property.
- *
- * @param value
- * allowed object is
- * {@link Boolean }
- *
- */
- public void setIsRequiredByTheProgramme(Boolean value) {
- this.isRequiredByTheProgramme = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
- * &lt;attribute name="eheaFramework" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}EHEAFrameworkType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class Level {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "eheaFramework")
- protected EHEAFrameworkType eheaFramework;
-
- /**
- * Gets the value of the value property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the eheaFramework property.
- *
- * @return
- * possible object is
- * {@link EHEAFrameworkType }
- *
- */
- public EHEAFrameworkType getEheaFramework() {
- return eheaFramework;
- }
-
- /**
- * Sets the value of the eheaFramework property.
- *
- * @param value
- * allowed object is
- * {@link EHEAFrameworkType }
- *
- */
- public void setEheaFramework(EHEAFrameworkType value) {
- this.eheaFramework = value;
- }
-
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
- * &lt;attribute name="modeOfDelivery" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}ModeOfDeliveryType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class ModeOfDelivery {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "modeOfDelivery")
- protected ModeOfDeliveryType modeOfDelivery;
-
- /**
- * Gets the value of the value property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the modeOfDelivery property.
- *
- * @return
- * possible object is
- * {@link ModeOfDeliveryType }
- *
- */
- public ModeOfDeliveryType getModeOfDelivery() {
- return modeOfDelivery;
- }
-
- /**
- * Sets the value of the modeOfDelivery property.
- *
- * @param value
- * allowed object is
- * {@link ModeOfDeliveryType }
- *
- */
- public void setModeOfDelivery(ModeOfDeliveryType value) {
- this.modeOfDelivery = value;
- }
-
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
- * &lt;attribute name="type" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}CourseUnitTypeType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class Type {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "type")
- protected CourseUnitTypeType type;
-
- /**
- * Gets the value of the value property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the type property.
- *
- * @return
- * possible object is
- * {@link CourseUnitTypeType }
- *
- */
- public CourseUnitTypeType getType() {
- return type;
- }
-
- /**
- * Sets the value of the type property.
- *
- * @param value
- * allowed object is
- * {@link CourseUnitTypeType }
- *
- */
- public void setType(CourseUnitTypeType value) {
- this.type = value;
- }
-
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
- * &lt;attribute name="year" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}PositiveDecimalType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class YearOfStudy {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "year")
- protected BigDecimal year;
-
- /**
- * Gets the value of the value property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the year property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getYear() {
- return year;
- }
-
- /**
- * Sets the value of the year property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setYear(BigDecimal value) {
- this.year = value;
- }
-
- }
+ @XmlElement(name = "Code")
+ protected String code;
+ @XmlElement(name = "ScientificArea")
+ protected String scientificArea;
+ @XmlElement(name = "Title", required = true)
+ protected String title;
+ @XmlElement(name = "Theme")
+ protected String theme;
+ @XmlElement(name = "Type")
+ protected CourseUnitType.Type type;
+ @XmlElement(name = "YearOfStudy")
+ protected CourseUnitType.YearOfStudy yearOfStudy;
+ @XmlElement(name = "Level")
+ protected CourseUnitType.Level level;
+ @XmlElement(name = "ECTSCredits")
+ protected BigDecimal ectsCredits;
+ @XmlElement(name = "LocalCredits")
+ protected BigDecimal localCredits;
+ @XmlElement(name = "Hours")
+ protected BigDecimal hours;
+ @XmlElement(name = "LanguagesOfInstruction")
+ protected CourseUnitLanguagesOfInstructionType languagesOfInstruction;
+ @XmlElement(name = "ModeOfDelivery")
+ protected CourseUnitType.ModeOfDelivery modeOfDelivery;
+ @XmlElement(name = "WorkPlacements")
+ protected CourseUnitWorkPlacementsType workPlacements;
+ @XmlElement(name = "StudentPerformance")
+ protected CourseUnitStudentPerformanceType studentPerformance;
+ @XmlElement(name = "NameOfLecturers")
+ protected RichTextTagType nameOfLecturers;
+ @XmlElement(name = "LearningOutcomes")
+ protected RichTextTagType learningOutcomes;
+ @XmlElement(name = "PrerequisitesAndCorequisites")
+ protected RichTextTagType prerequisitesAndCorequisites;
+ @XmlElement(name = "PrerequisitesScholarshipLevel")
+ protected RichTextTagType prerequisitesScholarshipLevel;
+ @XmlElement(name = "PrerequisitesOtherTitles")
+ protected RichTextTagType prerequisitesOtherTitles;
+ @XmlElement(name = "RecomendedOptionalProgrammeComponents")
+ protected RichTextTagType recomendedOptionalProgrammeComponents;
+ @XmlElement(name = "CourseContents")
+ protected RichTextTagType courseContents;
+ @XmlElement(name = "RecomendedOrRequiredReading")
+ protected RichTextTagType recomendedOrRequiredReading;
+ @XmlElement(name = "PlanedLearningActivitiesAndTeachingMethod")
+ protected RichTextTagType planedLearningActivitiesAndTeachingMethod;
+ @XmlElement(name = "AssesmentMethodsAndCriteria")
+ protected RichTextTagType assesmentMethodsAndCriteria;
+ @XmlElement(name = "Observations")
+ protected RichTextTagType observations;
+ @XmlAttribute(name = "groupID")
+ protected String groupID;
+ @XmlAttribute(name = "institutionAdministeringStudiesID")
+ protected String institutionAdministeringStudiesID;
+ @XmlAttribute(name = "isRequiredByTheProgramme")
+ protected Boolean isRequiredByTheProgramme;
+
+ /**
+ * Gets the value of the code property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCode() {
+ return code;
+ }
+
+ /**
+ * Sets the value of the code property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCode(String value) {
+ this.code = value;
+ }
+
+ /**
+ * Gets the value of the scientificArea property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getScientificArea() {
+ return scientificArea;
+ }
+
+ /**
+ * Sets the value of the scientificArea property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setScientificArea(String value) {
+ this.scientificArea = value;
+ }
+
+ /**
+ * Gets the value of the title property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * Sets the value of the title property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTitle(String value) {
+ this.title = value;
+ }
+
+ /**
+ * Gets the value of the theme property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTheme() {
+ return theme;
+ }
+
+ /**
+ * Sets the value of the theme property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTheme(String value) {
+ this.theme = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return possible object is {@link CourseUnitType.Type }
+ *
+ */
+ public CourseUnitType.Type getType() {
+ return type;
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitType.Type }
+ *
+ */
+ public void setType(CourseUnitType.Type value) {
+ this.type = value;
+ }
+
+ /**
+ * Gets the value of the yearOfStudy property.
+ *
+ * @return possible object is {@link CourseUnitType.YearOfStudy }
+ *
+ */
+ public CourseUnitType.YearOfStudy getYearOfStudy() {
+ return yearOfStudy;
+ }
+
+ /**
+ * Sets the value of the yearOfStudy property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitType.YearOfStudy }
+ *
+ */
+ public void setYearOfStudy(CourseUnitType.YearOfStudy value) {
+ this.yearOfStudy = value;
+ }
+
+ /**
+ * Gets the value of the level property.
+ *
+ * @return possible object is {@link CourseUnitType.Level }
+ *
+ */
+ public CourseUnitType.Level getLevel() {
+ return level;
+ }
+
+ /**
+ * Sets the value of the level property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitType.Level }
+ *
+ */
+ public void setLevel(CourseUnitType.Level value) {
+ this.level = value;
+ }
+
+ /**
+ * Gets the value of the ectsCredits property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getECTSCredits() {
+ return ectsCredits;
+ }
+
+ /**
+ * Sets the value of the ectsCredits property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setECTSCredits(BigDecimal value) {
+ this.ectsCredits = value;
+ }
+
+ /**
+ * Gets the value of the localCredits property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getLocalCredits() {
+ return localCredits;
+ }
+
+ /**
+ * Sets the value of the localCredits property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setLocalCredits(BigDecimal value) {
+ this.localCredits = value;
+ }
+
+ /**
+ * Gets the value of the hours property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getHours() {
+ return hours;
+ }
+
+ /**
+ * Sets the value of the hours property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setHours(BigDecimal value) {
+ this.hours = value;
+ }
+
+ /**
+ * Gets the value of the languagesOfInstruction property.
+ *
+ * @return possible object is {@link CourseUnitLanguagesOfInstructionType }
+ *
+ */
+ public CourseUnitLanguagesOfInstructionType getLanguagesOfInstruction() {
+ return languagesOfInstruction;
+ }
+
+ /**
+ * Sets the value of the languagesOfInstruction property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitLanguagesOfInstructionType }
+ *
+ */
+ public void setLanguagesOfInstruction(CourseUnitLanguagesOfInstructionType value) {
+ this.languagesOfInstruction = value;
+ }
+
+ /**
+ * Gets the value of the modeOfDelivery property.
+ *
+ * @return possible object is {@link CourseUnitType.ModeOfDelivery }
+ *
+ */
+ public CourseUnitType.ModeOfDelivery getModeOfDelivery() {
+ return modeOfDelivery;
+ }
+
+ /**
+ * Sets the value of the modeOfDelivery property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitType.ModeOfDelivery }
+ *
+ */
+ public void setModeOfDelivery(CourseUnitType.ModeOfDelivery value) {
+ this.modeOfDelivery = value;
+ }
+
+ /**
+ * Gets the value of the workPlacements property.
+ *
+ * @return possible object is {@link CourseUnitWorkPlacementsType }
+ *
+ */
+ public CourseUnitWorkPlacementsType getWorkPlacements() {
+ return workPlacements;
+ }
+
+ /**
+ * Sets the value of the workPlacements property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitWorkPlacementsType }
+ *
+ */
+ public void setWorkPlacements(CourseUnitWorkPlacementsType value) {
+ this.workPlacements = value;
+ }
+
+ /**
+ * Gets the value of the studentPerformance property.
+ *
+ * @return possible object is {@link CourseUnitStudentPerformanceType }
+ *
+ */
+ public CourseUnitStudentPerformanceType getStudentPerformance() {
+ return studentPerformance;
+ }
+
+ /**
+ * Sets the value of the studentPerformance property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitStudentPerformanceType }
+ *
+ */
+ public void setStudentPerformance(CourseUnitStudentPerformanceType value) {
+ this.studentPerformance = value;
+ }
+
+ /**
+ * Gets the value of the nameOfLecturers property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getNameOfLecturers() {
+ return nameOfLecturers;
+ }
+
+ /**
+ * Sets the value of the nameOfLecturers property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setNameOfLecturers(RichTextTagType value) {
+ this.nameOfLecturers = value;
+ }
+
+ /**
+ * Gets the value of the learningOutcomes property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getLearningOutcomes() {
+ return learningOutcomes;
+ }
+
+ /**
+ * Sets the value of the learningOutcomes property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setLearningOutcomes(RichTextTagType value) {
+ this.learningOutcomes = value;
+ }
+
+ /**
+ * Gets the value of the prerequisitesAndCorequisites property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getPrerequisitesAndCorequisites() {
+ return prerequisitesAndCorequisites;
+ }
+
+ /**
+ * Sets the value of the prerequisitesAndCorequisites property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setPrerequisitesAndCorequisites(RichTextTagType value) {
+ this.prerequisitesAndCorequisites = value;
+ }
+
+ /**
+ * Gets the value of the prerequisitesScholarshipLevel property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getPrerequisitesScholarshipLevel() {
+ return prerequisitesScholarshipLevel;
+ }
+
+ /**
+ * Sets the value of the prerequisitesScholarshipLevel property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setPrerequisitesScholarshipLevel(RichTextTagType value) {
+ this.prerequisitesScholarshipLevel = value;
+ }
+
+ /**
+ * Gets the value of the prerequisitesOtherTitles property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getPrerequisitesOtherTitles() {
+ return prerequisitesOtherTitles;
+ }
+
+ /**
+ * Sets the value of the prerequisitesOtherTitles property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setPrerequisitesOtherTitles(RichTextTagType value) {
+ this.prerequisitesOtherTitles = value;
+ }
+
+ /**
+ * Gets the value of the recomendedOptionalProgrammeComponents property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getRecomendedOptionalProgrammeComponents() {
+ return recomendedOptionalProgrammeComponents;
+ }
+
+ /**
+ * Sets the value of the recomendedOptionalProgrammeComponents property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setRecomendedOptionalProgrammeComponents(RichTextTagType value) {
+ this.recomendedOptionalProgrammeComponents = value;
+ }
+
+ /**
+ * Gets the value of the courseContents property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getCourseContents() {
+ return courseContents;
+ }
+
+ /**
+ * Sets the value of the courseContents property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setCourseContents(RichTextTagType value) {
+ this.courseContents = value;
+ }
+
+ /**
+ * Gets the value of the recomendedOrRequiredReading property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getRecomendedOrRequiredReading() {
+ return recomendedOrRequiredReading;
+ }
+
+ /**
+ * Sets the value of the recomendedOrRequiredReading property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setRecomendedOrRequiredReading(RichTextTagType value) {
+ this.recomendedOrRequiredReading = value;
+ }
+
+ /**
+ * Gets the value of the planedLearningActivitiesAndTeachingMethod property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getPlanedLearningActivitiesAndTeachingMethod() {
+ return planedLearningActivitiesAndTeachingMethod;
+ }
+
+ /**
+ * Sets the value of the planedLearningActivitiesAndTeachingMethod property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setPlanedLearningActivitiesAndTeachingMethod(RichTextTagType value) {
+ this.planedLearningActivitiesAndTeachingMethod = value;
+ }
+
+ /**
+ * Gets the value of the assesmentMethodsAndCriteria property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getAssesmentMethodsAndCriteria() {
+ return assesmentMethodsAndCriteria;
+ }
+
+ /**
+ * Sets the value of the assesmentMethodsAndCriteria property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setAssesmentMethodsAndCriteria(RichTextTagType value) {
+ this.assesmentMethodsAndCriteria = value;
+ }
+
+ /**
+ * Gets the value of the observations property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getObservations() {
+ return observations;
+ }
+
+ /**
+ * Sets the value of the observations property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setObservations(RichTextTagType value) {
+ this.observations = value;
+ }
+
+ /**
+ * Gets the value of the groupID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getGroupID() {
+ return groupID;
+ }
+
+ /**
+ * Sets the value of the groupID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setGroupID(String value) {
+ this.groupID = value;
+ }
+
+ /**
+ * Gets the value of the institutionAdministeringStudiesID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getInstitutionAdministeringStudiesID() {
+ if (institutionAdministeringStudiesID == null) {
+ return "DEF-IAS";
+ } else {
+ return institutionAdministeringStudiesID;
+ }
+ }
+
+ /**
+ * Sets the value of the institutionAdministeringStudiesID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setInstitutionAdministeringStudiesID(String value) {
+ this.institutionAdministeringStudiesID = value;
+ }
+
+ /**
+ * Gets the value of the isRequiredByTheProgramme property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isIsRequiredByTheProgramme() {
+ if (isRequiredByTheProgramme == null) {
+ return true;
+ } else {
+ return isRequiredByTheProgramme;
+ }
+ }
+
+ /**
+ * Sets the value of the isRequiredByTheProgramme property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setIsRequiredByTheProgramme(Boolean value) {
+ this.isRequiredByTheProgramme = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
+ * &lt;attribute name="eheaFramework" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}EHEAFrameworkType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class Level {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "eheaFramework")
+ protected EHEAFrameworkType eheaFramework;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the eheaFramework property.
+ *
+ * @return possible object is {@link EHEAFrameworkType }
+ *
+ */
+ public EHEAFrameworkType getEheaFramework() {
+ return eheaFramework;
+ }
+
+ /**
+ * Sets the value of the eheaFramework property.
+ *
+ * @param value
+ * allowed object is {@link EHEAFrameworkType }
+ *
+ */
+ public void setEheaFramework(EHEAFrameworkType value) {
+ this.eheaFramework = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
+ * &lt;attribute name="modeOfDelivery" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}ModeOfDeliveryType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class ModeOfDelivery {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "modeOfDelivery")
+ protected ModeOfDeliveryType modeOfDelivery;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the modeOfDelivery property.
+ *
+ * @return possible object is {@link ModeOfDeliveryType }
+ *
+ */
+ public ModeOfDeliveryType getModeOfDelivery() {
+ return modeOfDelivery;
+ }
+
+ /**
+ * Sets the value of the modeOfDelivery property.
+ *
+ * @param value
+ * allowed object is {@link ModeOfDeliveryType }
+ *
+ */
+ public void setModeOfDelivery(ModeOfDeliveryType value) {
+ this.modeOfDelivery = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
+ * &lt;attribute name="type" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}CourseUnitTypeType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class Type {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "type")
+ protected CourseUnitTypeType type;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return possible object is {@link CourseUnitTypeType }
+ *
+ */
+ public CourseUnitTypeType getType() {
+ return type;
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is {@link CourseUnitTypeType }
+ *
+ */
+ public void setType(CourseUnitTypeType value) {
+ this.type = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
+ * &lt;attribute name="year" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}PositiveDecimalType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class YearOfStudy {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "year")
+ protected BigDecimal year;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the year property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getYear() {
+ return year;
+ }
+
+ /**
+ * Sets the value of the year property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setYear(BigDecimal value) {
+ this.year = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitTypeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitTypeType.java
index dae27bc84..33b5563df 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitTypeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitTypeType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CourseUnitTypeType.
+ * <p>
+ * Java class for CourseUnitTypeType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="CourseUnitTypeType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -32,27 +33,26 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum CourseUnitTypeType {
- @XmlEnumValue("Compulsory")
- COMPULSORY("Compulsory"),
- @XmlEnumValue("Optional")
- OPTIONAL("Optional");
- private final String value;
-
- CourseUnitTypeType(String v) {
- value = v;
- }
-
- public String value() {
- return value;
- }
-
- public static CourseUnitTypeType fromValue(String v) {
- for (CourseUnitTypeType c: CourseUnitTypeType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ @XmlEnumValue("Compulsory")
+ COMPULSORY("Compulsory"), @XmlEnumValue("Optional")
+ OPTIONAL("Optional");
+ private final String value;
+
+ CourseUnitTypeType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static CourseUnitTypeType fromValue(String v) {
+ for (CourseUnitTypeType c : CourseUnitTypeType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitWorkPlacementType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitWorkPlacementType.java
index 39eb67bc2..2694f4582 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitWorkPlacementType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitWorkPlacementType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.math.BigDecimal;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
-
/**
- * <p>Java class for CourseUnitWorkPlacementType complex type.
+ * <p>
+ * Java class for CourseUnitWorkPlacementType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseUnitWorkPlacementType">
@@ -39,117 +39,100 @@ import javax.xml.datatype.XMLGregorianCalendar;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseUnitWorkPlacementType", propOrder = {
- "collaboratingInstitution",
- "dateFrom",
- "dateTo",
- "trainingHours"
-})
+@XmlType(name = "CourseUnitWorkPlacementType", propOrder = { "collaboratingInstitution", "dateFrom", "dateTo", "trainingHours" })
public class CourseUnitWorkPlacementType {
- @XmlElement(name = "CollaboratingInstitution", required = true)
- protected String collaboratingInstitution;
- @XmlElement(name = "DateFrom")
- protected XMLGregorianCalendar dateFrom;
- @XmlElement(name = "DateTo")
- protected XMLGregorianCalendar dateTo;
- @XmlElement(name = "TrainingHours")
- protected BigDecimal trainingHours;
+ @XmlElement(name = "CollaboratingInstitution", required = true)
+ protected String collaboratingInstitution;
+ @XmlElement(name = "DateFrom")
+ protected XMLGregorianCalendar dateFrom;
+ @XmlElement(name = "DateTo")
+ protected XMLGregorianCalendar dateTo;
+ @XmlElement(name = "TrainingHours")
+ protected BigDecimal trainingHours;
- /**
- * Gets the value of the collaboratingInstitution property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCollaboratingInstitution() {
- return collaboratingInstitution;
- }
+ /**
+ * Gets the value of the collaboratingInstitution property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCollaboratingInstitution() {
+ return collaboratingInstitution;
+ }
- /**
- * Sets the value of the collaboratingInstitution property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCollaboratingInstitution(String value) {
- this.collaboratingInstitution = value;
- }
+ /**
+ * Sets the value of the collaboratingInstitution property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCollaboratingInstitution(String value) {
+ this.collaboratingInstitution = value;
+ }
- /**
- * Gets the value of the dateFrom property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getDateFrom() {
- return dateFrom;
- }
+ /**
+ * Gets the value of the dateFrom property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateFrom() {
+ return dateFrom;
+ }
- /**
- * Sets the value of the dateFrom property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setDateFrom(XMLGregorianCalendar value) {
- this.dateFrom = value;
- }
+ /**
+ * Sets the value of the dateFrom property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateFrom(XMLGregorianCalendar value) {
+ this.dateFrom = value;
+ }
- /**
- * Gets the value of the dateTo property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getDateTo() {
- return dateTo;
- }
+ /**
+ * Gets the value of the dateTo property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateTo() {
+ return dateTo;
+ }
- /**
- * Sets the value of the dateTo property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setDateTo(XMLGregorianCalendar value) {
- this.dateTo = value;
- }
+ /**
+ * Sets the value of the dateTo property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateTo(XMLGregorianCalendar value) {
+ this.dateTo = value;
+ }
- /**
- * Gets the value of the trainingHours property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getTrainingHours() {
- return trainingHours;
- }
+ /**
+ * Gets the value of the trainingHours property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getTrainingHours() {
+ return trainingHours;
+ }
- /**
- * Sets the value of the trainingHours property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setTrainingHours(BigDecimal value) {
- this.trainingHours = value;
- }
+ /**
+ * Sets the value of the trainingHours property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setTrainingHours(BigDecimal value) {
+ this.trainingHours = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitWorkPlacementsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitWorkPlacementsType.java
index 9dfb3d6b7..28468d0b9 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitWorkPlacementsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CourseUnitWorkPlacementsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CourseUnitWorkPlacementsType complex type.
+ * <p>
+ * Java class for CourseUnitWorkPlacementsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CourseUnitWorkPlacementsType">
@@ -36,41 +36,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CourseUnitWorkPlacementsType", propOrder = {
- "workPlacement"
-})
+@XmlType(name = "CourseUnitWorkPlacementsType", propOrder = { "workPlacement" })
public class CourseUnitWorkPlacementsType {
- @XmlElement(name = "WorkPlacement", required = true)
- protected List<CourseUnitWorkPlacementType> workPlacement;
+ @XmlElement(name = "WorkPlacement", required = true)
+ protected List<CourseUnitWorkPlacementType> workPlacement;
- /**
- * Gets the value of the workPlacement property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the workPlacement property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getWorkPlacement().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link CourseUnitWorkPlacementType }
- *
- *
- */
- public List<CourseUnitWorkPlacementType> getWorkPlacement() {
- if (workPlacement == null) {
- workPlacement = new ArrayList<CourseUnitWorkPlacementType>();
- }
- return this.workPlacement;
- }
+ /**
+ * Gets the value of the workPlacement property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the workPlacement property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getWorkPlacement().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link CourseUnitWorkPlacementType }
+ *
+ *
+ */
+ public List<CourseUnitWorkPlacementType> getWorkPlacement() {
+ if (workPlacement == null) {
+ workPlacement = new ArrayList<CourseUnitWorkPlacementType>();
+ }
+ return this.workPlacement;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesAttendedInOtherInstitutionInMobilityProgramsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesAttendedInOtherInstitutionInMobilityProgramsType.java
index 01c42298c..6e588acfd 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesAttendedInOtherInstitutionInMobilityProgramsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesAttendedInOtherInstitutionInMobilityProgramsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CoursesAttendedInOtherInstitutionInMobilityProgramsType complex type.
+ * <p>
+ * Java class for CoursesAttendedInOtherInstitutionInMobilityProgramsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CoursesAttendedInOtherInstitutionInMobilityProgramsType">
@@ -36,41 +36,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CoursesAttendedInOtherInstitutionInMobilityProgramsType", propOrder = {
- "mobilityProgramme"
-})
+@XmlType(name = "CoursesAttendedInOtherInstitutionInMobilityProgramsType", propOrder = { "mobilityProgramme" })
public class CoursesAttendedInOtherInstitutionInMobilityProgramsType {
- @XmlElement(name = "MobilityProgramme", required = true)
- protected List<MobilityProgrammeType> mobilityProgramme;
+ @XmlElement(name = "MobilityProgramme", required = true)
+ protected List<MobilityProgrammeType> mobilityProgramme;
- /**
- * Gets the value of the mobilityProgramme property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the mobilityProgramme property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getMobilityProgramme().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link MobilityProgrammeType }
- *
- *
- */
- public List<MobilityProgrammeType> getMobilityProgramme() {
- if (mobilityProgramme == null) {
- mobilityProgramme = new ArrayList<MobilityProgrammeType>();
- }
- return this.mobilityProgramme;
- }
+ /**
+ * Gets the value of the mobilityProgramme property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the mobilityProgramme property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getMobilityProgramme().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link MobilityProgrammeType }
+ *
+ *
+ */
+ public List<MobilityProgrammeType> getMobilityProgramme() {
+ if (mobilityProgramme == null) {
+ mobilityProgramme = new ArrayList<MobilityProgrammeType>();
+ }
+ return this.mobilityProgramme;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesGroupType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesGroupType.java
index 229b753ff..f754fce18 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesGroupType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesGroupType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -16,11 +15,12 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CoursesGroupType complex type.
+ * <p>
+ * Java class for CoursesGroupType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CoursesGroupType">
@@ -41,148 +41,129 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CoursesGroupType", propOrder = {
- "name",
- "headerInformation",
- "coursesGroup",
- "footerInformation"
-})
+@XmlType(name = "CoursesGroupType", propOrder = { "name", "headerInformation", "coursesGroup", "footerInformation" })
public class CoursesGroupType {
- @XmlElement(name = "Name", required = true)
- protected String name;
- @XmlElement(name = "HeaderInformation")
- protected RichTextTagType headerInformation;
- @XmlElement(name = "CoursesGroup")
- protected List<CoursesGroupType> coursesGroup;
- @XmlElement(name = "FooterInformation")
- protected RichTextTagType footerInformation;
- @XmlAttribute(name = "groupID", required = true)
- protected String groupID;
-
- /**
- * Gets the value of the name property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getName() {
- return name;
- }
-
- /**
- * Sets the value of the name property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setName(String value) {
- this.name = value;
- }
-
- /**
- * Gets the value of the headerInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getHeaderInformation() {
- return headerInformation;
- }
-
- /**
- * Sets the value of the headerInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setHeaderInformation(RichTextTagType value) {
- this.headerInformation = value;
- }
-
- /**
- * Gets the value of the coursesGroup property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the coursesGroup property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getCoursesGroup().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link CoursesGroupType }
- *
- *
- */
- public List<CoursesGroupType> getCoursesGroup() {
- if (coursesGroup == null) {
- coursesGroup = new ArrayList<CoursesGroupType>();
- }
- return this.coursesGroup;
- }
-
- /**
- * Gets the value of the footerInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getFooterInformation() {
- return footerInformation;
- }
-
- /**
- * Sets the value of the footerInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setFooterInformation(RichTextTagType value) {
- this.footerInformation = value;
- }
-
- /**
- * Gets the value of the groupID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getGroupID() {
- return groupID;
- }
-
- /**
- * Sets the value of the groupID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setGroupID(String value) {
- this.groupID = value;
- }
+ @XmlElement(name = "Name", required = true)
+ protected String name;
+ @XmlElement(name = "HeaderInformation")
+ protected RichTextTagType headerInformation;
+ @XmlElement(name = "CoursesGroup")
+ protected List<CoursesGroupType> coursesGroup;
+ @XmlElement(name = "FooterInformation")
+ protected RichTextTagType footerInformation;
+ @XmlAttribute(name = "groupID", required = true)
+ protected String groupID;
+
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
+
+ /**
+ * Gets the value of the headerInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getHeaderInformation() {
+ return headerInformation;
+ }
+
+ /**
+ * Sets the value of the headerInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setHeaderInformation(RichTextTagType value) {
+ this.headerInformation = value;
+ }
+
+ /**
+ * Gets the value of the coursesGroup property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the coursesGroup property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getCoursesGroup().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link CoursesGroupType }
+ *
+ *
+ */
+ public List<CoursesGroupType> getCoursesGroup() {
+ if (coursesGroup == null) {
+ coursesGroup = new ArrayList<CoursesGroupType>();
+ }
+ return this.coursesGroup;
+ }
+
+ /**
+ * Gets the value of the footerInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getFooterInformation() {
+ return footerInformation;
+ }
+
+ /**
+ * Sets the value of the footerInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setFooterInformation(RichTextTagType value) {
+ this.footerInformation = value;
+ }
+
+ /**
+ * Gets the value of the groupID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getGroupID() {
+ return groupID;
+ }
+
+ /**
+ * Sets the value of the groupID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setGroupID(String value) {
+ this.groupID = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesGroupsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesGroupsType.java
index 74b1bec06..00b5cff1e 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesGroupsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesGroupsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CoursesGroupsType complex type.
+ * <p>
+ * Java class for CoursesGroupsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CoursesGroupsType">
@@ -39,122 +39,106 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CoursesGroupsType", propOrder = {
- "name",
- "headerInformation",
- "coursesGroup",
- "footerInformation"
-})
+@XmlType(name = "CoursesGroupsType", propOrder = { "name", "headerInformation", "coursesGroup", "footerInformation" })
public class CoursesGroupsType {
- @XmlElement(name = "Name")
- protected String name;
- @XmlElement(name = "HeaderInformation")
- protected RichTextTagType headerInformation;
- @XmlElement(name = "CoursesGroup")
- protected List<CoursesGroupType> coursesGroup;
- @XmlElement(name = "FooterInformation")
- protected RichTextTagType footerInformation;
+ @XmlElement(name = "Name")
+ protected String name;
+ @XmlElement(name = "HeaderInformation")
+ protected RichTextTagType headerInformation;
+ @XmlElement(name = "CoursesGroup")
+ protected List<CoursesGroupType> coursesGroup;
+ @XmlElement(name = "FooterInformation")
+ protected RichTextTagType footerInformation;
- /**
- * Gets the value of the name property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getName() {
- return name;
- }
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
- /**
- * Sets the value of the name property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setName(String value) {
- this.name = value;
- }
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
- /**
- * Gets the value of the headerInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getHeaderInformation() {
- return headerInformation;
- }
+ /**
+ * Gets the value of the headerInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getHeaderInformation() {
+ return headerInformation;
+ }
- /**
- * Sets the value of the headerInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setHeaderInformation(RichTextTagType value) {
- this.headerInformation = value;
- }
+ /**
+ * Sets the value of the headerInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setHeaderInformation(RichTextTagType value) {
+ this.headerInformation = value;
+ }
- /**
- * Gets the value of the coursesGroup property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the coursesGroup property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getCoursesGroup().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link CoursesGroupType }
- *
- *
- */
- public List<CoursesGroupType> getCoursesGroup() {
- if (coursesGroup == null) {
- coursesGroup = new ArrayList<CoursesGroupType>();
- }
- return this.coursesGroup;
- }
+ /**
+ * Gets the value of the coursesGroup property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the coursesGroup property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getCoursesGroup().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link CoursesGroupType }
+ *
+ *
+ */
+ public List<CoursesGroupType> getCoursesGroup() {
+ if (coursesGroup == null) {
+ coursesGroup = new ArrayList<CoursesGroupType>();
+ }
+ return this.coursesGroup;
+ }
- /**
- * Gets the value of the footerInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getFooterInformation() {
- return footerInformation;
- }
+ /**
+ * Gets the value of the footerInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getFooterInformation() {
+ return footerInformation;
+ }
- /**
- * Sets the value of the footerInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setFooterInformation(RichTextTagType value) {
- this.footerInformation = value;
- }
+ /**
+ * Sets the value of the footerInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setFooterInformation(RichTextTagType value) {
+ this.footerInformation = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesUnitsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesUnitsType.java
index d56b4bd10..5102810a9 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesUnitsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/CoursesUnitsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CoursesUnitsType complex type.
+ * <p>
+ * Java class for CoursesUnitsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CoursesUnitsType">
@@ -36,41 +36,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CoursesUnitsType", propOrder = {
- "courseUnit"
-})
+@XmlType(name = "CoursesUnitsType", propOrder = { "courseUnit" })
public class CoursesUnitsType {
- @XmlElement(name = "CourseUnit", required = true)
- protected List<CourseUnitType> courseUnit;
+ @XmlElement(name = "CourseUnit", required = true)
+ protected List<CourseUnitType> courseUnit;
- /**
- * Gets the value of the courseUnit property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the courseUnit property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getCourseUnit().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link CourseUnitType }
- *
- *
- */
- public List<CourseUnitType> getCourseUnit() {
- if (courseUnit == null) {
- courseUnit = new ArrayList<CourseUnitType>();
- }
- return this.courseUnit;
- }
+ /**
+ * Gets the value of the courseUnit property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the courseUnit property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getCourseUnit().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link CourseUnitType }
+ *
+ *
+ */
+ public List<CourseUnitType> getCourseUnit() {
+ if (courseUnit == null) {
+ courseUnit = new ArrayList<CourseUnitType>();
+ }
+ return this.courseUnit;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ECTSGradingScaleType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ECTSGradingScaleType.java
index a012c27a9..d126d7294 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ECTSGradingScaleType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ECTSGradingScaleType.java
@@ -5,18 +5,19 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for ECTSGradingScaleType.
+ * <p>
+ * Java class for ECTSGradingScaleType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="ECTSGradingScaleType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -36,20 +37,14 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum ECTSGradingScaleType {
- A,
- B,
- C,
- D,
- E,
- FX,
- F;
+ A, B, C, D, E, FX, F;
- public String value() {
- return name();
- }
+ public String value() {
+ return name();
+ }
- public static ECTSGradingScaleType fromValue(String v) {
- return valueOf(v);
- }
+ public static ECTSGradingScaleType fromValue(String v) {
+ return valueOf(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/EHEAFrameworkType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/EHEAFrameworkType.java
index 2f8d46c73..31b69e907 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/EHEAFrameworkType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/EHEAFrameworkType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for EHEAFrameworkType.
+ * <p>
+ * Java class for EHEAFrameworkType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="EHEAFrameworkType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -33,29 +34,27 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum EHEAFrameworkType {
- @XmlEnumValue("FirstCycle")
- FIRST_CYCLE("FirstCycle"),
- @XmlEnumValue("SecondCycle")
- SECOND_CYCLE("SecondCycle"),
- @XmlEnumValue("ThirdCycle")
- THIRD_CYCLE("ThirdCycle");
- private final String value;
-
- EHEAFrameworkType(String v) {
- value = v;
- }
-
- public String value() {
- return value;
- }
-
- public static EHEAFrameworkType fromValue(String v) {
- for (EHEAFrameworkType c: EHEAFrameworkType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ @XmlEnumValue("FirstCycle")
+ FIRST_CYCLE("FirstCycle"), @XmlEnumValue("SecondCycle")
+ SECOND_CYCLE("SecondCycle"), @XmlEnumValue("ThirdCycle")
+ THIRD_CYCLE("ThirdCycle");
+ private final String value;
+
+ EHEAFrameworkType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static EHEAFrameworkType fromValue(String v) {
+ for (EHEAFrameworkType c : EHEAFrameworkType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ExtensionContentType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ExtensionContentType.java
index 85daac00d..de8f10707 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ExtensionContentType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ExtensionContentType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -18,11 +17,12 @@ import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
-
/**
- * <p>Java class for ExtensionContentType complex type.
+ * <p>
+ * Java class for ExtensionContentType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ExtensionContentType">
@@ -40,70 +40,61 @@ import org.w3c.dom.Element;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "ExtensionContentType", propOrder = {
- "content"
-})
+@XmlType(name = "ExtensionContentType", propOrder = { "content" })
public class ExtensionContentType {
- @XmlMixed
- @XmlAnyElement(lax = true)
- protected List<Object> content;
- @XmlAttribute(name = "id")
- protected String id;
+ @XmlMixed
+ @XmlAnyElement(lax = true)
+ protected List<Object> content;
+ @XmlAttribute(name = "id")
+ protected String id;
- /**
- * Gets the value of the content property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link Object }
- * {@link Element }
- * {@link String }
- *
- *
- */
- public List<Object> getContent() {
- if (content == null) {
- content = new ArrayList<Object>();
- }
- return this.content;
- }
+ /**
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link Object } {@link Element } {@link String }
+ *
+ *
+ */
+ public List<Object> getContent() {
+ if (content == null) {
+ content = new ArrayList<Object>();
+ }
+ return this.content;
+ }
- /**
- * Gets the value of the id property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getId() {
- return id;
- }
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
- /**
- * Sets the value of the id property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setId(String value) {
- this.id = value;
- }
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/FamilyNameType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/FamilyNameType.java
index a69798709..007ea7bfb 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/FamilyNameType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/FamilyNameType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for FamilyNameType complex type.
+ * <p>
+ * Java class for FamilyNameType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="FamilyNameType">
@@ -36,41 +36,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "FamilyNameType", propOrder = {
- "surname"
-})
+@XmlType(name = "FamilyNameType", propOrder = { "surname" })
public class FamilyNameType {
- @XmlElement(name = "Surname", required = true)
- protected List<String> surname;
+ @XmlElement(name = "Surname", required = true)
+ protected List<String> surname;
- /**
- * Gets the value of the surname property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the surname property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getSurname().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link String }
- *
- *
- */
- public List<String> getSurname() {
- if (surname == null) {
- surname = new ArrayList<String>();
- }
- return this.surname;
- }
+ /**
+ * Gets the value of the surname property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the surname property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getSurname().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String }
+ *
+ *
+ */
+ public List<String> getSurname() {
+ if (surname == null) {
+ surname = new ArrayList<String>();
+ }
+ return this.surname;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GenderType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GenderType.java
index 34a9a68b5..159810298 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GenderType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GenderType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for GenderType.
+ * <p>
+ * Java class for GenderType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="GenderType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -32,27 +33,26 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum GenderType {
- @XmlEnumValue("Female")
- FEMALE("Female"),
- @XmlEnumValue("Male")
- MALE("Male");
- private final String value;
-
- GenderType(String v) {
- value = v;
- }
-
- public String value() {
- return value;
- }
-
- public static GenderType fromValue(String v) {
- for (GenderType c: GenderType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ @XmlEnumValue("Female")
+ FEMALE("Female"), @XmlEnumValue("Male")
+ MALE("Male");
+ private final String value;
+
+ GenderType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static GenderType fromValue(String v) {
+ for (GenderType c : GenderType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GeneralDiplomaType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GeneralDiplomaType.java
index b59e1b6b1..4dd196d31 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GeneralDiplomaType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GeneralDiplomaType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -17,11 +16,12 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig.SignatureType;
-
/**
- * <p>Java class for GeneralDiplomaType complex type.
+ * <p>
+ * Java class for GeneralDiplomaType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="GeneralDiplomaType">
@@ -50,360 +50,316 @@ import eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig.SignatureType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "GeneralDiplomaType", propOrder = {
- "informationIdentifyingTheHolderOfTheQualification",
- "informationIdentifyingTheQualification",
- "informationOnTheLevelOfTheQualification",
- "informationOnTheContentsAndResultsGained",
- "informationOnTheFunctionOfTheQualification",
- "additionalInformation",
- "certificationOfTheSupplement",
- "informationOnTheNationalHigherEducationSystem",
- "attachments",
- "extensionContent",
- "signature"
-})
+@XmlType(name = "GeneralDiplomaType", propOrder = { "informationIdentifyingTheHolderOfTheQualification", "informationIdentifyingTheQualification", "informationOnTheLevelOfTheQualification",
+ "informationOnTheContentsAndResultsGained", "informationOnTheFunctionOfTheQualification", "additionalInformation", "certificationOfTheSupplement",
+ "informationOnTheNationalHigherEducationSystem", "attachments", "extensionContent", "signature" })
public class GeneralDiplomaType {
- @XmlElement(name = "InformationIdentifyingTheHolderOfTheQualification", required = true)
- protected InformationIdentifyingTheHolderOfTheQualificationType informationIdentifyingTheHolderOfTheQualification;
- @XmlElement(name = "InformationIdentifyingTheQualification", required = true)
- protected InformationIdentifyingTheQualificationType informationIdentifyingTheQualification;
- @XmlElement(name = "InformationOnTheLevelOfTheQualification")
- protected InformationOnTheLevelOfTheQualificationType informationOnTheLevelOfTheQualification;
- @XmlElement(name = "InformationOnTheContentsAndResultsGained")
- protected InformationOnTheContentsAndResultsGainedType informationOnTheContentsAndResultsGained;
- @XmlElement(name = "InformationOnTheFunctionOfTheQualification")
- protected InformationOnTheFunctionOfTheQualificationType informationOnTheFunctionOfTheQualification;
- @XmlElement(name = "AdditionalInformation")
- protected AdditionalInformationType additionalInformation;
- @XmlElement(name = "CertificationOfTheSupplement")
- protected CertificationOfTheSupplementType certificationOfTheSupplement;
- @XmlElement(name = "InformationOnTheNationalHigherEducationSystem")
- protected RichTextTagType informationOnTheNationalHigherEducationSystem;
- @XmlElement(name = "Attachments")
- protected AttachmentsType attachments;
- @XmlElement(name = "ExtensionContent")
- protected List<ExtensionContentType> extensionContent;
- @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#")
- protected List<SignatureType> signature;
- @XmlAttribute(name = "language", required = true)
- protected LanguageType language;
- @XmlAttribute(name = "isTheOriginalLanguage", required = true)
- protected boolean isTheOriginalLanguage;
+ @XmlElement(name = "InformationIdentifyingTheHolderOfTheQualification", required = true)
+ protected InformationIdentifyingTheHolderOfTheQualificationType informationIdentifyingTheHolderOfTheQualification;
+ @XmlElement(name = "InformationIdentifyingTheQualification", required = true)
+ protected InformationIdentifyingTheQualificationType informationIdentifyingTheQualification;
+ @XmlElement(name = "InformationOnTheLevelOfTheQualification")
+ protected InformationOnTheLevelOfTheQualificationType informationOnTheLevelOfTheQualification;
+ @XmlElement(name = "InformationOnTheContentsAndResultsGained")
+ protected InformationOnTheContentsAndResultsGainedType informationOnTheContentsAndResultsGained;
+ @XmlElement(name = "InformationOnTheFunctionOfTheQualification")
+ protected InformationOnTheFunctionOfTheQualificationType informationOnTheFunctionOfTheQualification;
+ @XmlElement(name = "AdditionalInformation")
+ protected AdditionalInformationType additionalInformation;
+ @XmlElement(name = "CertificationOfTheSupplement")
+ protected CertificationOfTheSupplementType certificationOfTheSupplement;
+ @XmlElement(name = "InformationOnTheNationalHigherEducationSystem")
+ protected RichTextTagType informationOnTheNationalHigherEducationSystem;
+ @XmlElement(name = "Attachments")
+ protected AttachmentsType attachments;
+ @XmlElement(name = "ExtensionContent")
+ protected List<ExtensionContentType> extensionContent;
+ @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#")
+ protected List<SignatureType> signature;
+ @XmlAttribute(name = "language", required = true)
+ protected LanguageType language;
+ @XmlAttribute(name = "isTheOriginalLanguage", required = true)
+ protected boolean isTheOriginalLanguage;
- /**
- * Gets the value of the informationIdentifyingTheHolderOfTheQualification property.
- *
- * @return
- * possible object is
- * {@link InformationIdentifyingTheHolderOfTheQualificationType }
- *
- */
- public InformationIdentifyingTheHolderOfTheQualificationType getInformationIdentifyingTheHolderOfTheQualification() {
- return informationIdentifyingTheHolderOfTheQualification;
- }
+ /**
+ * Gets the value of the informationIdentifyingTheHolderOfTheQualification property.
+ *
+ * @return possible object is {@link InformationIdentifyingTheHolderOfTheQualificationType }
+ *
+ */
+ public InformationIdentifyingTheHolderOfTheQualificationType getInformationIdentifyingTheHolderOfTheQualification() {
+ return informationIdentifyingTheHolderOfTheQualification;
+ }
- /**
- * Sets the value of the informationIdentifyingTheHolderOfTheQualification property.
- *
- * @param value
- * allowed object is
- * {@link InformationIdentifyingTheHolderOfTheQualificationType }
- *
- */
- public void setInformationIdentifyingTheHolderOfTheQualification(InformationIdentifyingTheHolderOfTheQualificationType value) {
- this.informationIdentifyingTheHolderOfTheQualification = value;
- }
+ /**
+ * Sets the value of the informationIdentifyingTheHolderOfTheQualification property.
+ *
+ * @param value
+ * allowed object is {@link InformationIdentifyingTheHolderOfTheQualificationType }
+ *
+ */
+ public void setInformationIdentifyingTheHolderOfTheQualification(InformationIdentifyingTheHolderOfTheQualificationType value) {
+ this.informationIdentifyingTheHolderOfTheQualification = value;
+ }
- /**
- * Gets the value of the informationIdentifyingTheQualification property.
- *
- * @return
- * possible object is
- * {@link InformationIdentifyingTheQualificationType }
- *
- */
- public InformationIdentifyingTheQualificationType getInformationIdentifyingTheQualification() {
- return informationIdentifyingTheQualification;
- }
+ /**
+ * Gets the value of the informationIdentifyingTheQualification property.
+ *
+ * @return possible object is {@link InformationIdentifyingTheQualificationType }
+ *
+ */
+ public InformationIdentifyingTheQualificationType getInformationIdentifyingTheQualification() {
+ return informationIdentifyingTheQualification;
+ }
- /**
- * Sets the value of the informationIdentifyingTheQualification property.
- *
- * @param value
- * allowed object is
- * {@link InformationIdentifyingTheQualificationType }
- *
- */
- public void setInformationIdentifyingTheQualification(InformationIdentifyingTheQualificationType value) {
- this.informationIdentifyingTheQualification = value;
- }
+ /**
+ * Sets the value of the informationIdentifyingTheQualification property.
+ *
+ * @param value
+ * allowed object is {@link InformationIdentifyingTheQualificationType }
+ *
+ */
+ public void setInformationIdentifyingTheQualification(InformationIdentifyingTheQualificationType value) {
+ this.informationIdentifyingTheQualification = value;
+ }
- /**
- * Gets the value of the informationOnTheLevelOfTheQualification property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheLevelOfTheQualificationType }
- *
- */
- public InformationOnTheLevelOfTheQualificationType getInformationOnTheLevelOfTheQualification() {
- return informationOnTheLevelOfTheQualification;
- }
+ /**
+ * Gets the value of the informationOnTheLevelOfTheQualification property.
+ *
+ * @return possible object is {@link InformationOnTheLevelOfTheQualificationType }
+ *
+ */
+ public InformationOnTheLevelOfTheQualificationType getInformationOnTheLevelOfTheQualification() {
+ return informationOnTheLevelOfTheQualification;
+ }
- /**
- * Sets the value of the informationOnTheLevelOfTheQualification property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheLevelOfTheQualificationType }
- *
- */
- public void setInformationOnTheLevelOfTheQualification(InformationOnTheLevelOfTheQualificationType value) {
- this.informationOnTheLevelOfTheQualification = value;
- }
+ /**
+ * Sets the value of the informationOnTheLevelOfTheQualification property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheLevelOfTheQualificationType }
+ *
+ */
+ public void setInformationOnTheLevelOfTheQualification(InformationOnTheLevelOfTheQualificationType value) {
+ this.informationOnTheLevelOfTheQualification = value;
+ }
- /**
- * Gets the value of the informationOnTheContentsAndResultsGained property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheContentsAndResultsGainedType }
- *
- */
- public InformationOnTheContentsAndResultsGainedType getInformationOnTheContentsAndResultsGained() {
- return informationOnTheContentsAndResultsGained;
- }
+ /**
+ * Gets the value of the informationOnTheContentsAndResultsGained property.
+ *
+ * @return possible object is {@link InformationOnTheContentsAndResultsGainedType }
+ *
+ */
+ public InformationOnTheContentsAndResultsGainedType getInformationOnTheContentsAndResultsGained() {
+ return informationOnTheContentsAndResultsGained;
+ }
- /**
- * Sets the value of the informationOnTheContentsAndResultsGained property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheContentsAndResultsGainedType }
- *
- */
- public void setInformationOnTheContentsAndResultsGained(InformationOnTheContentsAndResultsGainedType value) {
- this.informationOnTheContentsAndResultsGained = value;
- }
+ /**
+ * Sets the value of the informationOnTheContentsAndResultsGained property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheContentsAndResultsGainedType }
+ *
+ */
+ public void setInformationOnTheContentsAndResultsGained(InformationOnTheContentsAndResultsGainedType value) {
+ this.informationOnTheContentsAndResultsGained = value;
+ }
- /**
- * Gets the value of the informationOnTheFunctionOfTheQualification property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheFunctionOfTheQualificationType }
- *
- */
- public InformationOnTheFunctionOfTheQualificationType getInformationOnTheFunctionOfTheQualification() {
- return informationOnTheFunctionOfTheQualification;
- }
+ /**
+ * Gets the value of the informationOnTheFunctionOfTheQualification property.
+ *
+ * @return possible object is {@link InformationOnTheFunctionOfTheQualificationType }
+ *
+ */
+ public InformationOnTheFunctionOfTheQualificationType getInformationOnTheFunctionOfTheQualification() {
+ return informationOnTheFunctionOfTheQualification;
+ }
- /**
- * Sets the value of the informationOnTheFunctionOfTheQualification property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheFunctionOfTheQualificationType }
- *
- */
- public void setInformationOnTheFunctionOfTheQualification(InformationOnTheFunctionOfTheQualificationType value) {
- this.informationOnTheFunctionOfTheQualification = value;
- }
+ /**
+ * Sets the value of the informationOnTheFunctionOfTheQualification property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheFunctionOfTheQualificationType }
+ *
+ */
+ public void setInformationOnTheFunctionOfTheQualification(InformationOnTheFunctionOfTheQualificationType value) {
+ this.informationOnTheFunctionOfTheQualification = value;
+ }
- /**
- * Gets the value of the additionalInformation property.
- *
- * @return
- * possible object is
- * {@link AdditionalInformationType }
- *
- */
- public AdditionalInformationType getAdditionalInformation() {
- return additionalInformation;
- }
+ /**
+ * Gets the value of the additionalInformation property.
+ *
+ * @return possible object is {@link AdditionalInformationType }
+ *
+ */
+ public AdditionalInformationType getAdditionalInformation() {
+ return additionalInformation;
+ }
- /**
- * Sets the value of the additionalInformation property.
- *
- * @param value
- * allowed object is
- * {@link AdditionalInformationType }
- *
- */
- public void setAdditionalInformation(AdditionalInformationType value) {
- this.additionalInformation = value;
- }
+ /**
+ * Sets the value of the additionalInformation property.
+ *
+ * @param value
+ * allowed object is {@link AdditionalInformationType }
+ *
+ */
+ public void setAdditionalInformation(AdditionalInformationType value) {
+ this.additionalInformation = value;
+ }
- /**
- * Gets the value of the certificationOfTheSupplement property.
- *
- * @return
- * possible object is
- * {@link CertificationOfTheSupplementType }
- *
- */
- public CertificationOfTheSupplementType getCertificationOfTheSupplement() {
- return certificationOfTheSupplement;
- }
+ /**
+ * Gets the value of the certificationOfTheSupplement property.
+ *
+ * @return possible object is {@link CertificationOfTheSupplementType }
+ *
+ */
+ public CertificationOfTheSupplementType getCertificationOfTheSupplement() {
+ return certificationOfTheSupplement;
+ }
- /**
- * Sets the value of the certificationOfTheSupplement property.
- *
- * @param value
- * allowed object is
- * {@link CertificationOfTheSupplementType }
- *
- */
- public void setCertificationOfTheSupplement(CertificationOfTheSupplementType value) {
- this.certificationOfTheSupplement = value;
- }
+ /**
+ * Sets the value of the certificationOfTheSupplement property.
+ *
+ * @param value
+ * allowed object is {@link CertificationOfTheSupplementType }
+ *
+ */
+ public void setCertificationOfTheSupplement(CertificationOfTheSupplementType value) {
+ this.certificationOfTheSupplement = value;
+ }
- /**
- * Gets the value of the informationOnTheNationalHigherEducationSystem property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getInformationOnTheNationalHigherEducationSystem() {
- return informationOnTheNationalHigherEducationSystem;
- }
+ /**
+ * Gets the value of the informationOnTheNationalHigherEducationSystem property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getInformationOnTheNationalHigherEducationSystem() {
+ return informationOnTheNationalHigherEducationSystem;
+ }
- /**
- * Sets the value of the informationOnTheNationalHigherEducationSystem property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setInformationOnTheNationalHigherEducationSystem(RichTextTagType value) {
- this.informationOnTheNationalHigherEducationSystem = value;
- }
+ /**
+ * Sets the value of the informationOnTheNationalHigherEducationSystem property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setInformationOnTheNationalHigherEducationSystem(RichTextTagType value) {
+ this.informationOnTheNationalHigherEducationSystem = value;
+ }
- /**
- * Gets the value of the attachments property.
- *
- * @return
- * possible object is
- * {@link AttachmentsType }
- *
- */
- public AttachmentsType getAttachments() {
- return attachments;
- }
+ /**
+ * Gets the value of the attachments property.
+ *
+ * @return possible object is {@link AttachmentsType }
+ *
+ */
+ public AttachmentsType getAttachments() {
+ return attachments;
+ }
- /**
- * Sets the value of the attachments property.
- *
- * @param value
- * allowed object is
- * {@link AttachmentsType }
- *
- */
- public void setAttachments(AttachmentsType value) {
- this.attachments = value;
- }
+ /**
+ * Sets the value of the attachments property.
+ *
+ * @param value
+ * allowed object is {@link AttachmentsType }
+ *
+ */
+ public void setAttachments(AttachmentsType value) {
+ this.attachments = value;
+ }
- /**
- * Gets the value of the extensionContent property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the extensionContent property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getExtensionContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link ExtensionContentType }
- *
- *
- */
- public List<ExtensionContentType> getExtensionContent() {
- if (extensionContent == null) {
- extensionContent = new ArrayList<ExtensionContentType>();
- }
- return this.extensionContent;
- }
+ /**
+ * Gets the value of the extensionContent property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the extensionContent property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getExtensionContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link ExtensionContentType }
+ *
+ *
+ */
+ public List<ExtensionContentType> getExtensionContent() {
+ if (extensionContent == null) {
+ extensionContent = new ArrayList<ExtensionContentType>();
+ }
+ return this.extensionContent;
+ }
- /**
- * Gets the value of the signature property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the signature property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getSignature().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link SignatureType }
- *
- *
- */
- public List<SignatureType> getSignature() {
- if (signature == null) {
- signature = new ArrayList<SignatureType>();
- }
- return this.signature;
- }
+ /**
+ * Gets the value of the signature property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the signature property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getSignature().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link SignatureType }
+ *
+ *
+ */
+ public List<SignatureType> getSignature() {
+ if (signature == null) {
+ signature = new ArrayList<SignatureType>();
+ }
+ return this.signature;
+ }
- /**
- * Gets the value of the language property.
- *
- * @return
- * possible object is
- * {@link LanguageType }
- *
- */
- public LanguageType getLanguage() {
- return language;
- }
+ /**
+ * Gets the value of the language property.
+ *
+ * @return possible object is {@link LanguageType }
+ *
+ */
+ public LanguageType getLanguage() {
+ return language;
+ }
- /**
- * Sets the value of the language property.
- *
- * @param value
- * allowed object is
- * {@link LanguageType }
- *
- */
- public void setLanguage(LanguageType value) {
- this.language = value;
- }
+ /**
+ * Sets the value of the language property.
+ *
+ * @param value
+ * allowed object is {@link LanguageType }
+ *
+ */
+ public void setLanguage(LanguageType value) {
+ this.language = value;
+ }
- /**
- * Gets the value of the isTheOriginalLanguage property.
- *
- */
- public boolean isIsTheOriginalLanguage() {
- return isTheOriginalLanguage;
- }
+ /**
+ * Gets the value of the isTheOriginalLanguage property.
+ *
+ */
+ public boolean isIsTheOriginalLanguage() {
+ return isTheOriginalLanguage;
+ }
- /**
- * Sets the value of the isTheOriginalLanguage property.
- *
- */
- public void setIsTheOriginalLanguage(boolean value) {
- this.isTheOriginalLanguage = value;
- }
+ /**
+ * Sets the value of the isTheOriginalLanguage property.
+ *
+ */
+ public void setIsTheOriginalLanguage(boolean value) {
+ this.isTheOriginalLanguage = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GivenNameType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GivenNameType.java
index cc9b70e5b..3818b52e1 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GivenNameType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GivenNameType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for GivenNameType complex type.
+ * <p>
+ * Java class for GivenNameType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="GivenNameType">
@@ -36,41 +36,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "GivenNameType", propOrder = {
- "name"
-})
+@XmlType(name = "GivenNameType", propOrder = { "name" })
public class GivenNameType {
- @XmlElement(name = "Name", required = true)
- protected List<String> name;
+ @XmlElement(name = "Name", required = true)
+ protected List<String> name;
- /**
- * Gets the value of the name property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the name property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getName().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link String }
- *
- *
- */
- public List<String> getName() {
- if (name == null) {
- name = new ArrayList<String>();
- }
- return this.name;
- }
+ /**
+ * Gets the value of the name property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the name property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getName().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String }
+ *
+ *
+ */
+ public List<String> getName() {
+ if (name == null) {
+ name = new ArrayList<String>();
+ }
+ return this.name;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GradingSchemeAndGradeDistributionGuidanceType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GradingSchemeAndGradeDistributionGuidanceType.java
index 9bb0de01d..471ff3a5f 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GradingSchemeAndGradeDistributionGuidanceType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/GradingSchemeAndGradeDistributionGuidanceType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for GradingSchemeAndGradeDistributionGuidanceType complex type.
+ * <p>
+ * Java class for GradingSchemeAndGradeDistributionGuidanceType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="GradingSchemeAndGradeDistributionGuidanceType">
@@ -35,63 +35,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "GradingSchemeAndGradeDistributionGuidanceType", propOrder = {
- "gradingScheme",
- "gradeDistributionGuidance"
-})
+@XmlType(name = "GradingSchemeAndGradeDistributionGuidanceType", propOrder = { "gradingScheme", "gradeDistributionGuidance" })
public class GradingSchemeAndGradeDistributionGuidanceType {
- @XmlElement(name = "GradingScheme", required = true)
- protected RichTextTagType gradingScheme;
- @XmlElement(name = "GradeDistributionGuidance")
- protected RichTextTagType gradeDistributionGuidance;
+ @XmlElement(name = "GradingScheme", required = true)
+ protected RichTextTagType gradingScheme;
+ @XmlElement(name = "GradeDistributionGuidance")
+ protected RichTextTagType gradeDistributionGuidance;
- /**
- * Gets the value of the gradingScheme property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getGradingScheme() {
- return gradingScheme;
- }
+ /**
+ * Gets the value of the gradingScheme property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getGradingScheme() {
+ return gradingScheme;
+ }
- /**
- * Sets the value of the gradingScheme property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setGradingScheme(RichTextTagType value) {
- this.gradingScheme = value;
- }
+ /**
+ * Sets the value of the gradingScheme property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setGradingScheme(RichTextTagType value) {
+ this.gradingScheme = value;
+ }
- /**
- * Gets the value of the gradeDistributionGuidance property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getGradeDistributionGuidance() {
- return gradeDistributionGuidance;
- }
+ /**
+ * Gets the value of the gradeDistributionGuidance property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getGradeDistributionGuidance() {
+ return gradeDistributionGuidance;
+ }
- /**
- * Sets the value of the gradeDistributionGuidance property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setGradeDistributionGuidance(RichTextTagType value) {
- this.gradeDistributionGuidance = value;
- }
+ /**
+ * Sets the value of the gradeDistributionGuidance property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setGradeDistributionGuidance(RichTextTagType value) {
+ this.gradeDistributionGuidance = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ImageMimeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ImageMimeType.java
index 8429a3229..22d889b67 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ImageMimeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ImageMimeType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for ImageMimeType.
+ * <p>
+ * Java class for ImageMimeType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="ImageMimeType">
* &lt;restriction base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}MimeType">
@@ -35,33 +36,29 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum(MimeType.class)
public enum ImageMimeType {
- @XmlEnumValue("image/gif")
- IMAGE_GIF(MimeType.IMAGE_GIF),
- @XmlEnumValue("image/jpeg")
- IMAGE_JPEG(MimeType.IMAGE_JPEG),
- @XmlEnumValue("image/pjpeg")
- IMAGE_PJPEG(MimeType.IMAGE_PJPEG),
- @XmlEnumValue("image/png")
- IMAGE_PNG(MimeType.IMAGE_PNG),
- @XmlEnumValue("image/tiff")
- IMAGE_TIFF(MimeType.IMAGE_TIFF);
- private final MimeType value;
+ @XmlEnumValue("image/gif")
+ IMAGE_GIF(MimeType.IMAGE_GIF), @XmlEnumValue("image/jpeg")
+ IMAGE_JPEG(MimeType.IMAGE_JPEG), @XmlEnumValue("image/pjpeg")
+ IMAGE_PJPEG(MimeType.IMAGE_PJPEG), @XmlEnumValue("image/png")
+ IMAGE_PNG(MimeType.IMAGE_PNG), @XmlEnumValue("image/tiff")
+ IMAGE_TIFF(MimeType.IMAGE_TIFF);
+ private final MimeType value;
- ImageMimeType(MimeType v) {
- value = v;
- }
+ ImageMimeType(MimeType v) {
+ value = v;
+ }
- public MimeType value() {
- return value;
- }
+ public MimeType value() {
+ return value;
+ }
- public static ImageMimeType fromValue(MimeType v) {
- for (ImageMimeType c: ImageMimeType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v.toString());
- }
+ public static ImageMimeType fromValue(MimeType v) {
+ for (ImageMimeType c : ImageMimeType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v.toString());
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationIdentifyingTheHolderOfTheQualificationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationIdentifyingTheHolderOfTheQualificationType.java
index c9da2e078..3443104e3 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationIdentifyingTheHolderOfTheQualificationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationIdentifyingTheHolderOfTheQualificationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -16,11 +15,12 @@ import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
import javax.xml.datatype.XMLGregorianCalendar;
-
/**
- * <p>Java class for InformationIdentifyingTheHolderOfTheQualificationType complex type.
+ * <p>
+ * Java class for InformationIdentifyingTheHolderOfTheQualificationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="InformationIdentifyingTheHolderOfTheQualificationType">
@@ -51,277 +51,242 @@ import javax.xml.datatype.XMLGregorianCalendar;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "InformationIdentifyingTheHolderOfTheQualificationType", propOrder = {
- "familyName",
- "givenName",
- "dateOfBirth",
- "studentIdentificationNumber",
- "countryOfBirth",
- "placeOfBirth",
- "gender"
-})
+@XmlType(name = "InformationIdentifyingTheHolderOfTheQualificationType", propOrder = { "familyName", "givenName", "dateOfBirth", "studentIdentificationNumber", "countryOfBirth", "placeOfBirth",
+ "gender" })
public class InformationIdentifyingTheHolderOfTheQualificationType {
- @XmlElement(name = "FamilyName", required = true)
- protected FamilyNameType familyName;
- @XmlElement(name = "GivenName", required = true)
- protected GivenNameType givenName;
- @XmlElement(name = "DateOfBirth")
- protected XMLGregorianCalendar dateOfBirth;
- @XmlElement(name = "StudentIdentificationNumber")
- protected String studentIdentificationNumber;
- @XmlElement(name = "CountryOfBirth")
- protected CountryTextCodeType countryOfBirth;
- @XmlElement(name = "PlaceOfBirth")
- protected String placeOfBirth;
- @XmlElement(name = "Gender")
- protected InformationIdentifyingTheHolderOfTheQualificationType.Gender gender;
-
- /**
- * Gets the value of the familyName property.
- *
- * @return
- * possible object is
- * {@link FamilyNameType }
- *
- */
- public FamilyNameType getFamilyName() {
- return familyName;
- }
+ @XmlElement(name = "FamilyName", required = true)
+ protected FamilyNameType familyName;
+ @XmlElement(name = "GivenName", required = true)
+ protected GivenNameType givenName;
+ @XmlElement(name = "DateOfBirth")
+ protected XMLGregorianCalendar dateOfBirth;
+ @XmlElement(name = "StudentIdentificationNumber")
+ protected String studentIdentificationNumber;
+ @XmlElement(name = "CountryOfBirth")
+ protected CountryTextCodeType countryOfBirth;
+ @XmlElement(name = "PlaceOfBirth")
+ protected String placeOfBirth;
+ @XmlElement(name = "Gender")
+ protected InformationIdentifyingTheHolderOfTheQualificationType.Gender gender;
- /**
- * Sets the value of the familyName property.
- *
- * @param value
- * allowed object is
- * {@link FamilyNameType }
- *
- */
- public void setFamilyName(FamilyNameType value) {
- this.familyName = value;
- }
+ /**
+ * Gets the value of the familyName property.
+ *
+ * @return possible object is {@link FamilyNameType }
+ *
+ */
+ public FamilyNameType getFamilyName() {
+ return familyName;
+ }
- /**
- * Gets the value of the givenName property.
- *
- * @return
- * possible object is
- * {@link GivenNameType }
- *
- */
- public GivenNameType getGivenName() {
- return givenName;
- }
+ /**
+ * Sets the value of the familyName property.
+ *
+ * @param value
+ * allowed object is {@link FamilyNameType }
+ *
+ */
+ public void setFamilyName(FamilyNameType value) {
+ this.familyName = value;
+ }
- /**
- * Sets the value of the givenName property.
- *
- * @param value
- * allowed object is
- * {@link GivenNameType }
- *
- */
- public void setGivenName(GivenNameType value) {
- this.givenName = value;
- }
+ /**
+ * Gets the value of the givenName property.
+ *
+ * @return possible object is {@link GivenNameType }
+ *
+ */
+ public GivenNameType getGivenName() {
+ return givenName;
+ }
- /**
- * Gets the value of the dateOfBirth property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getDateOfBirth() {
- return dateOfBirth;
- }
+ /**
+ * Sets the value of the givenName property.
+ *
+ * @param value
+ * allowed object is {@link GivenNameType }
+ *
+ */
+ public void setGivenName(GivenNameType value) {
+ this.givenName = value;
+ }
- /**
- * Sets the value of the dateOfBirth property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setDateOfBirth(XMLGregorianCalendar value) {
- this.dateOfBirth = value;
- }
+ /**
+ * Gets the value of the dateOfBirth property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateOfBirth() {
+ return dateOfBirth;
+ }
- /**
- * Gets the value of the studentIdentificationNumber property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStudentIdentificationNumber() {
- return studentIdentificationNumber;
- }
+ /**
+ * Sets the value of the dateOfBirth property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateOfBirth(XMLGregorianCalendar value) {
+ this.dateOfBirth = value;
+ }
- /**
- * Sets the value of the studentIdentificationNumber property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStudentIdentificationNumber(String value) {
- this.studentIdentificationNumber = value;
- }
+ /**
+ * Gets the value of the studentIdentificationNumber property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getStudentIdentificationNumber() {
+ return studentIdentificationNumber;
+ }
- /**
- * Gets the value of the countryOfBirth property.
- *
- * @return
- * possible object is
- * {@link CountryTextCodeType }
- *
- */
- public CountryTextCodeType getCountryOfBirth() {
- return countryOfBirth;
- }
+ /**
+ * Sets the value of the studentIdentificationNumber property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setStudentIdentificationNumber(String value) {
+ this.studentIdentificationNumber = value;
+ }
- /**
- * Sets the value of the countryOfBirth property.
- *
- * @param value
- * allowed object is
- * {@link CountryTextCodeType }
- *
- */
- public void setCountryOfBirth(CountryTextCodeType value) {
- this.countryOfBirth = value;
- }
+ /**
+ * Gets the value of the countryOfBirth property.
+ *
+ * @return possible object is {@link CountryTextCodeType }
+ *
+ */
+ public CountryTextCodeType getCountryOfBirth() {
+ return countryOfBirth;
+ }
- /**
- * Gets the value of the placeOfBirth property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getPlaceOfBirth() {
- return placeOfBirth;
- }
+ /**
+ * Sets the value of the countryOfBirth property.
+ *
+ * @param value
+ * allowed object is {@link CountryTextCodeType }
+ *
+ */
+ public void setCountryOfBirth(CountryTextCodeType value) {
+ this.countryOfBirth = value;
+ }
- /**
- * Sets the value of the placeOfBirth property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setPlaceOfBirth(String value) {
- this.placeOfBirth = value;
- }
+ /**
+ * Gets the value of the placeOfBirth property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getPlaceOfBirth() {
+ return placeOfBirth;
+ }
- /**
- * Gets the value of the gender property.
- *
- * @return
- * possible object is
- * {@link InformationIdentifyingTheHolderOfTheQualificationType.Gender }
- *
- */
- public InformationIdentifyingTheHolderOfTheQualificationType.Gender getGender() {
- return gender;
- }
+ /**
+ * Sets the value of the placeOfBirth property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setPlaceOfBirth(String value) {
+ this.placeOfBirth = value;
+ }
- /**
- * Sets the value of the gender property.
- *
- * @param value
- * allowed object is
- * {@link InformationIdentifyingTheHolderOfTheQualificationType.Gender }
- *
- */
- public void setGender(InformationIdentifyingTheHolderOfTheQualificationType.Gender value) {
- this.gender = value;
- }
+ /**
+ * Gets the value of the gender property.
+ *
+ * @return possible object is {@link InformationIdentifyingTheHolderOfTheQualificationType.Gender }
+ *
+ */
+ public InformationIdentifyingTheHolderOfTheQualificationType.Gender getGender() {
+ return gender;
+ }
+ /**
+ * Sets the value of the gender property.
+ *
+ * @param value
+ * allowed object is {@link InformationIdentifyingTheHolderOfTheQualificationType.Gender }
+ *
+ */
+ public void setGender(InformationIdentifyingTheHolderOfTheQualificationType.Gender value) {
+ this.gender = value;
+ }
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
- * &lt;attribute name="gender" use="required" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}GenderType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class Gender {
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
+ * &lt;attribute name="gender" use="required" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}GenderType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class Gender {
- @XmlValue
- protected String value;
- @XmlAttribute(name = "gender", required = true)
- protected GenderType gender;
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "gender", required = true)
+ protected GenderType gender;
- /**
- * Gets the value of the value property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
- /**
- * Gets the value of the gender property.
- *
- * @return
- * possible object is
- * {@link GenderType }
- *
- */
- public GenderType getGender() {
- return gender;
- }
+ /**
+ * Gets the value of the gender property.
+ *
+ * @return possible object is {@link GenderType }
+ *
+ */
+ public GenderType getGender() {
+ return gender;
+ }
- /**
- * Sets the value of the gender property.
- *
- * @param value
- * allowed object is
- * {@link GenderType }
- *
- */
- public void setGender(GenderType value) {
- this.gender = value;
- }
+ /**
+ * Sets the value of the gender property.
+ *
+ * @param value
+ * allowed object is {@link GenderType }
+ *
+ */
+ public void setGender(GenderType value) {
+ this.gender = value;
+ }
- }
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationIdentifyingTheQualificationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationIdentifyingTheQualificationType.java
index 21040122c..6e257e6df 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationIdentifyingTheQualificationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationIdentifyingTheQualificationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for InformationIdentifyingTheQualificationType complex type.
+ * <p>
+ * Java class for InformationIdentifyingTheQualificationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="InformationIdentifyingTheQualificationType">
@@ -39,171 +39,147 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "InformationIdentifyingTheQualificationType", propOrder = {
- "qualification",
- "titleConferred",
- "mainFieldsOfStudy",
- "nameAndStatusOfAwardingInstitution",
- "nameAndStatusOfInstitutionAdministeringStudies",
- "languagesOfInstructionAndExamination"
-})
+@XmlType(name = "InformationIdentifyingTheQualificationType", propOrder = { "qualification", "titleConferred", "mainFieldsOfStudy", "nameAndStatusOfAwardingInstitution",
+ "nameAndStatusOfInstitutionAdministeringStudies", "languagesOfInstructionAndExamination" })
public class InformationIdentifyingTheQualificationType {
- @XmlElement(name = "Qualification", required = true)
- protected QualificationType qualification;
- @XmlElement(name = "TitleConferred")
- protected TitleConferredType titleConferred;
- @XmlElement(name = "MainFieldsOfStudy")
- protected RichTextTagType mainFieldsOfStudy;
- @XmlElement(name = "NameAndStatusOfAwardingInstitution", required = true)
- protected NameAndStatusOfAwardingInstitutionType nameAndStatusOfAwardingInstitution;
- @XmlElement(name = "NameAndStatusOfInstitutionAdministeringStudies", required = true)
- protected NameAndStatusOfInstitutionAdministeringStudiesType nameAndStatusOfInstitutionAdministeringStudies;
- @XmlElement(name = "LanguagesOfInstructionAndExamination")
- protected LanguagesOfInstructionAndExaminationType languagesOfInstructionAndExamination;
-
- /**
- * Gets the value of the qualification property.
- *
- * @return
- * possible object is
- * {@link QualificationType }
- *
- */
- public QualificationType getQualification() {
- return qualification;
- }
-
- /**
- * Sets the value of the qualification property.
- *
- * @param value
- * allowed object is
- * {@link QualificationType }
- *
- */
- public void setQualification(QualificationType value) {
- this.qualification = value;
- }
-
- /**
- * Gets the value of the titleConferred property.
- *
- * @return
- * possible object is
- * {@link TitleConferredType }
- *
- */
- public TitleConferredType getTitleConferred() {
- return titleConferred;
- }
-
- /**
- * Sets the value of the titleConferred property.
- *
- * @param value
- * allowed object is
- * {@link TitleConferredType }
- *
- */
- public void setTitleConferred(TitleConferredType value) {
- this.titleConferred = value;
- }
-
- /**
- * Gets the value of the mainFieldsOfStudy property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getMainFieldsOfStudy() {
- return mainFieldsOfStudy;
- }
-
- /**
- * Sets the value of the mainFieldsOfStudy property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setMainFieldsOfStudy(RichTextTagType value) {
- this.mainFieldsOfStudy = value;
- }
-
- /**
- * Gets the value of the nameAndStatusOfAwardingInstitution property.
- *
- * @return
- * possible object is
- * {@link NameAndStatusOfAwardingInstitutionType }
- *
- */
- public NameAndStatusOfAwardingInstitutionType getNameAndStatusOfAwardingInstitution() {
- return nameAndStatusOfAwardingInstitution;
- }
-
- /**
- * Sets the value of the nameAndStatusOfAwardingInstitution property.
- *
- * @param value
- * allowed object is
- * {@link NameAndStatusOfAwardingInstitutionType }
- *
- */
- public void setNameAndStatusOfAwardingInstitution(NameAndStatusOfAwardingInstitutionType value) {
- this.nameAndStatusOfAwardingInstitution = value;
- }
-
- /**
- * Gets the value of the nameAndStatusOfInstitutionAdministeringStudies property.
- *
- * @return
- * possible object is
- * {@link NameAndStatusOfInstitutionAdministeringStudiesType }
- *
- */
- public NameAndStatusOfInstitutionAdministeringStudiesType getNameAndStatusOfInstitutionAdministeringStudies() {
- return nameAndStatusOfInstitutionAdministeringStudies;
- }
-
- /**
- * Sets the value of the nameAndStatusOfInstitutionAdministeringStudies property.
- *
- * @param value
- * allowed object is
- * {@link NameAndStatusOfInstitutionAdministeringStudiesType }
- *
- */
- public void setNameAndStatusOfInstitutionAdministeringStudies(NameAndStatusOfInstitutionAdministeringStudiesType value) {
- this.nameAndStatusOfInstitutionAdministeringStudies = value;
- }
-
- /**
- * Gets the value of the languagesOfInstructionAndExamination property.
- *
- * @return
- * possible object is
- * {@link LanguagesOfInstructionAndExaminationType }
- *
- */
- public LanguagesOfInstructionAndExaminationType getLanguagesOfInstructionAndExamination() {
- return languagesOfInstructionAndExamination;
- }
-
- /**
- * Sets the value of the languagesOfInstructionAndExamination property.
- *
- * @param value
- * allowed object is
- * {@link LanguagesOfInstructionAndExaminationType }
- *
- */
- public void setLanguagesOfInstructionAndExamination(LanguagesOfInstructionAndExaminationType value) {
- this.languagesOfInstructionAndExamination = value;
- }
+ @XmlElement(name = "Qualification", required = true)
+ protected QualificationType qualification;
+ @XmlElement(name = "TitleConferred")
+ protected TitleConferredType titleConferred;
+ @XmlElement(name = "MainFieldsOfStudy")
+ protected RichTextTagType mainFieldsOfStudy;
+ @XmlElement(name = "NameAndStatusOfAwardingInstitution", required = true)
+ protected NameAndStatusOfAwardingInstitutionType nameAndStatusOfAwardingInstitution;
+ @XmlElement(name = "NameAndStatusOfInstitutionAdministeringStudies", required = true)
+ protected NameAndStatusOfInstitutionAdministeringStudiesType nameAndStatusOfInstitutionAdministeringStudies;
+ @XmlElement(name = "LanguagesOfInstructionAndExamination")
+ protected LanguagesOfInstructionAndExaminationType languagesOfInstructionAndExamination;
+
+ /**
+ * Gets the value of the qualification property.
+ *
+ * @return possible object is {@link QualificationType }
+ *
+ */
+ public QualificationType getQualification() {
+ return qualification;
+ }
+
+ /**
+ * Sets the value of the qualification property.
+ *
+ * @param value
+ * allowed object is {@link QualificationType }
+ *
+ */
+ public void setQualification(QualificationType value) {
+ this.qualification = value;
+ }
+
+ /**
+ * Gets the value of the titleConferred property.
+ *
+ * @return possible object is {@link TitleConferredType }
+ *
+ */
+ public TitleConferredType getTitleConferred() {
+ return titleConferred;
+ }
+
+ /**
+ * Sets the value of the titleConferred property.
+ *
+ * @param value
+ * allowed object is {@link TitleConferredType }
+ *
+ */
+ public void setTitleConferred(TitleConferredType value) {
+ this.titleConferred = value;
+ }
+
+ /**
+ * Gets the value of the mainFieldsOfStudy property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getMainFieldsOfStudy() {
+ return mainFieldsOfStudy;
+ }
+
+ /**
+ * Sets the value of the mainFieldsOfStudy property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setMainFieldsOfStudy(RichTextTagType value) {
+ this.mainFieldsOfStudy = value;
+ }
+
+ /**
+ * Gets the value of the nameAndStatusOfAwardingInstitution property.
+ *
+ * @return possible object is {@link NameAndStatusOfAwardingInstitutionType }
+ *
+ */
+ public NameAndStatusOfAwardingInstitutionType getNameAndStatusOfAwardingInstitution() {
+ return nameAndStatusOfAwardingInstitution;
+ }
+
+ /**
+ * Sets the value of the nameAndStatusOfAwardingInstitution property.
+ *
+ * @param value
+ * allowed object is {@link NameAndStatusOfAwardingInstitutionType }
+ *
+ */
+ public void setNameAndStatusOfAwardingInstitution(NameAndStatusOfAwardingInstitutionType value) {
+ this.nameAndStatusOfAwardingInstitution = value;
+ }
+
+ /**
+ * Gets the value of the nameAndStatusOfInstitutionAdministeringStudies property.
+ *
+ * @return possible object is {@link NameAndStatusOfInstitutionAdministeringStudiesType }
+ *
+ */
+ public NameAndStatusOfInstitutionAdministeringStudiesType getNameAndStatusOfInstitutionAdministeringStudies() {
+ return nameAndStatusOfInstitutionAdministeringStudies;
+ }
+
+ /**
+ * Sets the value of the nameAndStatusOfInstitutionAdministeringStudies property.
+ *
+ * @param value
+ * allowed object is {@link NameAndStatusOfInstitutionAdministeringStudiesType }
+ *
+ */
+ public void setNameAndStatusOfInstitutionAdministeringStudies(NameAndStatusOfInstitutionAdministeringStudiesType value) {
+ this.nameAndStatusOfInstitutionAdministeringStudies = value;
+ }
+
+ /**
+ * Gets the value of the languagesOfInstructionAndExamination property.
+ *
+ * @return possible object is {@link LanguagesOfInstructionAndExaminationType }
+ *
+ */
+ public LanguagesOfInstructionAndExaminationType getLanguagesOfInstructionAndExamination() {
+ return languagesOfInstructionAndExamination;
+ }
+
+ /**
+ * Sets the value of the languagesOfInstructionAndExamination property.
+ *
+ * @param value
+ * allowed object is {@link LanguagesOfInstructionAndExaminationType }
+ *
+ */
+ public void setLanguagesOfInstructionAndExamination(LanguagesOfInstructionAndExaminationType value) {
+ this.languagesOfInstructionAndExamination = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheContentsAndResultsGainedType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheContentsAndResultsGainedType.java
index 9255189f9..be1d1c670 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheContentsAndResultsGainedType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheContentsAndResultsGainedType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,11 +13,12 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for InformationOnTheContentsAndResultsGainedType complex type.
+ * <p>
+ * Java class for InformationOnTheContentsAndResultsGainedType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="InformationOnTheContentsAndResultsGainedType">
@@ -47,197 +47,173 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "InformationOnTheContentsAndResultsGainedType", propOrder = {
- "modeOfStudy",
- "programmeRequirements",
- "programmeDetails",
- "gradingSchemeAndGradeDistributionGuidance",
- "overallClassificationOfTheQualification"
-})
+@XmlType(name = "InformationOnTheContentsAndResultsGainedType", propOrder = { "modeOfStudy", "programmeRequirements", "programmeDetails", "gradingSchemeAndGradeDistributionGuidance",
+ "overallClassificationOfTheQualification" })
public class InformationOnTheContentsAndResultsGainedType {
- @XmlElement(name = "ModeOfStudy")
- protected InformationOnTheContentsAndResultsGainedType.ModeOfStudy modeOfStudy;
- @XmlElement(name = "ProgrammeRequirements")
- protected ProgrammeRequirementsType programmeRequirements;
- @XmlElement(name = "ProgrammeDetails")
- protected ProgrammeDetailsType programmeDetails;
- @XmlElement(name = "GradingSchemeAndGradeDistributionGuidance")
- protected GradingSchemeAndGradeDistributionGuidanceType gradingSchemeAndGradeDistributionGuidance;
- @XmlElement(name = "OverallClassificationOfTheQualification")
- protected RichTextTagType overallClassificationOfTheQualification;
-
- /**
- * Gets the value of the modeOfStudy property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheContentsAndResultsGainedType.ModeOfStudy }
- *
- */
- public InformationOnTheContentsAndResultsGainedType.ModeOfStudy getModeOfStudy() {
- return modeOfStudy;
- }
-
- /**
- * Sets the value of the modeOfStudy property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheContentsAndResultsGainedType.ModeOfStudy }
- *
- */
- public void setModeOfStudy(InformationOnTheContentsAndResultsGainedType.ModeOfStudy value) {
- this.modeOfStudy = value;
- }
-
- /**
- * Gets the value of the programmeRequirements property.
- *
- * @return
- * possible object is
- * {@link ProgrammeRequirementsType }
- *
- */
- public ProgrammeRequirementsType getProgrammeRequirements() {
- return programmeRequirements;
- }
-
- /**
- * Sets the value of the programmeRequirements property.
- *
- * @param value
- * allowed object is
- * {@link ProgrammeRequirementsType }
- *
- */
- public void setProgrammeRequirements(ProgrammeRequirementsType value) {
- this.programmeRequirements = value;
- }
-
- /**
- * Gets the value of the programmeDetails property.
- *
- * @return
- * possible object is
- * {@link ProgrammeDetailsType }
- *
- */
- public ProgrammeDetailsType getProgrammeDetails() {
- return programmeDetails;
- }
-
- /**
- * Sets the value of the programmeDetails property.
- *
- * @param value
- * allowed object is
- * {@link ProgrammeDetailsType }
- *
- */
- public void setProgrammeDetails(ProgrammeDetailsType value) {
- this.programmeDetails = value;
- }
-
- /**
- * Gets the value of the gradingSchemeAndGradeDistributionGuidance property.
- *
- * @return
- * possible object is
- * {@link GradingSchemeAndGradeDistributionGuidanceType }
- *
- */
- public GradingSchemeAndGradeDistributionGuidanceType getGradingSchemeAndGradeDistributionGuidance() {
- return gradingSchemeAndGradeDistributionGuidance;
- }
-
- /**
- * Sets the value of the gradingSchemeAndGradeDistributionGuidance property.
- *
- * @param value
- * allowed object is
- * {@link GradingSchemeAndGradeDistributionGuidanceType }
- *
- */
- public void setGradingSchemeAndGradeDistributionGuidance(GradingSchemeAndGradeDistributionGuidanceType value) {
- this.gradingSchemeAndGradeDistributionGuidance = value;
- }
-
- /**
- * Gets the value of the overallClassificationOfTheQualification property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getOverallClassificationOfTheQualification() {
- return overallClassificationOfTheQualification;
- }
-
- /**
- * Sets the value of the overallClassificationOfTheQualification property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setOverallClassificationOfTheQualification(RichTextTagType value) {
- this.overallClassificationOfTheQualification = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}RichTextTagType">
- * &lt;attribute name="modeOfStudy" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}ModeOfStudyType" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class ModeOfStudy
- extends RichTextTagType
- {
-
- @XmlAttribute(name = "modeOfStudy")
- protected ModeOfStudyType modeOfStudy;
-
- /**
- * Gets the value of the modeOfStudy property.
- *
- * @return
- * possible object is
- * {@link ModeOfStudyType }
- *
- */
- public ModeOfStudyType getModeOfStudy() {
- return modeOfStudy;
- }
-
- /**
- * Sets the value of the modeOfStudy property.
- *
- * @param value
- * allowed object is
- * {@link ModeOfStudyType }
- *
- */
- public void setModeOfStudy(ModeOfStudyType value) {
- this.modeOfStudy = value;
- }
-
- }
+ @XmlElement(name = "ModeOfStudy")
+ protected InformationOnTheContentsAndResultsGainedType.ModeOfStudy modeOfStudy;
+ @XmlElement(name = "ProgrammeRequirements")
+ protected ProgrammeRequirementsType programmeRequirements;
+ @XmlElement(name = "ProgrammeDetails")
+ protected ProgrammeDetailsType programmeDetails;
+ @XmlElement(name = "GradingSchemeAndGradeDistributionGuidance")
+ protected GradingSchemeAndGradeDistributionGuidanceType gradingSchemeAndGradeDistributionGuidance;
+ @XmlElement(name = "OverallClassificationOfTheQualification")
+ protected RichTextTagType overallClassificationOfTheQualification;
+
+ /**
+ * Gets the value of the modeOfStudy property.
+ *
+ * @return possible object is {@link InformationOnTheContentsAndResultsGainedType.ModeOfStudy }
+ *
+ */
+ public InformationOnTheContentsAndResultsGainedType.ModeOfStudy getModeOfStudy() {
+ return modeOfStudy;
+ }
+
+ /**
+ * Sets the value of the modeOfStudy property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheContentsAndResultsGainedType.ModeOfStudy }
+ *
+ */
+ public void setModeOfStudy(InformationOnTheContentsAndResultsGainedType.ModeOfStudy value) {
+ this.modeOfStudy = value;
+ }
+
+ /**
+ * Gets the value of the programmeRequirements property.
+ *
+ * @return possible object is {@link ProgrammeRequirementsType }
+ *
+ */
+ public ProgrammeRequirementsType getProgrammeRequirements() {
+ return programmeRequirements;
+ }
+
+ /**
+ * Sets the value of the programmeRequirements property.
+ *
+ * @param value
+ * allowed object is {@link ProgrammeRequirementsType }
+ *
+ */
+ public void setProgrammeRequirements(ProgrammeRequirementsType value) {
+ this.programmeRequirements = value;
+ }
+
+ /**
+ * Gets the value of the programmeDetails property.
+ *
+ * @return possible object is {@link ProgrammeDetailsType }
+ *
+ */
+ public ProgrammeDetailsType getProgrammeDetails() {
+ return programmeDetails;
+ }
+
+ /**
+ * Sets the value of the programmeDetails property.
+ *
+ * @param value
+ * allowed object is {@link ProgrammeDetailsType }
+ *
+ */
+ public void setProgrammeDetails(ProgrammeDetailsType value) {
+ this.programmeDetails = value;
+ }
+
+ /**
+ * Gets the value of the gradingSchemeAndGradeDistributionGuidance property.
+ *
+ * @return possible object is {@link GradingSchemeAndGradeDistributionGuidanceType }
+ *
+ */
+ public GradingSchemeAndGradeDistributionGuidanceType getGradingSchemeAndGradeDistributionGuidance() {
+ return gradingSchemeAndGradeDistributionGuidance;
+ }
+
+ /**
+ * Sets the value of the gradingSchemeAndGradeDistributionGuidance property.
+ *
+ * @param value
+ * allowed object is {@link GradingSchemeAndGradeDistributionGuidanceType }
+ *
+ */
+ public void setGradingSchemeAndGradeDistributionGuidance(GradingSchemeAndGradeDistributionGuidanceType value) {
+ this.gradingSchemeAndGradeDistributionGuidance = value;
+ }
+
+ /**
+ * Gets the value of the overallClassificationOfTheQualification property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getOverallClassificationOfTheQualification() {
+ return overallClassificationOfTheQualification;
+ }
+
+ /**
+ * Sets the value of the overallClassificationOfTheQualification property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setOverallClassificationOfTheQualification(RichTextTagType value) {
+ this.overallClassificationOfTheQualification = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}RichTextTagType">
+ * &lt;attribute name="modeOfStudy" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}ModeOfStudyType" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class ModeOfStudy extends RichTextTagType {
+
+ @XmlAttribute(name = "modeOfStudy")
+ protected ModeOfStudyType modeOfStudy;
+
+ /**
+ * Gets the value of the modeOfStudy property.
+ *
+ * @return possible object is {@link ModeOfStudyType }
+ *
+ */
+ public ModeOfStudyType getModeOfStudy() {
+ return modeOfStudy;
+ }
+
+ /**
+ * Sets the value of the modeOfStudy property.
+ *
+ * @param value
+ * allowed object is {@link ModeOfStudyType }
+ *
+ */
+ public void setModeOfStudy(ModeOfStudyType value) {
+ this.modeOfStudy = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheFunctionOfTheQualificationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheFunctionOfTheQualificationType.java
index 903eb2a35..87bb10c71 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheFunctionOfTheQualificationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheFunctionOfTheQualificationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,11 +13,12 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for InformationOnTheFunctionOfTheQualificationType complex type.
+ * <p>
+ * Java class for InformationOnTheFunctionOfTheQualificationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="InformationOnTheFunctionOfTheQualificationType">
@@ -44,116 +44,103 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "InformationOnTheFunctionOfTheQualificationType", propOrder = {
- "accessToFurtherStudy",
- "professionalStatus"
-})
+@XmlType(name = "InformationOnTheFunctionOfTheQualificationType", propOrder = { "accessToFurtherStudy", "professionalStatus" })
public class InformationOnTheFunctionOfTheQualificationType {
- @XmlElement(name = "AccessToFurtherStudy")
- protected RichTextTagType accessToFurtherStudy;
- @XmlElement(name = "ProfessionalStatus")
- protected InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus professionalStatus;
-
- /**
- * Gets the value of the accessToFurtherStudy property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getAccessToFurtherStudy() {
- return accessToFurtherStudy;
- }
-
- /**
- * Sets the value of the accessToFurtherStudy property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setAccessToFurtherStudy(RichTextTagType value) {
- this.accessToFurtherStudy = value;
- }
-
- /**
- * Gets the value of the professionalStatus property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus }
- *
- */
- public InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus getProfessionalStatus() {
- return professionalStatus;
- }
-
- /**
- * Sets the value of the professionalStatus property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus }
- *
- */
- public void setProfessionalStatus(InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus value) {
- this.professionalStatus = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}RichTextTagType">
- * &lt;attribute name="isRegulatedProfession" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class ProfessionalStatus
- extends RichTextTagType
- {
-
- @XmlAttribute(name = "isRegulatedProfession")
- protected Boolean isRegulatedProfession;
-
- /**
- * Gets the value of the isRegulatedProfession property.
- *
- * @return
- * possible object is
- * {@link Boolean }
- *
- */
- public Boolean isIsRegulatedProfession() {
- return isRegulatedProfession;
- }
-
- /**
- * Sets the value of the isRegulatedProfession property.
- *
- * @param value
- * allowed object is
- * {@link Boolean }
- *
- */
- public void setIsRegulatedProfession(Boolean value) {
- this.isRegulatedProfession = value;
- }
-
- }
+ @XmlElement(name = "AccessToFurtherStudy")
+ protected RichTextTagType accessToFurtherStudy;
+ @XmlElement(name = "ProfessionalStatus")
+ protected InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus professionalStatus;
+
+ /**
+ * Gets the value of the accessToFurtherStudy property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getAccessToFurtherStudy() {
+ return accessToFurtherStudy;
+ }
+
+ /**
+ * Sets the value of the accessToFurtherStudy property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setAccessToFurtherStudy(RichTextTagType value) {
+ this.accessToFurtherStudy = value;
+ }
+
+ /**
+ * Gets the value of the professionalStatus property.
+ *
+ * @return possible object is {@link InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus }
+ *
+ */
+ public InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus getProfessionalStatus() {
+ return professionalStatus;
+ }
+
+ /**
+ * Sets the value of the professionalStatus property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus }
+ *
+ */
+ public void setProfessionalStatus(InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus value) {
+ this.professionalStatus = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}RichTextTagType">
+ * &lt;attribute name="isRegulatedProfession" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class ProfessionalStatus extends RichTextTagType {
+
+ @XmlAttribute(name = "isRegulatedProfession")
+ protected Boolean isRegulatedProfession;
+
+ /**
+ * Gets the value of the isRegulatedProfession property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isIsRegulatedProfession() {
+ return isRegulatedProfession;
+ }
+
+ /**
+ * Sets the value of the isRegulatedProfession property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setIsRegulatedProfession(Boolean value) {
+ this.isRegulatedProfession = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheLevelOfTheQualificationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheLevelOfTheQualificationType.java
index 2119f23bb..c759fdf52 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheLevelOfTheQualificationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InformationOnTheLevelOfTheQualificationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.math.BigDecimal;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for InformationOnTheLevelOfTheQualificationType complex type.
+ * <p>
+ * Java class for InformationOnTheLevelOfTheQualificationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="InformationOnTheLevelOfTheQualificationType">
@@ -59,331 +59,295 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "InformationOnTheLevelOfTheQualificationType", propOrder = {
- "level",
- "officialLengthOfProgramme",
- "accessRequirements"
-})
+@XmlType(name = "InformationOnTheLevelOfTheQualificationType", propOrder = { "level", "officialLengthOfProgramme", "accessRequirements" })
public class InformationOnTheLevelOfTheQualificationType {
- @XmlElement(name = "Level", required = true)
- protected InformationOnTheLevelOfTheQualificationType.Level level;
- @XmlElement(name = "OfficialLengthOfProgramme", required = true)
- protected InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme officialLengthOfProgramme;
- @XmlElement(name = "AccessRequirements")
- protected RichTextTagType accessRequirements;
-
- /**
- * Gets the value of the level property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheLevelOfTheQualificationType.Level }
- *
- */
- public InformationOnTheLevelOfTheQualificationType.Level getLevel() {
- return level;
- }
-
- /**
- * Sets the value of the level property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheLevelOfTheQualificationType.Level }
- *
- */
- public void setLevel(InformationOnTheLevelOfTheQualificationType.Level value) {
- this.level = value;
- }
-
- /**
- * Gets the value of the officialLengthOfProgramme property.
- *
- * @return
- * possible object is
- * {@link InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme }
- *
- */
- public InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme getOfficialLengthOfProgramme() {
- return officialLengthOfProgramme;
- }
-
- /**
- * Sets the value of the officialLengthOfProgramme property.
- *
- * @param value
- * allowed object is
- * {@link InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme }
- *
- */
- public void setOfficialLengthOfProgramme(InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme value) {
- this.officialLengthOfProgramme = value;
- }
-
- /**
- * Gets the value of the accessRequirements property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getAccessRequirements() {
- return accessRequirements;
- }
-
- /**
- * Sets the value of the accessRequirements property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setAccessRequirements(RichTextTagType value) {
- this.accessRequirements = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}RichTextTagType">
- * &lt;attribute name="isced1997" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}ISCED1997Type" />
- * &lt;attribute name="isced2011" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}ISCED2011Type" />
- * &lt;attribute name="eheaFramework" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}EHEAFrameworkType" />
- * &lt;attribute name="nfq" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}NFQType" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class Level
- extends RichTextTagType
- {
-
- @XmlAttribute(name = "isced1997")
- protected String isced1997;
- @XmlAttribute(name = "isced2011")
- protected String isced2011;
- @XmlAttribute(name = "eheaFramework")
- protected EHEAFrameworkType eheaFramework;
- @XmlAttribute(name = "nfq")
- protected String nfq;
-
- /**
- * Gets the value of the isced1997 property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getIsced1997() {
- return isced1997;
- }
-
- /**
- * Sets the value of the isced1997 property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setIsced1997(String value) {
- this.isced1997 = value;
- }
-
- /**
- * Gets the value of the isced2011 property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getIsced2011() {
- return isced2011;
- }
-
- /**
- * Sets the value of the isced2011 property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setIsced2011(String value) {
- this.isced2011 = value;
- }
-
- /**
- * Gets the value of the eheaFramework property.
- *
- * @return
- * possible object is
- * {@link EHEAFrameworkType }
- *
- */
- public EHEAFrameworkType getEheaFramework() {
- return eheaFramework;
- }
-
- /**
- * Sets the value of the eheaFramework property.
- *
- * @param value
- * allowed object is
- * {@link EHEAFrameworkType }
- *
- */
- public void setEheaFramework(EHEAFrameworkType value) {
- this.eheaFramework = value;
- }
-
- /**
- * Gets the value of the nfq property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNfq() {
- return nfq;
- }
-
- /**
- * Sets the value of the nfq property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNfq(String value) {
- this.nfq = value;
- }
-
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}RichTextTagType">
- * &lt;attribute name="ectsCredits" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}PositiveDecimalType" />
- * &lt;attribute name="years" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}PositiveDecimalType" />
- * &lt;attribute name="semesters" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}PositiveIntegerType" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class OfficialLengthOfProgramme
- extends RichTextTagType
- {
-
- @XmlAttribute(name = "ectsCredits")
- protected BigDecimal ectsCredits;
- @XmlAttribute(name = "years")
- protected BigDecimal years;
- @XmlAttribute(name = "semesters")
- protected Integer semesters;
-
- /**
- * Gets the value of the ectsCredits property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getEctsCredits() {
- return ectsCredits;
- }
-
- /**
- * Sets the value of the ectsCredits property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setEctsCredits(BigDecimal value) {
- this.ectsCredits = value;
- }
-
- /**
- * Gets the value of the years property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getYears() {
- return years;
- }
-
- /**
- * Sets the value of the years property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setYears(BigDecimal value) {
- this.years = value;
- }
-
- /**
- * Gets the value of the semesters property.
- *
- * @return
- * possible object is
- * {@link Integer }
- *
- */
- public Integer getSemesters() {
- return semesters;
- }
-
- /**
- * Sets the value of the semesters property.
- *
- * @param value
- * allowed object is
- * {@link Integer }
- *
- */
- public void setSemesters(Integer value) {
- this.semesters = value;
- }
-
- }
+ @XmlElement(name = "Level", required = true)
+ protected InformationOnTheLevelOfTheQualificationType.Level level;
+ @XmlElement(name = "OfficialLengthOfProgramme", required = true)
+ protected InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme officialLengthOfProgramme;
+ @XmlElement(name = "AccessRequirements")
+ protected RichTextTagType accessRequirements;
+
+ /**
+ * Gets the value of the level property.
+ *
+ * @return possible object is {@link InformationOnTheLevelOfTheQualificationType.Level }
+ *
+ */
+ public InformationOnTheLevelOfTheQualificationType.Level getLevel() {
+ return level;
+ }
+
+ /**
+ * Sets the value of the level property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheLevelOfTheQualificationType.Level }
+ *
+ */
+ public void setLevel(InformationOnTheLevelOfTheQualificationType.Level value) {
+ this.level = value;
+ }
+
+ /**
+ * Gets the value of the officialLengthOfProgramme property.
+ *
+ * @return possible object is {@link InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme }
+ *
+ */
+ public InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme getOfficialLengthOfProgramme() {
+ return officialLengthOfProgramme;
+ }
+
+ /**
+ * Sets the value of the officialLengthOfProgramme property.
+ *
+ * @param value
+ * allowed object is {@link InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme }
+ *
+ */
+ public void setOfficialLengthOfProgramme(InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme value) {
+ this.officialLengthOfProgramme = value;
+ }
+
+ /**
+ * Gets the value of the accessRequirements property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getAccessRequirements() {
+ return accessRequirements;
+ }
+
+ /**
+ * Sets the value of the accessRequirements property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setAccessRequirements(RichTextTagType value) {
+ this.accessRequirements = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}RichTextTagType">
+ * &lt;attribute name="isced1997" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}ISCED1997Type" />
+ * &lt;attribute name="isced2011" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}ISCED2011Type" />
+ * &lt;attribute name="eheaFramework" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}EHEAFrameworkType" />
+ * &lt;attribute name="nfq" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}NFQType" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class Level extends RichTextTagType {
+
+ @XmlAttribute(name = "isced1997")
+ protected String isced1997;
+ @XmlAttribute(name = "isced2011")
+ protected String isced2011;
+ @XmlAttribute(name = "eheaFramework")
+ protected EHEAFrameworkType eheaFramework;
+ @XmlAttribute(name = "nfq")
+ protected String nfq;
+
+ /**
+ * Gets the value of the isced1997 property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getIsced1997() {
+ return isced1997;
+ }
+
+ /**
+ * Sets the value of the isced1997 property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setIsced1997(String value) {
+ this.isced1997 = value;
+ }
+
+ /**
+ * Gets the value of the isced2011 property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getIsced2011() {
+ return isced2011;
+ }
+
+ /**
+ * Sets the value of the isced2011 property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setIsced2011(String value) {
+ this.isced2011 = value;
+ }
+
+ /**
+ * Gets the value of the eheaFramework property.
+ *
+ * @return possible object is {@link EHEAFrameworkType }
+ *
+ */
+ public EHEAFrameworkType getEheaFramework() {
+ return eheaFramework;
+ }
+
+ /**
+ * Sets the value of the eheaFramework property.
+ *
+ * @param value
+ * allowed object is {@link EHEAFrameworkType }
+ *
+ */
+ public void setEheaFramework(EHEAFrameworkType value) {
+ this.eheaFramework = value;
+ }
+
+ /**
+ * Gets the value of the nfq property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNfq() {
+ return nfq;
+ }
+
+ /**
+ * Sets the value of the nfq property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNfq(String value) {
+ this.nfq = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}RichTextTagType">
+ * &lt;attribute name="ectsCredits" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}PositiveDecimalType" />
+ * &lt;attribute name="years" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}PositiveDecimalType" />
+ * &lt;attribute name="semesters" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}PositiveIntegerType" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class OfficialLengthOfProgramme extends RichTextTagType {
+
+ @XmlAttribute(name = "ectsCredits")
+ protected BigDecimal ectsCredits;
+ @XmlAttribute(name = "years")
+ protected BigDecimal years;
+ @XmlAttribute(name = "semesters")
+ protected Integer semesters;
+
+ /**
+ * Gets the value of the ectsCredits property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getEctsCredits() {
+ return ectsCredits;
+ }
+
+ /**
+ * Sets the value of the ectsCredits property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setEctsCredits(BigDecimal value) {
+ this.ectsCredits = value;
+ }
+
+ /**
+ * Gets the value of the years property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getYears() {
+ return years;
+ }
+
+ /**
+ * Sets the value of the years property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setYears(BigDecimal value) {
+ this.years = value;
+ }
+
+ /**
+ * Gets the value of the semesters property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getSemesters() {
+ return semesters;
+ }
+
+ /**
+ * Sets the value of the semesters property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setSemesters(Integer value) {
+ this.semesters = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InstitutionType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InstitutionType.java
index daab6ad3a..c6c27ca5f 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InstitutionType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/InstitutionType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -18,11 +17,12 @@ import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-
/**
- * <p>Java class for InstitutionType complex type.
+ * <p>
+ * Java class for InstitutionType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="InstitutionType">
@@ -54,308 +54,268 @@ import javax.xml.bind.annotation.XmlValue;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "InstitutionType", propOrder = {
- "name",
- "status",
- "country",
- "additionalInformation",
- "contactInformation",
- "attachedImageRef"
-})
-@XmlSeeAlso({
- eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.NameAndStatusOfAwardingInstitutionType.AwardingInstitution.class,
- eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies.class
-})
+@XmlType(name = "InstitutionType", propOrder = { "name", "status", "country", "additionalInformation", "contactInformation", "attachedImageRef" })
+@XmlSeeAlso({ eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.NameAndStatusOfAwardingInstitutionType.AwardingInstitution.class,
+ eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies.class })
public class InstitutionType {
- @XmlElement(name = "Name", required = true)
- protected String name;
- @XmlElement(name = "Status")
- protected String status;
- @XmlElement(name = "Country")
- protected CountryTextCodeType country;
- @XmlElement(name = "AdditionalInformation")
- protected RichTextTagType additionalInformation;
- @XmlElement(name = "ContactInformation")
- protected ContactInformationType contactInformation;
- @XmlElement(name = "AttachedImageRef")
- protected InstitutionType.AttachedImageRef attachedImageRef;
- @XmlAttribute(name = "nationalID")
- protected String nationalID;
- @XmlAttribute(name = "erasmusID")
- protected String erasmusID;
-
- /**
- * Gets the value of the name property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getName() {
- return name;
- }
+ @XmlElement(name = "Name", required = true)
+ protected String name;
+ @XmlElement(name = "Status")
+ protected String status;
+ @XmlElement(name = "Country")
+ protected CountryTextCodeType country;
+ @XmlElement(name = "AdditionalInformation")
+ protected RichTextTagType additionalInformation;
+ @XmlElement(name = "ContactInformation")
+ protected ContactInformationType contactInformation;
+ @XmlElement(name = "AttachedImageRef")
+ protected InstitutionType.AttachedImageRef attachedImageRef;
+ @XmlAttribute(name = "nationalID")
+ protected String nationalID;
+ @XmlAttribute(name = "erasmusID")
+ protected String erasmusID;
- /**
- * Sets the value of the name property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setName(String value) {
- this.name = value;
- }
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
- /**
- * Gets the value of the status property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getStatus() {
- return status;
- }
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
- /**
- * Sets the value of the status property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setStatus(String value) {
- this.status = value;
- }
+ /**
+ * Gets the value of the status property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
- /**
- * Gets the value of the country property.
- *
- * @return
- * possible object is
- * {@link CountryTextCodeType }
- *
- */
- public CountryTextCodeType getCountry() {
- return country;
- }
+ /**
+ * Sets the value of the status property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
- /**
- * Sets the value of the country property.
- *
- * @param value
- * allowed object is
- * {@link CountryTextCodeType }
- *
- */
- public void setCountry(CountryTextCodeType value) {
- this.country = value;
- }
+ /**
+ * Gets the value of the country property.
+ *
+ * @return possible object is {@link CountryTextCodeType }
+ *
+ */
+ public CountryTextCodeType getCountry() {
+ return country;
+ }
- /**
- * Gets the value of the additionalInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getAdditionalInformation() {
- return additionalInformation;
- }
+ /**
+ * Sets the value of the country property.
+ *
+ * @param value
+ * allowed object is {@link CountryTextCodeType }
+ *
+ */
+ public void setCountry(CountryTextCodeType value) {
+ this.country = value;
+ }
- /**
- * Sets the value of the additionalInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setAdditionalInformation(RichTextTagType value) {
- this.additionalInformation = value;
- }
+ /**
+ * Gets the value of the additionalInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getAdditionalInformation() {
+ return additionalInformation;
+ }
- /**
- * Gets the value of the contactInformation property.
- *
- * @return
- * possible object is
- * {@link ContactInformationType }
- *
- */
- public ContactInformationType getContactInformation() {
- return contactInformation;
- }
+ /**
+ * Sets the value of the additionalInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setAdditionalInformation(RichTextTagType value) {
+ this.additionalInformation = value;
+ }
- /**
- * Sets the value of the contactInformation property.
- *
- * @param value
- * allowed object is
- * {@link ContactInformationType }
- *
- */
- public void setContactInformation(ContactInformationType value) {
- this.contactInformation = value;
- }
+ /**
+ * Gets the value of the contactInformation property.
+ *
+ * @return possible object is {@link ContactInformationType }
+ *
+ */
+ public ContactInformationType getContactInformation() {
+ return contactInformation;
+ }
- /**
- * Gets the value of the attachedImageRef property.
- *
- * @return
- * possible object is
- * {@link InstitutionType.AttachedImageRef }
- *
- */
- public InstitutionType.AttachedImageRef getAttachedImageRef() {
- return attachedImageRef;
- }
+ /**
+ * Sets the value of the contactInformation property.
+ *
+ * @param value
+ * allowed object is {@link ContactInformationType }
+ *
+ */
+ public void setContactInformation(ContactInformationType value) {
+ this.contactInformation = value;
+ }
- /**
- * Sets the value of the attachedImageRef property.
- *
- * @param value
- * allowed object is
- * {@link InstitutionType.AttachedImageRef }
- *
- */
- public void setAttachedImageRef(InstitutionType.AttachedImageRef value) {
- this.attachedImageRef = value;
- }
+ /**
+ * Gets the value of the attachedImageRef property.
+ *
+ * @return possible object is {@link InstitutionType.AttachedImageRef }
+ *
+ */
+ public InstitutionType.AttachedImageRef getAttachedImageRef() {
+ return attachedImageRef;
+ }
- /**
- * Gets the value of the nationalID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNationalID() {
- return nationalID;
- }
+ /**
+ * Sets the value of the attachedImageRef property.
+ *
+ * @param value
+ * allowed object is {@link InstitutionType.AttachedImageRef }
+ *
+ */
+ public void setAttachedImageRef(InstitutionType.AttachedImageRef value) {
+ this.attachedImageRef = value;
+ }
- /**
- * Sets the value of the nationalID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNationalID(String value) {
- this.nationalID = value;
- }
+ /**
+ * Gets the value of the nationalID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNationalID() {
+ return nationalID;
+ }
- /**
- * Gets the value of the erasmusID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getErasmusID() {
- return erasmusID;
- }
+ /**
+ * Sets the value of the nationalID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNationalID(String value) {
+ this.nationalID = value;
+ }
- /**
- * Sets the value of the erasmusID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setErasmusID(String value) {
- this.erasmusID = value;
- }
+ /**
+ * Gets the value of the erasmusID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getErasmusID() {
+ return erasmusID;
+ }
+ /**
+ * Sets the value of the erasmusID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setErasmusID(String value) {
+ this.erasmusID = value;
+ }
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
- * &lt;attribute name="attachedID" use="required" type="{http://www.w3.org/2001/XMLSchema}IDREF" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class AttachedImageRef {
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
+ * &lt;attribute name="attachedID" use="required" type="{http://www.w3.org/2001/XMLSchema}IDREF" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class AttachedImageRef {
- @XmlValue
- protected String value;
- @XmlAttribute(name = "attachedID", required = true)
- @XmlIDREF
- @XmlSchemaType(name = "IDREF")
- protected Object attachedID;
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "attachedID", required = true)
+ @XmlIDREF
+ @XmlSchemaType(name = "IDREF")
+ protected Object attachedID;
- /**
- * Gets the value of the value property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
- /**
- * Gets the value of the attachedID property.
- *
- * @return
- * possible object is
- * {@link Object }
- *
- */
- public Object getAttachedID() {
- return attachedID;
- }
+ /**
+ * Gets the value of the attachedID property.
+ *
+ * @return possible object is {@link Object }
+ *
+ */
+ public Object getAttachedID() {
+ return attachedID;
+ }
- /**
- * Sets the value of the attachedID property.
- *
- * @param value
- * allowed object is
- * {@link Object }
- *
- */
- public void setAttachedID(Object value) {
- this.attachedID = value;
- }
+ /**
+ * Sets the value of the attachedID property.
+ *
+ * @param value
+ * allowed object is {@link Object }
+ *
+ */
+ public void setAttachedID(Object value) {
+ this.attachedID = value;
+ }
- }
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LanguageType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LanguageType.java
index 2ddf61e53..8dcc5c546 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LanguageType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LanguageType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for LanguageType.
+ * <p>
+ * Java class for LanguageType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="LanguageType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -128,219 +129,122 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum LanguageType {
- @XmlEnumValue("ab")
- AB("ab"),
- @XmlEnumValue("af")
- AF("af"),
- @XmlEnumValue("an")
- AN("an"),
- @XmlEnumValue("ar")
- AR("ar"),
- @XmlEnumValue("as")
- AS("as"),
- @XmlEnumValue("az")
- AZ("az"),
- @XmlEnumValue("be")
- BE("be"),
- @XmlEnumValue("bg")
- BG("bg"),
- @XmlEnumValue("bn")
- BN("bn"),
- @XmlEnumValue("bo")
- BO("bo"),
- @XmlEnumValue("br")
- BR("br"),
- @XmlEnumValue("bs")
- BS("bs"),
- @XmlEnumValue("ca")
- CA("ca"),
- @XmlEnumValue("ce")
- CE("ce"),
- @XmlEnumValue("co")
- CO("co"),
- @XmlEnumValue("cs")
- CS("cs"),
- @XmlEnumValue("cy")
- CY("cy"),
- @XmlEnumValue("da")
- DA("da"),
- @XmlEnumValue("de")
- DE("de"),
- @XmlEnumValue("el")
- EL("el"),
- @XmlEnumValue("en")
- EN("en"),
- @XmlEnumValue("es")
- ES("es"),
- @XmlEnumValue("et")
- ET("et"),
- @XmlEnumValue("eu")
- EU("eu"),
- @XmlEnumValue("fa")
- FA("fa"),
- @XmlEnumValue("fi")
- FI("fi"),
- @XmlEnumValue("fj")
- FJ("fj"),
- @XmlEnumValue("fo")
- FO("fo"),
- @XmlEnumValue("fr")
- FR("fr"),
- @XmlEnumValue("fy")
- FY("fy"),
- @XmlEnumValue("ga")
- GA("ga"),
- @XmlEnumValue("gd")
- GD("gd"),
- @XmlEnumValue("gl")
- GL("gl"),
- @XmlEnumValue("gv")
- GV("gv"),
- @XmlEnumValue("grc")
- GRC("grc"),
- @XmlEnumValue("gsw")
- GSW("gsw"),
- @XmlEnumValue("he")
- HE("he"),
- @XmlEnumValue("hi")
- HI("hi"),
- @XmlEnumValue("hr")
- HR("hr"),
- @XmlEnumValue("ht")
- HT("ht"),
- @XmlEnumValue("hu")
- HU("hu"),
- @XmlEnumValue("hy")
- HY("hy"),
- @XmlEnumValue("id")
- ID("id"),
- @XmlEnumValue("is")
- IS("is"),
- @XmlEnumValue("it")
- IT("it"),
- @XmlEnumValue("ja")
- JA("ja"),
- @XmlEnumValue("jv")
- JV("jv"),
- @XmlEnumValue("ka")
- KA("ka"),
- @XmlEnumValue("kg")
- KG("kg"),
- @XmlEnumValue("ko")
- KO("ko"),
- @XmlEnumValue("ku")
- KU("ku"),
- @XmlEnumValue("kw")
- KW("kw"),
- @XmlEnumValue("ky")
- KY("ky"),
- @XmlEnumValue("lb")
- LB("lb"),
- @XmlEnumValue("li")
- LI("li"),
- @XmlEnumValue("ln")
- LN("ln"),
- @XmlEnumValue("lt")
- LT("lt"),
- @XmlEnumValue("lv")
- LV("lv"),
- @XmlEnumValue("mg")
- MG("mg"),
- @XmlEnumValue("mk")
- MK("mk"),
- @XmlEnumValue("mn")
- MN("mn"),
- @XmlEnumValue("mo")
- MO("mo"),
- @XmlEnumValue("ms")
- MS("ms"),
- @XmlEnumValue("mt")
- MT("mt"),
- @XmlEnumValue("my")
- MY("my"),
- @XmlEnumValue("nb")
- NB("nb"),
- @XmlEnumValue("ne")
- NE("ne"),
- @XmlEnumValue("nl")
- NL("nl"),
- @XmlEnumValue("nn")
- NN("nn"),
- @XmlEnumValue("no")
- NO("no"),
- @XmlEnumValue("pl")
- PL("pl"),
- @XmlEnumValue("pt")
- PT("pt"),
- @XmlEnumValue("rm")
- RM("rm"),
- @XmlEnumValue("ro")
- RO("ro"),
- @XmlEnumValue("ru")
- RU("ru"),
- @XmlEnumValue("sc")
- SC("sc"),
- @XmlEnumValue("se")
- SE("se"),
- @XmlEnumValue("sk")
- SK("sk"),
- @XmlEnumValue("sl")
- SL("sl"),
- @XmlEnumValue("so")
- SO("so"),
- @XmlEnumValue("sq")
- SQ("sq"),
- @XmlEnumValue("sr")
- SR("sr"),
- @XmlEnumValue("sv")
- SV("sv"),
- @XmlEnumValue("sw")
- SW("sw"),
- @XmlEnumValue("tk")
- TK("tk"),
- @XmlEnumValue("tr")
- TR("tr"),
- @XmlEnumValue("ty")
- TY("ty"),
- @XmlEnumValue("uk")
- UK("uk"),
- @XmlEnumValue("ur")
- UR("ur"),
- @XmlEnumValue("uz")
- UZ("uz"),
- @XmlEnumValue("vi")
- VI("vi"),
- @XmlEnumValue("yi")
- YI("yi"),
- @XmlEnumValue("zh")
- ZH("zh"),
- @XmlEnumValue("cu")
- CU("cu"),
- @XmlEnumValue("eo")
- EO("eo"),
- @XmlEnumValue("la")
- LA("la"),
- @XmlEnumValue("oc")
- OC("oc"),
- @XmlEnumValue("vo")
- VO("vo");
- private final String value;
+ @XmlEnumValue("ab")
+ AB("ab"), @XmlEnumValue("af")
+ AF("af"), @XmlEnumValue("an")
+ AN("an"), @XmlEnumValue("ar")
+ AR("ar"), @XmlEnumValue("as")
+ AS("as"), @XmlEnumValue("az")
+ AZ("az"), @XmlEnumValue("be")
+ BE("be"), @XmlEnumValue("bg")
+ BG("bg"), @XmlEnumValue("bn")
+ BN("bn"), @XmlEnumValue("bo")
+ BO("bo"), @XmlEnumValue("br")
+ BR("br"), @XmlEnumValue("bs")
+ BS("bs"), @XmlEnumValue("ca")
+ CA("ca"), @XmlEnumValue("ce")
+ CE("ce"), @XmlEnumValue("co")
+ CO("co"), @XmlEnumValue("cs")
+ CS("cs"), @XmlEnumValue("cy")
+ CY("cy"), @XmlEnumValue("da")
+ DA("da"), @XmlEnumValue("de")
+ DE("de"), @XmlEnumValue("el")
+ EL("el"), @XmlEnumValue("en")
+ EN("en"), @XmlEnumValue("es")
+ ES("es"), @XmlEnumValue("et")
+ ET("et"), @XmlEnumValue("eu")
+ EU("eu"), @XmlEnumValue("fa")
+ FA("fa"), @XmlEnumValue("fi")
+ FI("fi"), @XmlEnumValue("fj")
+ FJ("fj"), @XmlEnumValue("fo")
+ FO("fo"), @XmlEnumValue("fr")
+ FR("fr"), @XmlEnumValue("fy")
+ FY("fy"), @XmlEnumValue("ga")
+ GA("ga"), @XmlEnumValue("gd")
+ GD("gd"), @XmlEnumValue("gl")
+ GL("gl"), @XmlEnumValue("gv")
+ GV("gv"), @XmlEnumValue("grc")
+ GRC("grc"), @XmlEnumValue("gsw")
+ GSW("gsw"), @XmlEnumValue("he")
+ HE("he"), @XmlEnumValue("hi")
+ HI("hi"), @XmlEnumValue("hr")
+ HR("hr"), @XmlEnumValue("ht")
+ HT("ht"), @XmlEnumValue("hu")
+ HU("hu"), @XmlEnumValue("hy")
+ HY("hy"), @XmlEnumValue("id")
+ ID("id"), @XmlEnumValue("is")
+ IS("is"), @XmlEnumValue("it")
+ IT("it"), @XmlEnumValue("ja")
+ JA("ja"), @XmlEnumValue("jv")
+ JV("jv"), @XmlEnumValue("ka")
+ KA("ka"), @XmlEnumValue("kg")
+ KG("kg"), @XmlEnumValue("ko")
+ KO("ko"), @XmlEnumValue("ku")
+ KU("ku"), @XmlEnumValue("kw")
+ KW("kw"), @XmlEnumValue("ky")
+ KY("ky"), @XmlEnumValue("lb")
+ LB("lb"), @XmlEnumValue("li")
+ LI("li"), @XmlEnumValue("ln")
+ LN("ln"), @XmlEnumValue("lt")
+ LT("lt"), @XmlEnumValue("lv")
+ LV("lv"), @XmlEnumValue("mg")
+ MG("mg"), @XmlEnumValue("mk")
+ MK("mk"), @XmlEnumValue("mn")
+ MN("mn"), @XmlEnumValue("mo")
+ MO("mo"), @XmlEnumValue("ms")
+ MS("ms"), @XmlEnumValue("mt")
+ MT("mt"), @XmlEnumValue("my")
+ MY("my"), @XmlEnumValue("nb")
+ NB("nb"), @XmlEnumValue("ne")
+ NE("ne"), @XmlEnumValue("nl")
+ NL("nl"), @XmlEnumValue("nn")
+ NN("nn"), @XmlEnumValue("no")
+ NO("no"), @XmlEnumValue("pl")
+ PL("pl"), @XmlEnumValue("pt")
+ PT("pt"), @XmlEnumValue("rm")
+ RM("rm"), @XmlEnumValue("ro")
+ RO("ro"), @XmlEnumValue("ru")
+ RU("ru"), @XmlEnumValue("sc")
+ SC("sc"), @XmlEnumValue("se")
+ SE("se"), @XmlEnumValue("sk")
+ SK("sk"), @XmlEnumValue("sl")
+ SL("sl"), @XmlEnumValue("so")
+ SO("so"), @XmlEnumValue("sq")
+ SQ("sq"), @XmlEnumValue("sr")
+ SR("sr"), @XmlEnumValue("sv")
+ SV("sv"), @XmlEnumValue("sw")
+ SW("sw"), @XmlEnumValue("tk")
+ TK("tk"), @XmlEnumValue("tr")
+ TR("tr"), @XmlEnumValue("ty")
+ TY("ty"), @XmlEnumValue("uk")
+ UK("uk"), @XmlEnumValue("ur")
+ UR("ur"), @XmlEnumValue("uz")
+ UZ("uz"), @XmlEnumValue("vi")
+ VI("vi"), @XmlEnumValue("yi")
+ YI("yi"), @XmlEnumValue("zh")
+ ZH("zh"), @XmlEnumValue("cu")
+ CU("cu"), @XmlEnumValue("eo")
+ EO("eo"), @XmlEnumValue("la")
+ LA("la"), @XmlEnumValue("oc")
+ OC("oc"), @XmlEnumValue("vo")
+ VO("vo");
+ private final String value;
- LanguageType(String v) {
- value = v;
- }
+ LanguageType(String v) {
+ value = v;
+ }
- public String value() {
- return value;
- }
+ public String value() {
+ return value;
+ }
- public static LanguageType fromValue(String v) {
- for (LanguageType c: LanguageType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ public static LanguageType fromValue(String v) {
+ for (LanguageType c : LanguageType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LanguagesOfInstructionAndExaminationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LanguagesOfInstructionAndExaminationType.java
index 575d3b867..1bf2acba6 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LanguagesOfInstructionAndExaminationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LanguagesOfInstructionAndExaminationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.math.BigDecimal;
@@ -17,11 +16,12 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for LanguagesOfInstructionAndExaminationType complex type.
+ * <p>
+ * Java class for LanguagesOfInstructionAndExaminationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="LanguagesOfInstructionAndExaminationType">
@@ -49,179 +49,162 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "LanguagesOfInstructionAndExaminationType", propOrder = {
- "language"
-})
+@XmlType(name = "LanguagesOfInstructionAndExaminationType", propOrder = { "language" })
public class LanguagesOfInstructionAndExaminationType {
- @XmlElement(name = "Language", required = true)
- protected List<LanguagesOfInstructionAndExaminationType.Language> language;
-
- /**
- * Gets the value of the language property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the language property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getLanguage().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link LanguagesOfInstructionAndExaminationType.Language }
- *
- *
- */
- public List<LanguagesOfInstructionAndExaminationType.Language> getLanguage() {
- if (language == null) {
- language = new ArrayList<LanguagesOfInstructionAndExaminationType.Language>();
- }
- return this.language;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}RichTextTagType">
- * &lt;attribute name="language" use="required" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}LanguageType" />
- * &lt;attribute name="percent" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}PercentType" />
- * &lt;attribute name="instruction" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
- * &lt;attribute name="examination" type="{http://www.w3.org/2001/XMLSchema}boolean" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class Language
- extends RichTextTagType
- {
-
- @XmlAttribute(name = "language", required = true)
- protected LanguageType language;
- @XmlAttribute(name = "percent")
- protected BigDecimal percent;
- @XmlAttribute(name = "instruction")
- protected Boolean instruction;
- @XmlAttribute(name = "examination")
- protected Boolean examination;
-
- /**
- * Gets the value of the language property.
- *
- * @return
- * possible object is
- * {@link LanguageType }
- *
- */
- public LanguageType getLanguage() {
- return language;
- }
-
- /**
- * Sets the value of the language property.
- *
- * @param value
- * allowed object is
- * {@link LanguageType }
- *
- */
- public void setLanguage(LanguageType value) {
- this.language = value;
- }
-
- /**
- * Gets the value of the percent property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getPercent() {
- return percent;
- }
-
- /**
- * Sets the value of the percent property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setPercent(BigDecimal value) {
- this.percent = value;
- }
-
- /**
- * Gets the value of the instruction property.
- *
- * @return
- * possible object is
- * {@link Boolean }
- *
- */
- public boolean isInstruction() {
- if (instruction == null) {
- return true;
- } else {
- return instruction;
- }
- }
-
- /**
- * Sets the value of the instruction property.
- *
- * @param value
- * allowed object is
- * {@link Boolean }
- *
- */
- public void setInstruction(Boolean value) {
- this.instruction = value;
- }
-
- /**
- * Gets the value of the examination property.
- *
- * @return
- * possible object is
- * {@link Boolean }
- *
- */
- public Boolean isExamination() {
- return examination;
- }
-
- /**
- * Sets the value of the examination property.
- *
- * @param value
- * allowed object is
- * {@link Boolean }
- *
- */
- public void setExamination(Boolean value) {
- this.examination = value;
- }
-
- }
+ @XmlElement(name = "Language", required = true)
+ protected List<LanguagesOfInstructionAndExaminationType.Language> language;
+
+ /**
+ * Gets the value of the language property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the language property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getLanguage().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link LanguagesOfInstructionAndExaminationType.Language }
+ *
+ *
+ */
+ public List<LanguagesOfInstructionAndExaminationType.Language> getLanguage() {
+ if (language == null) {
+ language = new ArrayList<LanguagesOfInstructionAndExaminationType.Language>();
+ }
+ return this.language;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}RichTextTagType">
+ * &lt;attribute name="language" use="required" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}LanguageType" />
+ * &lt;attribute name="percent" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}PercentType" />
+ * &lt;attribute name="instruction" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * &lt;attribute name="examination" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class Language extends RichTextTagType {
+
+ @XmlAttribute(name = "language", required = true)
+ protected LanguageType language;
+ @XmlAttribute(name = "percent")
+ protected BigDecimal percent;
+ @XmlAttribute(name = "instruction")
+ protected Boolean instruction;
+ @XmlAttribute(name = "examination")
+ protected Boolean examination;
+
+ /**
+ * Gets the value of the language property.
+ *
+ * @return possible object is {@link LanguageType }
+ *
+ */
+ public LanguageType getLanguage() {
+ return language;
+ }
+
+ /**
+ * Sets the value of the language property.
+ *
+ * @param value
+ * allowed object is {@link LanguageType }
+ *
+ */
+ public void setLanguage(LanguageType value) {
+ this.language = value;
+ }
+
+ /**
+ * Gets the value of the percent property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getPercent() {
+ return percent;
+ }
+
+ /**
+ * Sets the value of the percent property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setPercent(BigDecimal value) {
+ this.percent = value;
+ }
+
+ /**
+ * Gets the value of the instruction property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isInstruction() {
+ if (instruction == null) {
+ return true;
+ } else {
+ return instruction;
+ }
+ }
+
+ /**
+ * Sets the value of the instruction property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setInstruction(Boolean value) {
+ this.instruction = value;
+ }
+
+ /**
+ * Gets the value of the examination property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isExamination() {
+ return examination;
+ }
+
+ /**
+ * Sets the value of the examination property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setExamination(Boolean value) {
+ this.examination = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LocalGradeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LocalGradeType.java
index de3b86c98..24582dc94 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LocalGradeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/LocalGradeType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -16,11 +15,12 @@ import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
import javax.xml.datatype.XMLGregorianCalendar;
-
/**
- * <p>Java class for LocalGradeType complex type.
+ * <p>
+ * Java class for LocalGradeType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="LocalGradeType">
@@ -48,196 +48,172 @@ import javax.xml.datatype.XMLGregorianCalendar;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "LocalGradeType", propOrder = {
- "academicYear",
- "dateIssued",
- "grade",
- "source"
-})
+@XmlType(name = "LocalGradeType", propOrder = { "academicYear", "dateIssued", "grade", "source" })
public class LocalGradeType {
- @XmlElement(name = "AcademicYear")
- protected String academicYear;
- @XmlElement(name = "DateIssued")
- protected XMLGregorianCalendar dateIssued;
- @XmlElement(name = "Grade", required = true)
- protected String grade;
- @XmlElement(name = "Source")
- protected LocalGradeType.Source source;
-
- /**
- * Gets the value of the academicYear property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAcademicYear() {
- return academicYear;
- }
-
- /**
- * Sets the value of the academicYear property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAcademicYear(String value) {
- this.academicYear = value;
- }
-
- /**
- * Gets the value of the dateIssued property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getDateIssued() {
- return dateIssued;
- }
-
- /**
- * Sets the value of the dateIssued property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setDateIssued(XMLGregorianCalendar value) {
- this.dateIssued = value;
- }
-
- /**
- * Gets the value of the grade property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getGrade() {
- return grade;
- }
-
- /**
- * Sets the value of the grade property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setGrade(String value) {
- this.grade = value;
- }
-
- /**
- * Gets the value of the source property.
- *
- * @return
- * possible object is
- * {@link LocalGradeType.Source }
- *
- */
- public LocalGradeType.Source getSource() {
- return source;
- }
-
- /**
- * Sets the value of the source property.
- *
- * @param value
- * allowed object is
- * {@link LocalGradeType.Source }
- *
- */
- public void setSource(LocalGradeType.Source value) {
- this.source = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
- * &lt;attribute name="source" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}SourceGradeType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class Source {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "source")
- protected SourceGradeType source;
-
- /**
- * Gets the value of the value property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the source property.
- *
- * @return
- * possible object is
- * {@link SourceGradeType }
- *
- */
- public SourceGradeType getSource() {
- return source;
- }
-
- /**
- * Sets the value of the source property.
- *
- * @param value
- * allowed object is
- * {@link SourceGradeType }
- *
- */
- public void setSource(SourceGradeType value) {
- this.source = value;
- }
-
- }
+ @XmlElement(name = "AcademicYear")
+ protected String academicYear;
+ @XmlElement(name = "DateIssued")
+ protected XMLGregorianCalendar dateIssued;
+ @XmlElement(name = "Grade", required = true)
+ protected String grade;
+ @XmlElement(name = "Source")
+ protected LocalGradeType.Source source;
+
+ /**
+ * Gets the value of the academicYear property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAcademicYear() {
+ return academicYear;
+ }
+
+ /**
+ * Sets the value of the academicYear property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAcademicYear(String value) {
+ this.academicYear = value;
+ }
+
+ /**
+ * Gets the value of the dateIssued property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateIssued() {
+ return dateIssued;
+ }
+
+ /**
+ * Sets the value of the dateIssued property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateIssued(XMLGregorianCalendar value) {
+ this.dateIssued = value;
+ }
+
+ /**
+ * Gets the value of the grade property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getGrade() {
+ return grade;
+ }
+
+ /**
+ * Sets the value of the grade property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setGrade(String value) {
+ this.grade = value;
+ }
+
+ /**
+ * Gets the value of the source property.
+ *
+ * @return possible object is {@link LocalGradeType.Source }
+ *
+ */
+ public LocalGradeType.Source getSource() {
+ return source;
+ }
+
+ /**
+ * Sets the value of the source property.
+ *
+ * @param value
+ * allowed object is {@link LocalGradeType.Source }
+ *
+ */
+ public void setSource(LocalGradeType.Source value) {
+ this.source = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
+ * &lt;attribute name="source" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}SourceGradeType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class Source {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "source")
+ protected SourceGradeType source;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the source property.
+ *
+ * @return possible object is {@link SourceGradeType }
+ *
+ */
+ public SourceGradeType getSource() {
+ return source;
+ }
+
+ /**
+ * Sets the value of the source property.
+ *
+ * @param value
+ * allowed object is {@link SourceGradeType }
+ *
+ */
+ public void setSource(SourceGradeType value) {
+ this.source = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MimeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MimeType.java
index 45a3bc403..c051cb2b4 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MimeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MimeType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for MimeType.
+ * <p>
+ * Java class for MimeType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="MimeType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -37,37 +38,31 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum MimeType {
- @XmlEnumValue("image/gif")
- IMAGE_GIF("image/gif"),
- @XmlEnumValue("image/jpeg")
- IMAGE_JPEG("image/jpeg"),
- @XmlEnumValue("image/pjpeg")
- IMAGE_PJPEG("image/pjpeg"),
- @XmlEnumValue("image/png")
- IMAGE_PNG("image/png"),
- @XmlEnumValue("image/tiff")
- IMAGE_TIFF("image/tiff"),
- @XmlEnumValue("text/html")
- TEXT_HTML("text/html"),
- @XmlEnumValue("application/pdf")
- APPLICATION_PDF("application/pdf");
- private final String value;
+ @XmlEnumValue("image/gif")
+ IMAGE_GIF("image/gif"), @XmlEnumValue("image/jpeg")
+ IMAGE_JPEG("image/jpeg"), @XmlEnumValue("image/pjpeg")
+ IMAGE_PJPEG("image/pjpeg"), @XmlEnumValue("image/png")
+ IMAGE_PNG("image/png"), @XmlEnumValue("image/tiff")
+ IMAGE_TIFF("image/tiff"), @XmlEnumValue("text/html")
+ TEXT_HTML("text/html"), @XmlEnumValue("application/pdf")
+ APPLICATION_PDF("application/pdf");
+ private final String value;
- MimeType(String v) {
- value = v;
- }
+ MimeType(String v) {
+ value = v;
+ }
- public String value() {
- return value;
- }
+ public String value() {
+ return value;
+ }
- public static MimeType fromValue(String v) {
- for (MimeType c: MimeType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ public static MimeType fromValue(String v) {
+ for (MimeType c : MimeType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeCourseUnitType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeCourseUnitType.java
index d254e5f4d..557473a0c 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeCourseUnitType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeCourseUnitType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.math.BigDecimal;
@@ -16,11 +15,12 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-
/**
- * <p>Java class for MobilityProgrammeCourseUnitType complex type.
+ * <p>
+ * Java class for MobilityProgrammeCourseUnitType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="MobilityProgrammeCourseUnitType">
@@ -49,226 +49,199 @@ import javax.xml.bind.annotation.XmlValue;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "MobilityProgrammeCourseUnitType", propOrder = {
- "code",
- "title",
- "ectsCredits",
- "additionalInformation"
-})
+@XmlType(name = "MobilityProgrammeCourseUnitType", propOrder = { "code", "title", "ectsCredits", "additionalInformation" })
public class MobilityProgrammeCourseUnitType {
- @XmlElement(name = "Code")
- protected String code;
- @XmlElement(name = "Title", required = true)
- protected MobilityProgrammeCourseUnitType.Title title;
- @XmlElement(name = "ECTSCredits")
- protected BigDecimal ectsCredits;
- @XmlElement(name = "AdditionalInformation")
- protected RichTextTagType additionalInformation;
- @XmlAttribute(name = "isInTheLearningAgreement")
- protected Boolean isInTheLearningAgreement;
-
- /**
- * Gets the value of the code property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCode() {
- return code;
- }
-
- /**
- * Sets the value of the code property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCode(String value) {
- this.code = value;
- }
-
- /**
- * Gets the value of the title property.
- *
- * @return
- * possible object is
- * {@link MobilityProgrammeCourseUnitType.Title }
- *
- */
- public MobilityProgrammeCourseUnitType.Title getTitle() {
- return title;
- }
-
- /**
- * Sets the value of the title property.
- *
- * @param value
- * allowed object is
- * {@link MobilityProgrammeCourseUnitType.Title }
- *
- */
- public void setTitle(MobilityProgrammeCourseUnitType.Title value) {
- this.title = value;
- }
-
- /**
- * Gets the value of the ectsCredits property.
- *
- * @return
- * possible object is
- * {@link BigDecimal }
- *
- */
- public BigDecimal getECTSCredits() {
- return ectsCredits;
- }
-
- /**
- * Sets the value of the ectsCredits property.
- *
- * @param value
- * allowed object is
- * {@link BigDecimal }
- *
- */
- public void setECTSCredits(BigDecimal value) {
- this.ectsCredits = value;
- }
-
- /**
- * Gets the value of the additionalInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getAdditionalInformation() {
- return additionalInformation;
- }
-
- /**
- * Sets the value of the additionalInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setAdditionalInformation(RichTextTagType value) {
- this.additionalInformation = value;
- }
-
- /**
- * Gets the value of the isInTheLearningAgreement property.
- *
- * @return
- * possible object is
- * {@link Boolean }
- *
- */
- public boolean isIsInTheLearningAgreement() {
- if (isInTheLearningAgreement == null) {
- return true;
- } else {
- return isInTheLearningAgreement;
- }
- }
-
- /**
- * Sets the value of the isInTheLearningAgreement property.
- *
- * @param value
- * allowed object is
- * {@link Boolean }
- *
- */
- public void setIsInTheLearningAgreement(Boolean value) {
- this.isInTheLearningAgreement = value;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
- * &lt;attribute name="language" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}LanguageType" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class Title {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "language")
- protected LanguageType language;
-
- /**
- * Gets the value of the value property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the language property.
- *
- * @return
- * possible object is
- * {@link LanguageType }
- *
- */
- public LanguageType getLanguage() {
- return language;
- }
-
- /**
- * Sets the value of the language property.
- *
- * @param value
- * allowed object is
- * {@link LanguageType }
- *
- */
- public void setLanguage(LanguageType value) {
- this.language = value;
- }
-
- }
+ @XmlElement(name = "Code")
+ protected String code;
+ @XmlElement(name = "Title", required = true)
+ protected MobilityProgrammeCourseUnitType.Title title;
+ @XmlElement(name = "ECTSCredits")
+ protected BigDecimal ectsCredits;
+ @XmlElement(name = "AdditionalInformation")
+ protected RichTextTagType additionalInformation;
+ @XmlAttribute(name = "isInTheLearningAgreement")
+ protected Boolean isInTheLearningAgreement;
+
+ /**
+ * Gets the value of the code property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCode() {
+ return code;
+ }
+
+ /**
+ * Sets the value of the code property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCode(String value) {
+ this.code = value;
+ }
+
+ /**
+ * Gets the value of the title property.
+ *
+ * @return possible object is {@link MobilityProgrammeCourseUnitType.Title }
+ *
+ */
+ public MobilityProgrammeCourseUnitType.Title getTitle() {
+ return title;
+ }
+
+ /**
+ * Sets the value of the title property.
+ *
+ * @param value
+ * allowed object is {@link MobilityProgrammeCourseUnitType.Title }
+ *
+ */
+ public void setTitle(MobilityProgrammeCourseUnitType.Title value) {
+ this.title = value;
+ }
+
+ /**
+ * Gets the value of the ectsCredits property.
+ *
+ * @return possible object is {@link BigDecimal }
+ *
+ */
+ public BigDecimal getECTSCredits() {
+ return ectsCredits;
+ }
+
+ /**
+ * Sets the value of the ectsCredits property.
+ *
+ * @param value
+ * allowed object is {@link BigDecimal }
+ *
+ */
+ public void setECTSCredits(BigDecimal value) {
+ this.ectsCredits = value;
+ }
+
+ /**
+ * Gets the value of the additionalInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getAdditionalInformation() {
+ return additionalInformation;
+ }
+
+ /**
+ * Sets the value of the additionalInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setAdditionalInformation(RichTextTagType value) {
+ this.additionalInformation = value;
+ }
+
+ /**
+ * Gets the value of the isInTheLearningAgreement property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isIsInTheLearningAgreement() {
+ if (isInTheLearningAgreement == null) {
+ return true;
+ } else {
+ return isInTheLearningAgreement;
+ }
+ }
+
+ /**
+ * Sets the value of the isInTheLearningAgreement property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setIsInTheLearningAgreement(Boolean value) {
+ this.isInTheLearningAgreement = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
+ * &lt;attribute name="language" type="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}LanguageType" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class Title {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "language")
+ protected LanguageType language;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the language property.
+ *
+ * @return possible object is {@link LanguageType }
+ *
+ */
+ public LanguageType getLanguage() {
+ return language;
+ }
+
+ /**
+ * Sets the value of the language property.
+ *
+ * @param value
+ * allowed object is {@link LanguageType }
+ *
+ */
+ public void setLanguage(LanguageType value) {
+ this.language = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeCoursesUnitsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeCoursesUnitsType.java
index 1cc243487..63a4d0ecf 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeCoursesUnitsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeCoursesUnitsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for MobilityProgrammeCoursesUnitsType complex type.
+ * <p>
+ * Java class for MobilityProgrammeCoursesUnitsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="MobilityProgrammeCoursesUnitsType">
@@ -36,41 +36,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "MobilityProgrammeCoursesUnitsType", propOrder = {
- "courseUnit"
-})
+@XmlType(name = "MobilityProgrammeCoursesUnitsType", propOrder = { "courseUnit" })
public class MobilityProgrammeCoursesUnitsType {
- @XmlElement(name = "CourseUnit", required = true)
- protected List<MobilityProgrammeCourseUnitType> courseUnit;
+ @XmlElement(name = "CourseUnit", required = true)
+ protected List<MobilityProgrammeCourseUnitType> courseUnit;
- /**
- * Gets the value of the courseUnit property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the courseUnit property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getCourseUnit().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link MobilityProgrammeCourseUnitType }
- *
- *
- */
- public List<MobilityProgrammeCourseUnitType> getCourseUnit() {
- if (courseUnit == null) {
- courseUnit = new ArrayList<MobilityProgrammeCourseUnitType>();
- }
- return this.courseUnit;
- }
+ /**
+ * Gets the value of the courseUnit property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the courseUnit property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getCourseUnit().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link MobilityProgrammeCourseUnitType }
+ *
+ *
+ */
+ public List<MobilityProgrammeCourseUnitType> getCourseUnit() {
+ if (courseUnit == null) {
+ courseUnit = new ArrayList<MobilityProgrammeCourseUnitType>();
+ }
+ return this.courseUnit;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeType.java
index 5ef23530a..dbb8bc284 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MobilityProgrammeType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,11 +13,12 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
-
/**
- * <p>Java class for MobilityProgrammeType complex type.
+ * <p>
+ * Java class for MobilityProgrammeType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="MobilityProgrammeType">
@@ -42,225 +42,192 @@ import javax.xml.datatype.XMLGregorianCalendar;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "MobilityProgrammeType", propOrder = {
- "type",
- "fieldOfStudy",
- "country",
- "receivingInstitutionName",
- "academicYear",
- "dateFrom",
- "dateTo",
- "coursesUnits"
-})
+@XmlType(name = "MobilityProgrammeType", propOrder = { "type", "fieldOfStudy", "country", "receivingInstitutionName", "academicYear", "dateFrom", "dateTo", "coursesUnits" })
public class MobilityProgrammeType {
- @XmlElement(name = "Type")
- protected String type;
- @XmlElement(name = "FieldOfStudy")
- protected String fieldOfStudy;
- @XmlElement(name = "Country", required = true)
- protected CountryTextCodeType country;
- @XmlElement(name = "ReceivingInstitutionName", required = true)
- protected String receivingInstitutionName;
- @XmlElement(name = "AcademicYear")
- protected String academicYear;
- @XmlElement(name = "DateFrom")
- protected XMLGregorianCalendar dateFrom;
- @XmlElement(name = "DateTo")
- protected XMLGregorianCalendar dateTo;
- @XmlElement(name = "CoursesUnits", required = true)
- protected MobilityProgrammeCoursesUnitsType coursesUnits;
-
- /**
- * Gets the value of the type property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getType() {
- return type;
- }
-
- /**
- * Sets the value of the type property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setType(String value) {
- this.type = value;
- }
-
- /**
- * Gets the value of the fieldOfStudy property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getFieldOfStudy() {
- return fieldOfStudy;
- }
-
- /**
- * Sets the value of the fieldOfStudy property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setFieldOfStudy(String value) {
- this.fieldOfStudy = value;
- }
-
- /**
- * Gets the value of the country property.
- *
- * @return
- * possible object is
- * {@link CountryTextCodeType }
- *
- */
- public CountryTextCodeType getCountry() {
- return country;
- }
-
- /**
- * Sets the value of the country property.
- *
- * @param value
- * allowed object is
- * {@link CountryTextCodeType }
- *
- */
- public void setCountry(CountryTextCodeType value) {
- this.country = value;
- }
-
- /**
- * Gets the value of the receivingInstitutionName property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getReceivingInstitutionName() {
- return receivingInstitutionName;
- }
-
- /**
- * Sets the value of the receivingInstitutionName property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setReceivingInstitutionName(String value) {
- this.receivingInstitutionName = value;
- }
-
- /**
- * Gets the value of the academicYear property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAcademicYear() {
- return academicYear;
- }
-
- /**
- * Sets the value of the academicYear property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAcademicYear(String value) {
- this.academicYear = value;
- }
-
- /**
- * Gets the value of the dateFrom property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getDateFrom() {
- return dateFrom;
- }
-
- /**
- * Sets the value of the dateFrom property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setDateFrom(XMLGregorianCalendar value) {
- this.dateFrom = value;
- }
-
- /**
- * Gets the value of the dateTo property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getDateTo() {
- return dateTo;
- }
-
- /**
- * Sets the value of the dateTo property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setDateTo(XMLGregorianCalendar value) {
- this.dateTo = value;
- }
-
- /**
- * Gets the value of the coursesUnits property.
- *
- * @return
- * possible object is
- * {@link MobilityProgrammeCoursesUnitsType }
- *
- */
- public MobilityProgrammeCoursesUnitsType getCoursesUnits() {
- return coursesUnits;
- }
-
- /**
- * Sets the value of the coursesUnits property.
- *
- * @param value
- * allowed object is
- * {@link MobilityProgrammeCoursesUnitsType }
- *
- */
- public void setCoursesUnits(MobilityProgrammeCoursesUnitsType value) {
- this.coursesUnits = value;
- }
+ @XmlElement(name = "Type")
+ protected String type;
+ @XmlElement(name = "FieldOfStudy")
+ protected String fieldOfStudy;
+ @XmlElement(name = "Country", required = true)
+ protected CountryTextCodeType country;
+ @XmlElement(name = "ReceivingInstitutionName", required = true)
+ protected String receivingInstitutionName;
+ @XmlElement(name = "AcademicYear")
+ protected String academicYear;
+ @XmlElement(name = "DateFrom")
+ protected XMLGregorianCalendar dateFrom;
+ @XmlElement(name = "DateTo")
+ protected XMLGregorianCalendar dateTo;
+ @XmlElement(name = "CoursesUnits", required = true)
+ protected MobilityProgrammeCoursesUnitsType coursesUnits;
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setType(String value) {
+ this.type = value;
+ }
+
+ /**
+ * Gets the value of the fieldOfStudy property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getFieldOfStudy() {
+ return fieldOfStudy;
+ }
+
+ /**
+ * Sets the value of the fieldOfStudy property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setFieldOfStudy(String value) {
+ this.fieldOfStudy = value;
+ }
+
+ /**
+ * Gets the value of the country property.
+ *
+ * @return possible object is {@link CountryTextCodeType }
+ *
+ */
+ public CountryTextCodeType getCountry() {
+ return country;
+ }
+
+ /**
+ * Sets the value of the country property.
+ *
+ * @param value
+ * allowed object is {@link CountryTextCodeType }
+ *
+ */
+ public void setCountry(CountryTextCodeType value) {
+ this.country = value;
+ }
+
+ /**
+ * Gets the value of the receivingInstitutionName property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getReceivingInstitutionName() {
+ return receivingInstitutionName;
+ }
+
+ /**
+ * Sets the value of the receivingInstitutionName property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setReceivingInstitutionName(String value) {
+ this.receivingInstitutionName = value;
+ }
+
+ /**
+ * Gets the value of the academicYear property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAcademicYear() {
+ return academicYear;
+ }
+
+ /**
+ * Sets the value of the academicYear property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAcademicYear(String value) {
+ this.academicYear = value;
+ }
+
+ /**
+ * Gets the value of the dateFrom property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateFrom() {
+ return dateFrom;
+ }
+
+ /**
+ * Sets the value of the dateFrom property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateFrom(XMLGregorianCalendar value) {
+ this.dateFrom = value;
+ }
+
+ /**
+ * Gets the value of the dateTo property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateTo() {
+ return dateTo;
+ }
+
+ /**
+ * Sets the value of the dateTo property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateTo(XMLGregorianCalendar value) {
+ this.dateTo = value;
+ }
+
+ /**
+ * Gets the value of the coursesUnits property.
+ *
+ * @return possible object is {@link MobilityProgrammeCoursesUnitsType }
+ *
+ */
+ public MobilityProgrammeCoursesUnitsType getCoursesUnits() {
+ return coursesUnits;
+ }
+
+ /**
+ * Sets the value of the coursesUnits property.
+ *
+ * @param value
+ * allowed object is {@link MobilityProgrammeCoursesUnitsType }
+ *
+ */
+ public void setCoursesUnits(MobilityProgrammeCoursesUnitsType value) {
+ this.coursesUnits = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ModeOfDeliveryType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ModeOfDeliveryType.java
index bfff6cbda..1eca1ed60 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ModeOfDeliveryType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ModeOfDeliveryType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for ModeOfDeliveryType.
+ * <p>
+ * Java class for ModeOfDeliveryType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="ModeOfDeliveryType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -33,29 +34,27 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum ModeOfDeliveryType {
- @XmlEnumValue("FaceToFace")
- FACE_TO_FACE("FaceToFace"),
- @XmlEnumValue("DistanceLearning")
- DISTANCE_LEARNING("DistanceLearning"),
- @XmlEnumValue("Other")
- OTHER("Other");
- private final String value;
-
- ModeOfDeliveryType(String v) {
- value = v;
- }
-
- public String value() {
- return value;
- }
-
- public static ModeOfDeliveryType fromValue(String v) {
- for (ModeOfDeliveryType c: ModeOfDeliveryType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ @XmlEnumValue("FaceToFace")
+ FACE_TO_FACE("FaceToFace"), @XmlEnumValue("DistanceLearning")
+ DISTANCE_LEARNING("DistanceLearning"), @XmlEnumValue("Other")
+ OTHER("Other");
+ private final String value;
+
+ ModeOfDeliveryType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static ModeOfDeliveryType fromValue(String v) {
+ for (ModeOfDeliveryType c : ModeOfDeliveryType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ModeOfStudyType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ModeOfStudyType.java
index 4d9e43d8d..5a3b5a830 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ModeOfStudyType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ModeOfStudyType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for ModeOfStudyType.
+ * <p>
+ * Java class for ModeOfStudyType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="ModeOfStudyType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -35,33 +36,29 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum ModeOfStudyType {
- @XmlEnumValue("FullTime")
- FULL_TIME("FullTime"),
- @XmlEnumValue("ParTime")
- PAR_TIME("ParTime"),
- @XmlEnumValue("Distance")
- DISTANCE("Distance"),
- @XmlEnumValue("eLearning")
- E_LEARNING("eLearning"),
- @XmlEnumValue("Another")
- ANOTHER("Another");
- private final String value;
+ @XmlEnumValue("FullTime")
+ FULL_TIME("FullTime"), @XmlEnumValue("ParTime")
+ PAR_TIME("ParTime"), @XmlEnumValue("Distance")
+ DISTANCE("Distance"), @XmlEnumValue("eLearning")
+ E_LEARNING("eLearning"), @XmlEnumValue("Another")
+ ANOTHER("Another");
+ private final String value;
- ModeOfStudyType(String v) {
- value = v;
- }
+ ModeOfStudyType(String v) {
+ value = v;
+ }
- public String value() {
- return value;
- }
+ public String value() {
+ return value;
+ }
- public static ModeOfStudyType fromValue(String v) {
- for (ModeOfStudyType c: ModeOfStudyType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ public static ModeOfStudyType fromValue(String v) {
+ for (ModeOfStudyType c : ModeOfStudyType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MultilingualGeneralDiplomaType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MultilingualGeneralDiplomaType.java
index 7a3479a1f..7ffa2f2ea 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MultilingualGeneralDiplomaType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/MultilingualGeneralDiplomaType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -16,11 +15,12 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig.SignatureType;
-
/**
- * <p>Java class for MultilingualGeneralDiplomaType complex type.
+ * <p>
+ * Java class for MultilingualGeneralDiplomaType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="MultilingualGeneralDiplomaType">
@@ -38,73 +38,66 @@ import eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig.SignatureType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "MultilingualGeneralDiplomaType", propOrder = {
- "generalDiploma",
- "signature"
-})
+@XmlType(name = "MultilingualGeneralDiplomaType", propOrder = { "generalDiploma", "signature" })
public class MultilingualGeneralDiplomaType {
- @XmlElement(name = "GeneralDiploma", required = true)
- protected List<GeneralDiplomaType> generalDiploma;
- @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#")
- protected List<SignatureType> signature;
+ @XmlElement(name = "GeneralDiploma", required = true)
+ protected List<GeneralDiplomaType> generalDiploma;
+ @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#")
+ protected List<SignatureType> signature;
- /**
- * Gets the value of the generalDiploma property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the generalDiploma property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getGeneralDiploma().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link GeneralDiplomaType }
- *
- *
- */
- public List<GeneralDiplomaType> getGeneralDiploma() {
- if (generalDiploma == null) {
- generalDiploma = new ArrayList<GeneralDiplomaType>();
- }
- return this.generalDiploma;
- }
+ /**
+ * Gets the value of the generalDiploma property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the generalDiploma property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getGeneralDiploma().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link GeneralDiplomaType }
+ *
+ *
+ */
+ public List<GeneralDiplomaType> getGeneralDiploma() {
+ if (generalDiploma == null) {
+ generalDiploma = new ArrayList<GeneralDiplomaType>();
+ }
+ return this.generalDiploma;
+ }
- /**
- * Gets the value of the signature property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the signature property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getSignature().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link SignatureType }
- *
- *
- */
- public List<SignatureType> getSignature() {
- if (signature == null) {
- signature = new ArrayList<SignatureType>();
- }
- return this.signature;
- }
+ /**
+ * Gets the value of the signature property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the signature property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getSignature().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link SignatureType }
+ *
+ *
+ */
+ public List<SignatureType> getSignature() {
+ if (signature == null) {
+ signature = new ArrayList<SignatureType>();
+ }
+ return this.signature;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/NameAndStatusOfAwardingInstitutionType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/NameAndStatusOfAwardingInstitutionType.java
index 8662aef80..201efce45 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/NameAndStatusOfAwardingInstitutionType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/NameAndStatusOfAwardingInstitutionType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -16,11 +15,12 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for NameAndStatusOfAwardingInstitutionType complex type.
+ * <p>
+ * Java class for NameAndStatusOfAwardingInstitutionType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="NameAndStatusOfAwardingInstitutionType">
@@ -45,98 +45,90 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "NameAndStatusOfAwardingInstitutionType", propOrder = {
- "awardingInstitution"
-})
+@XmlType(name = "NameAndStatusOfAwardingInstitutionType", propOrder = { "awardingInstitution" })
public class NameAndStatusOfAwardingInstitutionType {
- @XmlElement(name = "AwardingInstitution", required = true)
- protected List<NameAndStatusOfAwardingInstitutionType.AwardingInstitution> awardingInstitution;
-
- /**
- * Gets the value of the awardingInstitution property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the awardingInstitution property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getAwardingInstitution().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link NameAndStatusOfAwardingInstitutionType.AwardingInstitution }
- *
- *
- */
- public List<NameAndStatusOfAwardingInstitutionType.AwardingInstitution> getAwardingInstitution() {
- if (awardingInstitution == null) {
- awardingInstitution = new ArrayList<NameAndStatusOfAwardingInstitutionType.AwardingInstitution>();
- }
- return this.awardingInstitution;
- }
+ @XmlElement(name = "AwardingInstitution", required = true)
+ protected List<NameAndStatusOfAwardingInstitutionType.AwardingInstitution> awardingInstitution;
+ /**
+ * Gets the value of the awardingInstitution property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the awardingInstitution property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getAwardingInstitution().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link NameAndStatusOfAwardingInstitutionType.AwardingInstitution }
+ *
+ *
+ */
+ public List<NameAndStatusOfAwardingInstitutionType.AwardingInstitution> getAwardingInstitution() {
+ if (awardingInstitution == null) {
+ awardingInstitution = new ArrayList<NameAndStatusOfAwardingInstitutionType.AwardingInstitution>();
+ }
+ return this.awardingInstitution;
+ }
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}InstitutionType">
- * &lt;attribute name="awardingInstitutionID" type="{http://www.w3.org/2001/XMLSchema}string" default="DEF-IAW" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class AwardingInstitution
- extends InstitutionType
- {
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}InstitutionType">
+ * &lt;attribute name="awardingInstitutionID" type="{http://www.w3.org/2001/XMLSchema}string" default="DEF-IAW" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class AwardingInstitution extends InstitutionType {
- @XmlAttribute(name = "awardingInstitutionID")
- protected String awardingInstitutionID;
+ @XmlAttribute(name = "awardingInstitutionID")
+ protected String awardingInstitutionID;
- /**
- * Gets the value of the awardingInstitutionID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAwardingInstitutionID() {
- if (awardingInstitutionID == null) {
- return "DEF-IAW";
- } else {
- return awardingInstitutionID;
- }
- }
+ /**
+ * Gets the value of the awardingInstitutionID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAwardingInstitutionID() {
+ if (awardingInstitutionID == null) {
+ return "DEF-IAW";
+ } else {
+ return awardingInstitutionID;
+ }
+ }
- /**
- * Sets the value of the awardingInstitutionID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAwardingInstitutionID(String value) {
- this.awardingInstitutionID = value;
- }
+ /**
+ * Sets the value of the awardingInstitutionID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAwardingInstitutionID(String value) {
+ this.awardingInstitutionID = value;
+ }
- }
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/NameAndStatusOfInstitutionAdministeringStudiesType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/NameAndStatusOfInstitutionAdministeringStudiesType.java
index 2ab19b491..c9e07208c 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/NameAndStatusOfInstitutionAdministeringStudiesType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/NameAndStatusOfInstitutionAdministeringStudiesType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -16,11 +15,12 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for NameAndStatusOfInstitutionAdministeringStudiesType complex type.
+ * <p>
+ * Java class for NameAndStatusOfInstitutionAdministeringStudiesType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="NameAndStatusOfInstitutionAdministeringStudiesType">
@@ -45,98 +45,90 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "NameAndStatusOfInstitutionAdministeringStudiesType", propOrder = {
- "institutionAdministeringStudies"
-})
+@XmlType(name = "NameAndStatusOfInstitutionAdministeringStudiesType", propOrder = { "institutionAdministeringStudies" })
public class NameAndStatusOfInstitutionAdministeringStudiesType {
- @XmlElement(name = "InstitutionAdministeringStudies", required = true)
- protected List<NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies> institutionAdministeringStudies;
-
- /**
- * Gets the value of the institutionAdministeringStudies property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the institutionAdministeringStudies property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getInstitutionAdministeringStudies().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies }
- *
- *
- */
- public List<NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies> getInstitutionAdministeringStudies() {
- if (institutionAdministeringStudies == null) {
- institutionAdministeringStudies = new ArrayList<NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies>();
- }
- return this.institutionAdministeringStudies;
- }
+ @XmlElement(name = "InstitutionAdministeringStudies", required = true)
+ protected List<NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies> institutionAdministeringStudies;
+ /**
+ * Gets the value of the institutionAdministeringStudies property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the institutionAdministeringStudies property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getInstitutionAdministeringStudies().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies }
+ *
+ *
+ */
+ public List<NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies> getInstitutionAdministeringStudies() {
+ if (institutionAdministeringStudies == null) {
+ institutionAdministeringStudies = new ArrayList<NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies>();
+ }
+ return this.institutionAdministeringStudies;
+ }
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;complexContent>
- * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}InstitutionType">
- * &lt;attribute name="institutionAdministeringStudiesID" type="{http://www.w3.org/2001/XMLSchema}string" default="DEF-IAS" />
- * &lt;/extension>
- * &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "")
- public static class InstitutionAdministeringStudies
- extends InstitutionType
- {
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma}InstitutionType">
+ * &lt;attribute name="institutionAdministeringStudiesID" type="{http://www.w3.org/2001/XMLSchema}string" default="DEF-IAS" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class InstitutionAdministeringStudies extends InstitutionType {
- @XmlAttribute(name = "institutionAdministeringStudiesID")
- protected String institutionAdministeringStudiesID;
+ @XmlAttribute(name = "institutionAdministeringStudiesID")
+ protected String institutionAdministeringStudiesID;
- /**
- * Gets the value of the institutionAdministeringStudiesID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getInstitutionAdministeringStudiesID() {
- if (institutionAdministeringStudiesID == null) {
- return "DEF-IAS";
- } else {
- return institutionAdministeringStudiesID;
- }
- }
+ /**
+ * Gets the value of the institutionAdministeringStudiesID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getInstitutionAdministeringStudiesID() {
+ if (institutionAdministeringStudiesID == null) {
+ return "DEF-IAS";
+ } else {
+ return institutionAdministeringStudiesID;
+ }
+ }
- /**
- * Sets the value of the institutionAdministeringStudiesID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setInstitutionAdministeringStudiesID(String value) {
- this.institutionAdministeringStudiesID = value;
- }
+ /**
+ * Sets the value of the institutionAdministeringStudiesID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setInstitutionAdministeringStudiesID(String value) {
+ this.institutionAdministeringStudiesID = value;
+ }
- }
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ObjectFactory.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ObjectFactory.java
index 699ca76c7..3e2bbe5c0 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ObjectFactory.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ObjectFactory.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.JAXBElement;
@@ -13,620 +12,612 @@ import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;
-
/**
- * This object contains factory methods for each
- * Java content interface and Java element interface
- * generated in the eu.stork.names.tc.stork._2_0.academic.generaldiploma package.
- * <p>An ObjectFactory allows you to programatically
- * construct new instances of the Java representation
- * for XML content. The Java representation of XML
- * content can consist of schema derived interfaces
- * and classes representing the binding of schema
- * type definitions, element declarations and model
- * groups. Factory methods for each of these are
- * provided in this class.
+ * This object contains factory methods for each Java content interface and Java element interface generated in the eu.stork.names.tc.stork._2_0.academic.generaldiploma package.
+ * <p>
+ * An ObjectFactory allows you to programatically construct new instances of the Java representation for XML content. The Java representation of XML content can consist of schema derived interfaces
+ * and classes representing the binding of schema type definitions, element declarations and model groups. Factory methods for each of these are provided in this class.
*
*/
@XmlRegistry
public class ObjectFactory {
- private final static QName _MultilingualGeneralDiploma_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "MultilingualGeneralDiploma");
- private final static QName _GeneralDiploma_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "GeneralDiploma");
- private final static QName _RichTextTagTypeBreakLine_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "BreakLine");
- private final static QName _RichTextTagTypeAttachedRef_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "AttachedRef");
- private final static QName _RichTextTagTypeItalic_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "Italic");
- private final static QName _RichTextTagTypeUnderline_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "Underline");
- private final static QName _RichTextTagTypeBold_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "Bold");
-
- /**
- * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: eu.stork.names.tc.stork._2_0.academic.generaldiploma
- *
- */
- public ObjectFactory() {
- }
-
- /**
- * Create an instance of {@link LanguagesOfInstructionAndExaminationType }
- *
- */
- public LanguagesOfInstructionAndExaminationType createLanguagesOfInstructionAndExaminationType() {
- return new LanguagesOfInstructionAndExaminationType();
- }
-
- /**
- * Create an instance of {@link RichTextTagType }
- *
- */
- public RichTextTagType createRichTextTagType() {
- return new RichTextTagType();
- }
-
- /**
- * Create an instance of {@link NameAndStatusOfInstitutionAdministeringStudiesType }
- *
- */
- public NameAndStatusOfInstitutionAdministeringStudiesType createNameAndStatusOfInstitutionAdministeringStudiesType() {
- return new NameAndStatusOfInstitutionAdministeringStudiesType();
- }
-
- /**
- * Create an instance of {@link InstitutionType }
- *
- */
- public InstitutionType createInstitutionType() {
- return new InstitutionType();
- }
-
- /**
- * Create an instance of {@link MobilityProgrammeCourseUnitType }
- *
- */
- public MobilityProgrammeCourseUnitType createMobilityProgrammeCourseUnitType() {
- return new MobilityProgrammeCourseUnitType();
- }
-
- /**
- * Create an instance of {@link InformationIdentifyingTheHolderOfTheQualificationType }
- *
- */
- public InformationIdentifyingTheHolderOfTheQualificationType createInformationIdentifyingTheHolderOfTheQualificationType() {
- return new InformationIdentifyingTheHolderOfTheQualificationType();
- }
-
- /**
- * Create an instance of {@link CourseUnitType }
- *
- */
- public CourseUnitType createCourseUnitType() {
- return new CourseUnitType();
- }
-
- /**
- * Create an instance of {@link LocalGradeType }
- *
- */
- public LocalGradeType createLocalGradeType() {
- return new LocalGradeType();
- }
-
- /**
- * Create an instance of {@link InformationOnTheContentsAndResultsGainedType }
- *
- */
- public InformationOnTheContentsAndResultsGainedType createInformationOnTheContentsAndResultsGainedType() {
- return new InformationOnTheContentsAndResultsGainedType();
- }
-
- /**
- * Create an instance of {@link InformationOnTheLevelOfTheQualificationType }
- *
- */
- public InformationOnTheLevelOfTheQualificationType createInformationOnTheLevelOfTheQualificationType() {
- return new InformationOnTheLevelOfTheQualificationType();
- }
-
- /**
- * Create an instance of {@link NameAndStatusOfAwardingInstitutionType }
- *
- */
- public NameAndStatusOfAwardingInstitutionType createNameAndStatusOfAwardingInstitutionType() {
- return new NameAndStatusOfAwardingInstitutionType();
- }
-
- /**
- * Create an instance of {@link InformationOnTheFunctionOfTheQualificationType }
- *
- */
- public InformationOnTheFunctionOfTheQualificationType createInformationOnTheFunctionOfTheQualificationType() {
- return new InformationOnTheFunctionOfTheQualificationType();
- }
-
- /**
- * Create an instance of {@link MultilingualGeneralDiplomaType }
- *
- */
- public MultilingualGeneralDiplomaType createMultilingualGeneralDiplomaType() {
- return new MultilingualGeneralDiplomaType();
- }
-
- /**
- * Create an instance of {@link GeneralDiplomaType }
- *
- */
- public GeneralDiplomaType createGeneralDiplomaType() {
- return new GeneralDiplomaType();
- }
-
- /**
- * Create an instance of {@link ExtensionContentType }
- *
- */
- public ExtensionContentType createExtensionContentType() {
- return new ExtensionContentType();
- }
-
- /**
- * Create an instance of {@link CountryTextCodeType }
- *
- */
- public CountryTextCodeType createCountryTextCodeType() {
- return new CountryTextCodeType();
- }
-
- /**
- * Create an instance of {@link AttachedImageURLType }
- *
- */
- public AttachedImageURLType createAttachedImageURLType() {
- return new AttachedImageURLType();
- }
-
- /**
- * Create an instance of {@link CourseStructureDiagramType }
- *
- */
- public CourseStructureDiagramType createCourseStructureDiagramType() {
- return new CourseStructureDiagramType();
- }
-
- /**
- * Create an instance of {@link CourseUnitWorkPlacementType }
- *
- */
- public CourseUnitWorkPlacementType createCourseUnitWorkPlacementType() {
- return new CourseUnitWorkPlacementType();
- }
-
- /**
- * Create an instance of {@link InformationIdentifyingTheQualificationType }
- *
- */
- public InformationIdentifyingTheQualificationType createInformationIdentifyingTheQualificationType() {
- return new InformationIdentifyingTheQualificationType();
- }
-
- /**
- * Create an instance of {@link MobilityProgrammeCoursesUnitsType }
- *
- */
- public MobilityProgrammeCoursesUnitsType createMobilityProgrammeCoursesUnitsType() {
- return new MobilityProgrammeCoursesUnitsType();
- }
-
- /**
- * Create an instance of {@link QualificationType }
- *
- */
- public QualificationType createQualificationType() {
- return new QualificationType();
- }
-
- /**
- * Create an instance of {@link CertificationOfTheSupplementType }
- *
- */
- public CertificationOfTheSupplementType createCertificationOfTheSupplementType() {
- return new CertificationOfTheSupplementType();
- }
-
- /**
- * Create an instance of {@link AttachedFileURLType }
- *
- */
- public AttachedFileURLType createAttachedFileURLType() {
- return new AttachedFileURLType();
- }
-
- /**
- * Create an instance of {@link ProgrammeRequirementsType }
- *
- */
- public ProgrammeRequirementsType createProgrammeRequirementsType() {
- return new ProgrammeRequirementsType();
- }
-
- /**
- * Create an instance of {@link CourseUnitWorkPlacementsType }
- *
- */
- public CourseUnitWorkPlacementsType createCourseUnitWorkPlacementsType() {
- return new CourseUnitWorkPlacementsType();
- }
-
- /**
- * Create an instance of {@link AdditionalInformationType }
- *
- */
- public AdditionalInformationType createAdditionalInformationType() {
- return new AdditionalInformationType();
- }
-
- /**
- * Create an instance of {@link GradingSchemeAndGradeDistributionGuidanceType }
- *
- */
- public GradingSchemeAndGradeDistributionGuidanceType createGradingSchemeAndGradeDistributionGuidanceType() {
- return new GradingSchemeAndGradeDistributionGuidanceType();
- }
-
- /**
- * Create an instance of {@link AttachmentsType }
- *
- */
- public AttachmentsType createAttachmentsType() {
- return new AttachmentsType();
- }
-
- /**
- * Create an instance of {@link CourseUnitLanguageOfInstructionType }
- *
- */
- public CourseUnitLanguageOfInstructionType createCourseUnitLanguageOfInstructionType() {
- return new CourseUnitLanguageOfInstructionType();
- }
-
- /**
- * Create an instance of {@link CoursesAttendedInOtherInstitutionInMobilityProgramsType }
- *
- */
- public CoursesAttendedInOtherInstitutionInMobilityProgramsType createCoursesAttendedInOtherInstitutionInMobilityProgramsType() {
- return new CoursesAttendedInOtherInstitutionInMobilityProgramsType();
- }
-
- /**
- * Create an instance of {@link FamilyNameType }
- *
- */
- public FamilyNameType createFamilyNameType() {
- return new FamilyNameType();
- }
-
- /**
- * Create an instance of {@link CoursesGroupsType }
- *
- */
- public CoursesGroupsType createCoursesGroupsType() {
- return new CoursesGroupsType();
- }
-
- /**
- * Create an instance of {@link TitleConferredType }
- *
- */
- public TitleConferredType createTitleConferredType() {
- return new TitleConferredType();
- }
-
- /**
- * Create an instance of {@link OfficialStampType }
- *
- */
- public OfficialStampType createOfficialStampType() {
- return new OfficialStampType();
- }
-
- /**
- * Create an instance of {@link CourseUnitStudentPerformanceType }
- *
- */
- public CourseUnitStudentPerformanceType createCourseUnitStudentPerformanceType() {
- return new CourseUnitStudentPerformanceType();
- }
-
- /**
- * Create an instance of {@link GivenNameType }
- *
- */
- public GivenNameType createGivenNameType() {
- return new GivenNameType();
- }
-
- /**
- * Create an instance of {@link CoursesUnitsType }
- *
- */
- public CoursesUnitsType createCoursesUnitsType() {
- return new CoursesUnitsType();
- }
-
- /**
- * Create an instance of {@link MobilityProgrammeType }
- *
- */
- public MobilityProgrammeType createMobilityProgrammeType() {
- return new MobilityProgrammeType();
- }
-
- /**
- * Create an instance of {@link ProgrammeDetailsType }
- *
- */
- public ProgrammeDetailsType createProgrammeDetailsType() {
- return new ProgrammeDetailsType();
- }
-
- /**
- * Create an instance of {@link OfficialCertifyingType }
- *
- */
- public OfficialCertifyingType createOfficialCertifyingType() {
- return new OfficialCertifyingType();
- }
-
- /**
- * Create an instance of {@link CourseUnitLanguagesOfInstructionType }
- *
- */
- public CourseUnitLanguagesOfInstructionType createCourseUnitLanguagesOfInstructionType() {
- return new CourseUnitLanguagesOfInstructionType();
- }
-
- /**
- * Create an instance of {@link AttachedImageDataType }
- *
- */
- public AttachedImageDataType createAttachedImageDataType() {
- return new AttachedImageDataType();
- }
-
- /**
- * Create an instance of {@link AttachedType }
- *
- */
- public AttachedType createAttachedType() {
- return new AttachedType();
- }
-
- /**
- * Create an instance of {@link CoursesGroupType }
- *
- */
- public CoursesGroupType createCoursesGroupType() {
- return new CoursesGroupType();
- }
-
- /**
- * Create an instance of {@link AddressType }
- *
- */
- public AddressType createAddressType() {
- return new AddressType();
- }
-
- /**
- * Create an instance of {@link AttachedFileDataType }
- *
- */
- public AttachedFileDataType createAttachedFileDataType() {
- return new AttachedFileDataType();
- }
-
- /**
- * Create an instance of {@link ContactInformationType }
- *
- */
- public ContactInformationType createContactInformationType() {
- return new ContactInformationType();
- }
-
- /**
- * Create an instance of {@link OfficialsCertifyingType }
- *
- */
- public OfficialsCertifyingType createOfficialsCertifyingType() {
- return new OfficialsCertifyingType();
- }
-
- /**
- * Create an instance of {@link LanguagesOfInstructionAndExaminationType.Language }
- *
- */
- public LanguagesOfInstructionAndExaminationType.Language createLanguagesOfInstructionAndExaminationTypeLanguage() {
- return new LanguagesOfInstructionAndExaminationType.Language();
- }
-
- /**
- * Create an instance of {@link RichTextTagType.AttachedRef }
- *
- */
- public RichTextTagType.AttachedRef createRichTextTagTypeAttachedRef() {
- return new RichTextTagType.AttachedRef();
- }
-
- /**
- * Create an instance of {@link NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies }
- *
- */
- public NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies createNameAndStatusOfInstitutionAdministeringStudiesTypeInstitutionAdministeringStudies() {
- return new NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies();
- }
-
- /**
- * Create an instance of {@link InstitutionType.AttachedImageRef }
- *
- */
- public InstitutionType.AttachedImageRef createInstitutionTypeAttachedImageRef() {
- return new InstitutionType.AttachedImageRef();
- }
-
- /**
- * Create an instance of {@link MobilityProgrammeCourseUnitType.Title }
- *
- */
- public MobilityProgrammeCourseUnitType.Title createMobilityProgrammeCourseUnitTypeTitle() {
- return new MobilityProgrammeCourseUnitType.Title();
- }
-
- /**
- * Create an instance of {@link InformationIdentifyingTheHolderOfTheQualificationType.Gender }
- *
- */
- public InformationIdentifyingTheHolderOfTheQualificationType.Gender createInformationIdentifyingTheHolderOfTheQualificationTypeGender() {
- return new InformationIdentifyingTheHolderOfTheQualificationType.Gender();
- }
-
- /**
- * Create an instance of {@link CourseUnitType.Type }
- *
- */
- public CourseUnitType.Type createCourseUnitTypeType() {
- return new CourseUnitType.Type();
- }
-
- /**
- * Create an instance of {@link CourseUnitType.YearOfStudy }
- *
- */
- public CourseUnitType.YearOfStudy createCourseUnitTypeYearOfStudy() {
- return new CourseUnitType.YearOfStudy();
- }
-
- /**
- * Create an instance of {@link CourseUnitType.Level }
- *
- */
- public CourseUnitType.Level createCourseUnitTypeLevel() {
- return new CourseUnitType.Level();
- }
-
- /**
- * Create an instance of {@link CourseUnitType.ModeOfDelivery }
- *
- */
- public CourseUnitType.ModeOfDelivery createCourseUnitTypeModeOfDelivery() {
- return new CourseUnitType.ModeOfDelivery();
- }
-
- /**
- * Create an instance of {@link LocalGradeType.Source }
- *
- */
- public LocalGradeType.Source createLocalGradeTypeSource() {
- return new LocalGradeType.Source();
- }
-
- /**
- * Create an instance of {@link InformationOnTheContentsAndResultsGainedType.ModeOfStudy }
- *
- */
- public InformationOnTheContentsAndResultsGainedType.ModeOfStudy createInformationOnTheContentsAndResultsGainedTypeModeOfStudy() {
- return new InformationOnTheContentsAndResultsGainedType.ModeOfStudy();
- }
-
- /**
- * Create an instance of {@link InformationOnTheLevelOfTheQualificationType.Level }
- *
- */
- public InformationOnTheLevelOfTheQualificationType.Level createInformationOnTheLevelOfTheQualificationTypeLevel() {
- return new InformationOnTheLevelOfTheQualificationType.Level();
- }
-
- /**
- * Create an instance of {@link InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme }
- *
- */
- public InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme createInformationOnTheLevelOfTheQualificationTypeOfficialLengthOfProgramme() {
- return new InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme();
- }
-
- /**
- * Create an instance of {@link NameAndStatusOfAwardingInstitutionType.AwardingInstitution }
- *
- */
- public NameAndStatusOfAwardingInstitutionType.AwardingInstitution createNameAndStatusOfAwardingInstitutionTypeAwardingInstitution() {
- return new NameAndStatusOfAwardingInstitutionType.AwardingInstitution();
- }
-
- /**
- * Create an instance of {@link InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus }
- *
- */
- public InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus createInformationOnTheFunctionOfTheQualificationTypeProfessionalStatus() {
- return new InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus();
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link MultilingualGeneralDiplomaType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "MultilingualGeneralDiploma")
- public JAXBElement<MultilingualGeneralDiplomaType> createMultilingualGeneralDiploma(MultilingualGeneralDiplomaType value) {
- return new JAXBElement<MultilingualGeneralDiplomaType>(_MultilingualGeneralDiploma_QNAME, MultilingualGeneralDiplomaType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link GeneralDiplomaType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "GeneralDiploma")
- public JAXBElement<GeneralDiplomaType> createGeneralDiploma(GeneralDiplomaType value) {
- return new JAXBElement<GeneralDiplomaType>(_GeneralDiploma_QNAME, GeneralDiplomaType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "BreakLine", scope = RichTextTagType.class)
- public JAXBElement<String> createRichTextTagTypeBreakLine(String value) {
- return new JAXBElement<String>(_RichTextTagTypeBreakLine_QNAME, String.class, RichTextTagType.class, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link RichTextTagType.AttachedRef }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "AttachedRef", scope = RichTextTagType.class)
- public JAXBElement<RichTextTagType.AttachedRef> createRichTextTagTypeAttachedRef(RichTextTagType.AttachedRef value) {
- return new JAXBElement<RichTextTagType.AttachedRef>(_RichTextTagTypeAttachedRef_QNAME, RichTextTagType.AttachedRef.class, RichTextTagType.class, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "Italic", scope = RichTextTagType.class)
- public JAXBElement<String> createRichTextTagTypeItalic(String value) {
- return new JAXBElement<String>(_RichTextTagTypeItalic_QNAME, String.class, RichTextTagType.class, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "Underline", scope = RichTextTagType.class)
- public JAXBElement<String> createRichTextTagTypeUnderline(String value) {
- return new JAXBElement<String>(_RichTextTagTypeUnderline_QNAME, String.class, RichTextTagType.class, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "Bold", scope = RichTextTagType.class)
- public JAXBElement<String> createRichTextTagTypeBold(String value) {
- return new JAXBElement<String>(_RichTextTagTypeBold_QNAME, String.class, RichTextTagType.class, value);
- }
+ private final static QName _MultilingualGeneralDiploma_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "MultilingualGeneralDiploma");
+ private final static QName _GeneralDiploma_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "GeneralDiploma");
+ private final static QName _RichTextTagTypeBreakLine_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "BreakLine");
+ private final static QName _RichTextTagTypeAttachedRef_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "AttachedRef");
+ private final static QName _RichTextTagTypeItalic_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "Italic");
+ private final static QName _RichTextTagTypeUnderline_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "Underline");
+ private final static QName _RichTextTagTypeBold_QNAME = new QName("urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", "Bold");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: eu.stork.names.tc.stork._2_0.academic.generaldiploma
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link LanguagesOfInstructionAndExaminationType }
+ *
+ */
+ public LanguagesOfInstructionAndExaminationType createLanguagesOfInstructionAndExaminationType() {
+ return new LanguagesOfInstructionAndExaminationType();
+ }
+
+ /**
+ * Create an instance of {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType createRichTextTagType() {
+ return new RichTextTagType();
+ }
+
+ /**
+ * Create an instance of {@link NameAndStatusOfInstitutionAdministeringStudiesType }
+ *
+ */
+ public NameAndStatusOfInstitutionAdministeringStudiesType createNameAndStatusOfInstitutionAdministeringStudiesType() {
+ return new NameAndStatusOfInstitutionAdministeringStudiesType();
+ }
+
+ /**
+ * Create an instance of {@link InstitutionType }
+ *
+ */
+ public InstitutionType createInstitutionType() {
+ return new InstitutionType();
+ }
+
+ /**
+ * Create an instance of {@link MobilityProgrammeCourseUnitType }
+ *
+ */
+ public MobilityProgrammeCourseUnitType createMobilityProgrammeCourseUnitType() {
+ return new MobilityProgrammeCourseUnitType();
+ }
+
+ /**
+ * Create an instance of {@link InformationIdentifyingTheHolderOfTheQualificationType }
+ *
+ */
+ public InformationIdentifyingTheHolderOfTheQualificationType createInformationIdentifyingTheHolderOfTheQualificationType() {
+ return new InformationIdentifyingTheHolderOfTheQualificationType();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitType }
+ *
+ */
+ public CourseUnitType createCourseUnitType() {
+ return new CourseUnitType();
+ }
+
+ /**
+ * Create an instance of {@link LocalGradeType }
+ *
+ */
+ public LocalGradeType createLocalGradeType() {
+ return new LocalGradeType();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheContentsAndResultsGainedType }
+ *
+ */
+ public InformationOnTheContentsAndResultsGainedType createInformationOnTheContentsAndResultsGainedType() {
+ return new InformationOnTheContentsAndResultsGainedType();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheLevelOfTheQualificationType }
+ *
+ */
+ public InformationOnTheLevelOfTheQualificationType createInformationOnTheLevelOfTheQualificationType() {
+ return new InformationOnTheLevelOfTheQualificationType();
+ }
+
+ /**
+ * Create an instance of {@link NameAndStatusOfAwardingInstitutionType }
+ *
+ */
+ public NameAndStatusOfAwardingInstitutionType createNameAndStatusOfAwardingInstitutionType() {
+ return new NameAndStatusOfAwardingInstitutionType();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheFunctionOfTheQualificationType }
+ *
+ */
+ public InformationOnTheFunctionOfTheQualificationType createInformationOnTheFunctionOfTheQualificationType() {
+ return new InformationOnTheFunctionOfTheQualificationType();
+ }
+
+ /**
+ * Create an instance of {@link MultilingualGeneralDiplomaType }
+ *
+ */
+ public MultilingualGeneralDiplomaType createMultilingualGeneralDiplomaType() {
+ return new MultilingualGeneralDiplomaType();
+ }
+
+ /**
+ * Create an instance of {@link GeneralDiplomaType }
+ *
+ */
+ public GeneralDiplomaType createGeneralDiplomaType() {
+ return new GeneralDiplomaType();
+ }
+
+ /**
+ * Create an instance of {@link ExtensionContentType }
+ *
+ */
+ public ExtensionContentType createExtensionContentType() {
+ return new ExtensionContentType();
+ }
+
+ /**
+ * Create an instance of {@link CountryTextCodeType }
+ *
+ */
+ public CountryTextCodeType createCountryTextCodeType() {
+ return new CountryTextCodeType();
+ }
+
+ /**
+ * Create an instance of {@link AttachedImageURLType }
+ *
+ */
+ public AttachedImageURLType createAttachedImageURLType() {
+ return new AttachedImageURLType();
+ }
+
+ /**
+ * Create an instance of {@link CourseStructureDiagramType }
+ *
+ */
+ public CourseStructureDiagramType createCourseStructureDiagramType() {
+ return new CourseStructureDiagramType();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitWorkPlacementType }
+ *
+ */
+ public CourseUnitWorkPlacementType createCourseUnitWorkPlacementType() {
+ return new CourseUnitWorkPlacementType();
+ }
+
+ /**
+ * Create an instance of {@link InformationIdentifyingTheQualificationType }
+ *
+ */
+ public InformationIdentifyingTheQualificationType createInformationIdentifyingTheQualificationType() {
+ return new InformationIdentifyingTheQualificationType();
+ }
+
+ /**
+ * Create an instance of {@link MobilityProgrammeCoursesUnitsType }
+ *
+ */
+ public MobilityProgrammeCoursesUnitsType createMobilityProgrammeCoursesUnitsType() {
+ return new MobilityProgrammeCoursesUnitsType();
+ }
+
+ /**
+ * Create an instance of {@link QualificationType }
+ *
+ */
+ public QualificationType createQualificationType() {
+ return new QualificationType();
+ }
+
+ /**
+ * Create an instance of {@link CertificationOfTheSupplementType }
+ *
+ */
+ public CertificationOfTheSupplementType createCertificationOfTheSupplementType() {
+ return new CertificationOfTheSupplementType();
+ }
+
+ /**
+ * Create an instance of {@link AttachedFileURLType }
+ *
+ */
+ public AttachedFileURLType createAttachedFileURLType() {
+ return new AttachedFileURLType();
+ }
+
+ /**
+ * Create an instance of {@link ProgrammeRequirementsType }
+ *
+ */
+ public ProgrammeRequirementsType createProgrammeRequirementsType() {
+ return new ProgrammeRequirementsType();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitWorkPlacementsType }
+ *
+ */
+ public CourseUnitWorkPlacementsType createCourseUnitWorkPlacementsType() {
+ return new CourseUnitWorkPlacementsType();
+ }
+
+ /**
+ * Create an instance of {@link AdditionalInformationType }
+ *
+ */
+ public AdditionalInformationType createAdditionalInformationType() {
+ return new AdditionalInformationType();
+ }
+
+ /**
+ * Create an instance of {@link GradingSchemeAndGradeDistributionGuidanceType }
+ *
+ */
+ public GradingSchemeAndGradeDistributionGuidanceType createGradingSchemeAndGradeDistributionGuidanceType() {
+ return new GradingSchemeAndGradeDistributionGuidanceType();
+ }
+
+ /**
+ * Create an instance of {@link AttachmentsType }
+ *
+ */
+ public AttachmentsType createAttachmentsType() {
+ return new AttachmentsType();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitLanguageOfInstructionType }
+ *
+ */
+ public CourseUnitLanguageOfInstructionType createCourseUnitLanguageOfInstructionType() {
+ return new CourseUnitLanguageOfInstructionType();
+ }
+
+ /**
+ * Create an instance of {@link CoursesAttendedInOtherInstitutionInMobilityProgramsType }
+ *
+ */
+ public CoursesAttendedInOtherInstitutionInMobilityProgramsType createCoursesAttendedInOtherInstitutionInMobilityProgramsType() {
+ return new CoursesAttendedInOtherInstitutionInMobilityProgramsType();
+ }
+
+ /**
+ * Create an instance of {@link FamilyNameType }
+ *
+ */
+ public FamilyNameType createFamilyNameType() {
+ return new FamilyNameType();
+ }
+
+ /**
+ * Create an instance of {@link CoursesGroupsType }
+ *
+ */
+ public CoursesGroupsType createCoursesGroupsType() {
+ return new CoursesGroupsType();
+ }
+
+ /**
+ * Create an instance of {@link TitleConferredType }
+ *
+ */
+ public TitleConferredType createTitleConferredType() {
+ return new TitleConferredType();
+ }
+
+ /**
+ * Create an instance of {@link OfficialStampType }
+ *
+ */
+ public OfficialStampType createOfficialStampType() {
+ return new OfficialStampType();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitStudentPerformanceType }
+ *
+ */
+ public CourseUnitStudentPerformanceType createCourseUnitStudentPerformanceType() {
+ return new CourseUnitStudentPerformanceType();
+ }
+
+ /**
+ * Create an instance of {@link GivenNameType }
+ *
+ */
+ public GivenNameType createGivenNameType() {
+ return new GivenNameType();
+ }
+
+ /**
+ * Create an instance of {@link CoursesUnitsType }
+ *
+ */
+ public CoursesUnitsType createCoursesUnitsType() {
+ return new CoursesUnitsType();
+ }
+
+ /**
+ * Create an instance of {@link MobilityProgrammeType }
+ *
+ */
+ public MobilityProgrammeType createMobilityProgrammeType() {
+ return new MobilityProgrammeType();
+ }
+
+ /**
+ * Create an instance of {@link ProgrammeDetailsType }
+ *
+ */
+ public ProgrammeDetailsType createProgrammeDetailsType() {
+ return new ProgrammeDetailsType();
+ }
+
+ /**
+ * Create an instance of {@link OfficialCertifyingType }
+ *
+ */
+ public OfficialCertifyingType createOfficialCertifyingType() {
+ return new OfficialCertifyingType();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitLanguagesOfInstructionType }
+ *
+ */
+ public CourseUnitLanguagesOfInstructionType createCourseUnitLanguagesOfInstructionType() {
+ return new CourseUnitLanguagesOfInstructionType();
+ }
+
+ /**
+ * Create an instance of {@link AttachedImageDataType }
+ *
+ */
+ public AttachedImageDataType createAttachedImageDataType() {
+ return new AttachedImageDataType();
+ }
+
+ /**
+ * Create an instance of {@link AttachedType }
+ *
+ */
+ public AttachedType createAttachedType() {
+ return new AttachedType();
+ }
+
+ /**
+ * Create an instance of {@link CoursesGroupType }
+ *
+ */
+ public CoursesGroupType createCoursesGroupType() {
+ return new CoursesGroupType();
+ }
+
+ /**
+ * Create an instance of {@link AddressType }
+ *
+ */
+ public AddressType createAddressType() {
+ return new AddressType();
+ }
+
+ /**
+ * Create an instance of {@link AttachedFileDataType }
+ *
+ */
+ public AttachedFileDataType createAttachedFileDataType() {
+ return new AttachedFileDataType();
+ }
+
+ /**
+ * Create an instance of {@link ContactInformationType }
+ *
+ */
+ public ContactInformationType createContactInformationType() {
+ return new ContactInformationType();
+ }
+
+ /**
+ * Create an instance of {@link OfficialsCertifyingType }
+ *
+ */
+ public OfficialsCertifyingType createOfficialsCertifyingType() {
+ return new OfficialsCertifyingType();
+ }
+
+ /**
+ * Create an instance of {@link LanguagesOfInstructionAndExaminationType.Language }
+ *
+ */
+ public LanguagesOfInstructionAndExaminationType.Language createLanguagesOfInstructionAndExaminationTypeLanguage() {
+ return new LanguagesOfInstructionAndExaminationType.Language();
+ }
+
+ /**
+ * Create an instance of {@link RichTextTagType.AttachedRef }
+ *
+ */
+ public RichTextTagType.AttachedRef createRichTextTagTypeAttachedRef() {
+ return new RichTextTagType.AttachedRef();
+ }
+
+ /**
+ * Create an instance of {@link NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies }
+ *
+ */
+ public NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies createNameAndStatusOfInstitutionAdministeringStudiesTypeInstitutionAdministeringStudies() {
+ return new NameAndStatusOfInstitutionAdministeringStudiesType.InstitutionAdministeringStudies();
+ }
+
+ /**
+ * Create an instance of {@link InstitutionType.AttachedImageRef }
+ *
+ */
+ public InstitutionType.AttachedImageRef createInstitutionTypeAttachedImageRef() {
+ return new InstitutionType.AttachedImageRef();
+ }
+
+ /**
+ * Create an instance of {@link MobilityProgrammeCourseUnitType.Title }
+ *
+ */
+ public MobilityProgrammeCourseUnitType.Title createMobilityProgrammeCourseUnitTypeTitle() {
+ return new MobilityProgrammeCourseUnitType.Title();
+ }
+
+ /**
+ * Create an instance of {@link InformationIdentifyingTheHolderOfTheQualificationType.Gender }
+ *
+ */
+ public InformationIdentifyingTheHolderOfTheQualificationType.Gender createInformationIdentifyingTheHolderOfTheQualificationTypeGender() {
+ return new InformationIdentifyingTheHolderOfTheQualificationType.Gender();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitType.Type }
+ *
+ */
+ public CourseUnitType.Type createCourseUnitTypeType() {
+ return new CourseUnitType.Type();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitType.YearOfStudy }
+ *
+ */
+ public CourseUnitType.YearOfStudy createCourseUnitTypeYearOfStudy() {
+ return new CourseUnitType.YearOfStudy();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitType.Level }
+ *
+ */
+ public CourseUnitType.Level createCourseUnitTypeLevel() {
+ return new CourseUnitType.Level();
+ }
+
+ /**
+ * Create an instance of {@link CourseUnitType.ModeOfDelivery }
+ *
+ */
+ public CourseUnitType.ModeOfDelivery createCourseUnitTypeModeOfDelivery() {
+ return new CourseUnitType.ModeOfDelivery();
+ }
+
+ /**
+ * Create an instance of {@link LocalGradeType.Source }
+ *
+ */
+ public LocalGradeType.Source createLocalGradeTypeSource() {
+ return new LocalGradeType.Source();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheContentsAndResultsGainedType.ModeOfStudy }
+ *
+ */
+ public InformationOnTheContentsAndResultsGainedType.ModeOfStudy createInformationOnTheContentsAndResultsGainedTypeModeOfStudy() {
+ return new InformationOnTheContentsAndResultsGainedType.ModeOfStudy();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheLevelOfTheQualificationType.Level }
+ *
+ */
+ public InformationOnTheLevelOfTheQualificationType.Level createInformationOnTheLevelOfTheQualificationTypeLevel() {
+ return new InformationOnTheLevelOfTheQualificationType.Level();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme }
+ *
+ */
+ public InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme createInformationOnTheLevelOfTheQualificationTypeOfficialLengthOfProgramme() {
+ return new InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme();
+ }
+
+ /**
+ * Create an instance of {@link NameAndStatusOfAwardingInstitutionType.AwardingInstitution }
+ *
+ */
+ public NameAndStatusOfAwardingInstitutionType.AwardingInstitution createNameAndStatusOfAwardingInstitutionTypeAwardingInstitution() {
+ return new NameAndStatusOfAwardingInstitutionType.AwardingInstitution();
+ }
+
+ /**
+ * Create an instance of {@link InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus }
+ *
+ */
+ public InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus createInformationOnTheFunctionOfTheQualificationTypeProfessionalStatus() {
+ return new InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MultilingualGeneralDiplomaType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "MultilingualGeneralDiploma")
+ public JAXBElement<MultilingualGeneralDiplomaType> createMultilingualGeneralDiploma(MultilingualGeneralDiplomaType value) {
+ return new JAXBElement<MultilingualGeneralDiplomaType>(_MultilingualGeneralDiploma_QNAME, MultilingualGeneralDiplomaType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link GeneralDiplomaType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "GeneralDiploma")
+ public JAXBElement<GeneralDiplomaType> createGeneralDiploma(GeneralDiplomaType value) {
+ return new JAXBElement<GeneralDiplomaType>(_GeneralDiploma_QNAME, GeneralDiplomaType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "BreakLine", scope = RichTextTagType.class)
+ public JAXBElement<String> createRichTextTagTypeBreakLine(String value) {
+ return new JAXBElement<String>(_RichTextTagTypeBreakLine_QNAME, String.class, RichTextTagType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link RichTextTagType.AttachedRef }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "AttachedRef", scope = RichTextTagType.class)
+ public JAXBElement<RichTextTagType.AttachedRef> createRichTextTagTypeAttachedRef(RichTextTagType.AttachedRef value) {
+ return new JAXBElement<RichTextTagType.AttachedRef>(_RichTextTagTypeAttachedRef_QNAME, RichTextTagType.AttachedRef.class, RichTextTagType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "Italic", scope = RichTextTagType.class)
+ public JAXBElement<String> createRichTextTagTypeItalic(String value) {
+ return new JAXBElement<String>(_RichTextTagTypeItalic_QNAME, String.class, RichTextTagType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "Underline", scope = RichTextTagType.class)
+ public JAXBElement<String> createRichTextTagTypeUnderline(String value) {
+ return new JAXBElement<String>(_RichTextTagTypeUnderline_QNAME, String.class, RichTextTagType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", name = "Bold", scope = RichTextTagType.class)
+ public JAXBElement<String> createRichTextTagTypeBold(String value) {
+ return new JAXBElement<String>(_RichTextTagTypeBold_QNAME, String.class, RichTextTagType.class, value);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialCertifyingType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialCertifyingType.java
index 6564cad3a..a53e855d1 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialCertifyingType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialCertifyingType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,11 +13,12 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for OfficialCertifyingType complex type.
+ * <p>
+ * Java class for OfficialCertifyingType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="OfficialCertifyingType">
@@ -38,120 +38,104 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "OfficialCertifyingType", propOrder = {
- "familyName",
- "givenName",
- "capacity"
-})
+@XmlType(name = "OfficialCertifyingType", propOrder = { "familyName", "givenName", "capacity" })
public class OfficialCertifyingType {
- @XmlElement(name = "FamilyName", required = true)
- protected FamilyNameType familyName;
- @XmlElement(name = "GivenName", required = true)
- protected GivenNameType givenName;
- @XmlElement(name = "Capacity")
- protected String capacity;
- @XmlAttribute(name = "awardingInstitutionID")
- protected String awardingInstitutionID;
+ @XmlElement(name = "FamilyName", required = true)
+ protected FamilyNameType familyName;
+ @XmlElement(name = "GivenName", required = true)
+ protected GivenNameType givenName;
+ @XmlElement(name = "Capacity")
+ protected String capacity;
+ @XmlAttribute(name = "awardingInstitutionID")
+ protected String awardingInstitutionID;
- /**
- * Gets the value of the familyName property.
- *
- * @return
- * possible object is
- * {@link FamilyNameType }
- *
- */
- public FamilyNameType getFamilyName() {
- return familyName;
- }
+ /**
+ * Gets the value of the familyName property.
+ *
+ * @return possible object is {@link FamilyNameType }
+ *
+ */
+ public FamilyNameType getFamilyName() {
+ return familyName;
+ }
- /**
- * Sets the value of the familyName property.
- *
- * @param value
- * allowed object is
- * {@link FamilyNameType }
- *
- */
- public void setFamilyName(FamilyNameType value) {
- this.familyName = value;
- }
+ /**
+ * Sets the value of the familyName property.
+ *
+ * @param value
+ * allowed object is {@link FamilyNameType }
+ *
+ */
+ public void setFamilyName(FamilyNameType value) {
+ this.familyName = value;
+ }
- /**
- * Gets the value of the givenName property.
- *
- * @return
- * possible object is
- * {@link GivenNameType }
- *
- */
- public GivenNameType getGivenName() {
- return givenName;
- }
+ /**
+ * Gets the value of the givenName property.
+ *
+ * @return possible object is {@link GivenNameType }
+ *
+ */
+ public GivenNameType getGivenName() {
+ return givenName;
+ }
- /**
- * Sets the value of the givenName property.
- *
- * @param value
- * allowed object is
- * {@link GivenNameType }
- *
- */
- public void setGivenName(GivenNameType value) {
- this.givenName = value;
- }
+ /**
+ * Sets the value of the givenName property.
+ *
+ * @param value
+ * allowed object is {@link GivenNameType }
+ *
+ */
+ public void setGivenName(GivenNameType value) {
+ this.givenName = value;
+ }
- /**
- * Gets the value of the capacity property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getCapacity() {
- return capacity;
- }
+ /**
+ * Gets the value of the capacity property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCapacity() {
+ return capacity;
+ }
- /**
- * Sets the value of the capacity property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setCapacity(String value) {
- this.capacity = value;
- }
+ /**
+ * Sets the value of the capacity property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCapacity(String value) {
+ this.capacity = value;
+ }
- /**
- * Gets the value of the awardingInstitutionID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAwardingInstitutionID() {
- if (awardingInstitutionID == null) {
- return "DEF-IAW";
- } else {
- return awardingInstitutionID;
- }
- }
+ /**
+ * Gets the value of the awardingInstitutionID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAwardingInstitutionID() {
+ if (awardingInstitutionID == null) {
+ return "DEF-IAW";
+ } else {
+ return awardingInstitutionID;
+ }
+ }
- /**
- * Sets the value of the awardingInstitutionID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAwardingInstitutionID(String value) {
- this.awardingInstitutionID = value;
- }
+ /**
+ * Sets the value of the awardingInstitutionID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAwardingInstitutionID(String value) {
+ this.awardingInstitutionID = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialStampType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialStampType.java
index 61966f341..df1051a7c 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialStampType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialStampType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,11 +13,12 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for OfficialStampType complex type.
+ * <p>
+ * Java class for OfficialStampType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="OfficialStampType">
@@ -36,66 +36,58 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "OfficialStampType", propOrder = {
- "description"
-})
+@XmlType(name = "OfficialStampType", propOrder = { "description" })
public class OfficialStampType {
- @XmlElement(name = "Description", required = true)
- protected String description;
- @XmlAttribute(name = "awardingInstitutionID")
- protected String awardingInstitutionID;
+ @XmlElement(name = "Description", required = true)
+ protected String description;
+ @XmlAttribute(name = "awardingInstitutionID")
+ protected String awardingInstitutionID;
- /**
- * Gets the value of the description property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getDescription() {
- return description;
- }
+ /**
+ * Gets the value of the description property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
- /**
- * Sets the value of the description property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setDescription(String value) {
- this.description = value;
- }
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
- /**
- * Gets the value of the awardingInstitutionID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAwardingInstitutionID() {
- if (awardingInstitutionID == null) {
- return "DEF-IAW";
- } else {
- return awardingInstitutionID;
- }
- }
+ /**
+ * Gets the value of the awardingInstitutionID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAwardingInstitutionID() {
+ if (awardingInstitutionID == null) {
+ return "DEF-IAW";
+ } else {
+ return awardingInstitutionID;
+ }
+ }
- /**
- * Sets the value of the awardingInstitutionID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAwardingInstitutionID(String value) {
- this.awardingInstitutionID = value;
- }
+ /**
+ * Sets the value of the awardingInstitutionID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAwardingInstitutionID(String value) {
+ this.awardingInstitutionID = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialsCertifyingType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialsCertifyingType.java
index dbb17d0bc..1760eddb3 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialsCertifyingType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/OfficialsCertifyingType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for OfficialsCertifyingType complex type.
+ * <p>
+ * Java class for OfficialsCertifyingType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="OfficialsCertifyingType">
@@ -36,41 +36,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "OfficialsCertifyingType", propOrder = {
- "officialCertifying"
-})
+@XmlType(name = "OfficialsCertifyingType", propOrder = { "officialCertifying" })
public class OfficialsCertifyingType {
- @XmlElement(name = "OfficialCertifying", required = true)
- protected List<OfficialCertifyingType> officialCertifying;
+ @XmlElement(name = "OfficialCertifying", required = true)
+ protected List<OfficialCertifyingType> officialCertifying;
- /**
- * Gets the value of the officialCertifying property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the officialCertifying property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getOfficialCertifying().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link OfficialCertifyingType }
- *
- *
- */
- public List<OfficialCertifyingType> getOfficialCertifying() {
- if (officialCertifying == null) {
- officialCertifying = new ArrayList<OfficialCertifyingType>();
- }
- return this.officialCertifying;
- }
+ /**
+ * Gets the value of the officialCertifying property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the officialCertifying property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getOfficialCertifying().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link OfficialCertifyingType }
+ *
+ *
+ */
+ public List<OfficialCertifyingType> getOfficialCertifying() {
+ if (officialCertifying == null) {
+ officialCertifying = new ArrayList<OfficialCertifyingType>();
+ }
+ return this.officialCertifying;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ProgrammeDetailsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ProgrammeDetailsType.java
index c5255c9ee..58d96bfe2 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ProgrammeDetailsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ProgrammeDetailsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for ProgrammeDetailsType complex type.
+ * <p>
+ * Java class for ProgrammeDetailsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ProgrammeDetailsType">
@@ -35,63 +35,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "ProgrammeDetailsType", propOrder = {
- "courseStructureDiagram",
- "coursesAttendedInOtherInstitutionInMobilityPrograms"
-})
+@XmlType(name = "ProgrammeDetailsType", propOrder = { "courseStructureDiagram", "coursesAttendedInOtherInstitutionInMobilityPrograms" })
public class ProgrammeDetailsType {
- @XmlElement(name = "CourseStructureDiagram", required = true)
- protected CourseStructureDiagramType courseStructureDiagram;
- @XmlElement(name = "CoursesAttendedInOtherInstitutionInMobilityPrograms")
- protected CoursesAttendedInOtherInstitutionInMobilityProgramsType coursesAttendedInOtherInstitutionInMobilityPrograms;
+ @XmlElement(name = "CourseStructureDiagram", required = true)
+ protected CourseStructureDiagramType courseStructureDiagram;
+ @XmlElement(name = "CoursesAttendedInOtherInstitutionInMobilityPrograms")
+ protected CoursesAttendedInOtherInstitutionInMobilityProgramsType coursesAttendedInOtherInstitutionInMobilityPrograms;
- /**
- * Gets the value of the courseStructureDiagram property.
- *
- * @return
- * possible object is
- * {@link CourseStructureDiagramType }
- *
- */
- public CourseStructureDiagramType getCourseStructureDiagram() {
- return courseStructureDiagram;
- }
+ /**
+ * Gets the value of the courseStructureDiagram property.
+ *
+ * @return possible object is {@link CourseStructureDiagramType }
+ *
+ */
+ public CourseStructureDiagramType getCourseStructureDiagram() {
+ return courseStructureDiagram;
+ }
- /**
- * Sets the value of the courseStructureDiagram property.
- *
- * @param value
- * allowed object is
- * {@link CourseStructureDiagramType }
- *
- */
- public void setCourseStructureDiagram(CourseStructureDiagramType value) {
- this.courseStructureDiagram = value;
- }
+ /**
+ * Sets the value of the courseStructureDiagram property.
+ *
+ * @param value
+ * allowed object is {@link CourseStructureDiagramType }
+ *
+ */
+ public void setCourseStructureDiagram(CourseStructureDiagramType value) {
+ this.courseStructureDiagram = value;
+ }
- /**
- * Gets the value of the coursesAttendedInOtherInstitutionInMobilityPrograms property.
- *
- * @return
- * possible object is
- * {@link CoursesAttendedInOtherInstitutionInMobilityProgramsType }
- *
- */
- public CoursesAttendedInOtherInstitutionInMobilityProgramsType getCoursesAttendedInOtherInstitutionInMobilityPrograms() {
- return coursesAttendedInOtherInstitutionInMobilityPrograms;
- }
+ /**
+ * Gets the value of the coursesAttendedInOtherInstitutionInMobilityPrograms property.
+ *
+ * @return possible object is {@link CoursesAttendedInOtherInstitutionInMobilityProgramsType }
+ *
+ */
+ public CoursesAttendedInOtherInstitutionInMobilityProgramsType getCoursesAttendedInOtherInstitutionInMobilityPrograms() {
+ return coursesAttendedInOtherInstitutionInMobilityPrograms;
+ }
- /**
- * Sets the value of the coursesAttendedInOtherInstitutionInMobilityPrograms property.
- *
- * @param value
- * allowed object is
- * {@link CoursesAttendedInOtherInstitutionInMobilityProgramsType }
- *
- */
- public void setCoursesAttendedInOtherInstitutionInMobilityPrograms(CoursesAttendedInOtherInstitutionInMobilityProgramsType value) {
- this.coursesAttendedInOtherInstitutionInMobilityPrograms = value;
- }
+ /**
+ * Sets the value of the coursesAttendedInOtherInstitutionInMobilityPrograms property.
+ *
+ * @param value
+ * allowed object is {@link CoursesAttendedInOtherInstitutionInMobilityProgramsType }
+ *
+ */
+ public void setCoursesAttendedInOtherInstitutionInMobilityPrograms(CoursesAttendedInOtherInstitutionInMobilityProgramsType value) {
+ this.coursesAttendedInOtherInstitutionInMobilityPrograms = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ProgrammeRequirementsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ProgrammeRequirementsType.java
index fac1755c3..a0481317d 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ProgrammeRequirementsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/ProgrammeRequirementsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for ProgrammeRequirementsType complex type.
+ * <p>
+ * Java class for ProgrammeRequirementsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ProgrammeRequirementsType">
@@ -35,63 +35,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "ProgrammeRequirementsType", propOrder = {
- "requirements",
- "keyLearningOutcomes"
-})
+@XmlType(name = "ProgrammeRequirementsType", propOrder = { "requirements", "keyLearningOutcomes" })
public class ProgrammeRequirementsType {
- @XmlElement(name = "Requirements", required = true)
- protected RichTextTagType requirements;
- @XmlElement(name = "KeyLearningOutcomes")
- protected RichTextTagType keyLearningOutcomes;
+ @XmlElement(name = "Requirements", required = true)
+ protected RichTextTagType requirements;
+ @XmlElement(name = "KeyLearningOutcomes")
+ protected RichTextTagType keyLearningOutcomes;
- /**
- * Gets the value of the requirements property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getRequirements() {
- return requirements;
- }
+ /**
+ * Gets the value of the requirements property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getRequirements() {
+ return requirements;
+ }
- /**
- * Sets the value of the requirements property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setRequirements(RichTextTagType value) {
- this.requirements = value;
- }
+ /**
+ * Sets the value of the requirements property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setRequirements(RichTextTagType value) {
+ this.requirements = value;
+ }
- /**
- * Gets the value of the keyLearningOutcomes property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getKeyLearningOutcomes() {
- return keyLearningOutcomes;
- }
+ /**
+ * Gets the value of the keyLearningOutcomes property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getKeyLearningOutcomes() {
+ return keyLearningOutcomes;
+ }
- /**
- * Sets the value of the keyLearningOutcomes property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setKeyLearningOutcomes(RichTextTagType value) {
- this.keyLearningOutcomes = value;
- }
+ /**
+ * Sets the value of the keyLearningOutcomes property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setKeyLearningOutcomes(RichTextTagType value) {
+ this.keyLearningOutcomes = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/QualificationType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/QualificationType.java
index 209094e4f..5fc5377d0 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/QualificationType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/QualificationType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -14,11 +13,12 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for QualificationType complex type.
+ * <p>
+ * Java class for QualificationType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="QualificationType">
@@ -38,115 +38,100 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "QualificationType", propOrder = {
- "name",
- "additionalInformation"
-})
+@XmlType(name = "QualificationType", propOrder = { "name", "additionalInformation" })
public class QualificationType {
- @XmlElement(name = "Name", required = true)
- protected String name;
- @XmlElement(name = "AdditionalInformation")
- protected RichTextTagType additionalInformation;
- @XmlAttribute(name = "localID")
- protected String localID;
- @XmlAttribute(name = "nationalID")
- protected String nationalID;
+ @XmlElement(name = "Name", required = true)
+ protected String name;
+ @XmlElement(name = "AdditionalInformation")
+ protected RichTextTagType additionalInformation;
+ @XmlAttribute(name = "localID")
+ protected String localID;
+ @XmlAttribute(name = "nationalID")
+ protected String nationalID;
- /**
- * Gets the value of the name property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getName() {
- return name;
- }
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
- /**
- * Sets the value of the name property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setName(String value) {
- this.name = value;
- }
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
- /**
- * Gets the value of the additionalInformation property.
- *
- * @return
- * possible object is
- * {@link RichTextTagType }
- *
- */
- public RichTextTagType getAdditionalInformation() {
- return additionalInformation;
- }
+ /**
+ * Gets the value of the additionalInformation property.
+ *
+ * @return possible object is {@link RichTextTagType }
+ *
+ */
+ public RichTextTagType getAdditionalInformation() {
+ return additionalInformation;
+ }
- /**
- * Sets the value of the additionalInformation property.
- *
- * @param value
- * allowed object is
- * {@link RichTextTagType }
- *
- */
- public void setAdditionalInformation(RichTextTagType value) {
- this.additionalInformation = value;
- }
+ /**
+ * Sets the value of the additionalInformation property.
+ *
+ * @param value
+ * allowed object is {@link RichTextTagType }
+ *
+ */
+ public void setAdditionalInformation(RichTextTagType value) {
+ this.additionalInformation = value;
+ }
- /**
- * Gets the value of the localID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getLocalID() {
- return localID;
- }
+ /**
+ * Gets the value of the localID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getLocalID() {
+ return localID;
+ }
- /**
- * Sets the value of the localID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setLocalID(String value) {
- this.localID = value;
- }
+ /**
+ * Sets the value of the localID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setLocalID(String value) {
+ this.localID = value;
+ }
- /**
- * Gets the value of the nationalID property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getNationalID() {
- return nationalID;
- }
+ /**
+ * Gets the value of the nationalID property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNationalID() {
+ return nationalID;
+ }
- /**
- * Sets the value of the nationalID property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setNationalID(String value) {
- this.nationalID = value;
- }
+ /**
+ * Sets the value of the nationalID property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNationalID(String value) {
+ this.nationalID = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/RichTextTagType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/RichTextTagType.java
index 8d1906142..0a79919d7 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/RichTextTagType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/RichTextTagType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import java.io.Serializable;
@@ -24,11 +23,12 @@ import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-
/**
- * <p>Java class for RichTextTagType complex type.
+ * <p>
+ * Java class for RichTextTagType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="RichTextTagType">
@@ -57,141 +57,122 @@ import javax.xml.bind.annotation.XmlValue;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "RichTextTagType", propOrder = {
- "content"
-})
-@XmlSeeAlso({
- eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus.class,
- eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.InformationOnTheLevelOfTheQualificationType.Level.class,
- eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme.class,
- eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.InformationOnTheContentsAndResultsGainedType.ModeOfStudy.class,
- eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.LanguagesOfInstructionAndExaminationType.Language.class
-})
+@XmlType(name = "RichTextTagType", propOrder = { "content" })
+@XmlSeeAlso({ eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.InformationOnTheFunctionOfTheQualificationType.ProfessionalStatus.class,
+ eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.InformationOnTheLevelOfTheQualificationType.Level.class,
+ eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.InformationOnTheLevelOfTheQualificationType.OfficialLengthOfProgramme.class,
+ eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.InformationOnTheContentsAndResultsGainedType.ModeOfStudy.class,
+ eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma.LanguagesOfInstructionAndExaminationType.Language.class })
public class RichTextTagType {
- @XmlElementRefs({
- @XmlElementRef(name = "Underline", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "BreakLine", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "AttachedRef", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "Italic", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "Bold", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", type = JAXBElement.class, required = false)
- })
- @XmlMixed
- protected List<Serializable> content;
-
- /**
- * Gets the value of the content property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link JAXBElement }{@code <}{@link String }{@code >}
- * {@link JAXBElement }{@code <}{@link String }{@code >}
- * {@link JAXBElement }{@code <}{@link String }{@code >}
- * {@link String }
- * {@link JAXBElement }{@code <}{@link String }{@code >}
- * {@link JAXBElement }{@code <}{@link RichTextTagType.AttachedRef }{@code >}
- *
- *
- */
- public List<Serializable> getContent() {
- if (content == null) {
- content = new ArrayList<Serializable>();
- }
- return this.content;
- }
-
-
- /**
- * <p>Java class for anonymous complex type.
- *
- * <p>The following schema fragment specifies the expected content contained within this class.
- *
- * <pre>
- * &lt;complexType>
- * &lt;simpleContent>
- * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
- * &lt;attribute name="attachedID" use="required" type="{http://www.w3.org/2001/XMLSchema}IDREF" />
- * &lt;/extension>
- * &lt;/simpleContent>
- * &lt;/complexType>
- * </pre>
- *
- *
- */
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "", propOrder = {
- "value"
- })
- public static class AttachedRef {
-
- @XmlValue
- protected String value;
- @XmlAttribute(name = "attachedID", required = true)
- @XmlIDREF
- @XmlSchemaType(name = "IDREF")
- protected Object attachedID;
-
- /**
- * Gets the value of the value property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getValue() {
- return value;
- }
-
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Gets the value of the attachedID property.
- *
- * @return
- * possible object is
- * {@link Object }
- *
- */
- public Object getAttachedID() {
- return attachedID;
- }
-
- /**
- * Sets the value of the attachedID property.
- *
- * @param value
- * allowed object is
- * {@link Object }
- *
- */
- public void setAttachedID(Object value) {
- this.attachedID = value;
- }
-
- }
+ @XmlElementRefs({ @XmlElementRef(name = "Underline", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "BreakLine", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "AttachedRef", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "Italic", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "Bold", namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", type = JAXBElement.class, required = false) })
+ @XmlMixed
+ protected List<Serializable> content;
+
+ /**
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link JAXBElement }{@code <}{@link String }{@code >} {@link JAXBElement }{@code <}{@link String }{@code >} {@link JAXBElement }{@code <}
+ * {@link String }{@code >} {@link String } {@link JAXBElement }{@code <}{@link String }{@code >} {@link JAXBElement }{@code <}{@link RichTextTagType.AttachedRef }{@code >}
+ *
+ *
+ */
+ public List<Serializable> getContent() {
+ if (content == null) {
+ content = new ArrayList<Serializable>();
+ }
+ return this.content;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma>PlainTextType">
+ * &lt;attribute name="attachedID" use="required" type="{http://www.w3.org/2001/XMLSchema}IDREF" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class AttachedRef {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "attachedID", required = true)
+ @XmlIDREF
+ @XmlSchemaType(name = "IDREF")
+ protected Object attachedID;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the attachedID property.
+ *
+ * @return possible object is {@link Object }
+ *
+ */
+ public Object getAttachedID() {
+ return attachedID;
+ }
+
+ /**
+ * Sets the value of the attachedID property.
+ *
+ * @param value
+ * allowed object is {@link Object }
+ *
+ */
+ public void setAttachedID(Object value) {
+ this.attachedID = value;
+ }
+
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/SourceGradeType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/SourceGradeType.java
index 2fc0d4292..488f87974 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/SourceGradeType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/SourceGradeType.java
@@ -5,19 +5,20 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for SourceGradeType.
+ * <p>
+ * Java class for SourceGradeType.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
* <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ *
* <pre>
* &lt;simpleType name="SourceGradeType">
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
@@ -33,29 +34,27 @@ import javax.xml.bind.annotation.XmlType;
@XmlEnum
public enum SourceGradeType {
- @XmlEnumValue("Recognized")
- RECOGNIZED("Recognized"),
- @XmlEnumValue("MobilityProgramme")
- MOBILITY_PROGRAMME("MobilityProgramme"),
- @XmlEnumValue("Another")
- ANOTHER("Another");
- private final String value;
-
- SourceGradeType(String v) {
- value = v;
- }
-
- public String value() {
- return value;
- }
-
- public static SourceGradeType fromValue(String v) {
- for (SourceGradeType c: SourceGradeType.values()) {
- if (c.value.equals(v)) {
- return c;
- }
- }
- throw new IllegalArgumentException(v);
- }
+ @XmlEnumValue("Recognized")
+ RECOGNIZED("Recognized"), @XmlEnumValue("MobilityProgramme")
+ MOBILITY_PROGRAMME("MobilityProgramme"), @XmlEnumValue("Another")
+ ANOTHER("Another");
+ private final String value;
+
+ SourceGradeType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static SourceGradeType fromValue(String v) {
+ for (SourceGradeType c : SourceGradeType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/TitleConferredType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/TitleConferredType.java
index 2ca949caa..ea1e6e9bb 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/TitleConferredType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/TitleConferredType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for TitleConferredType complex type.
+ * <p>
+ * Java class for TitleConferredType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="TitleConferredType">
@@ -34,36 +34,31 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "TitleConferredType", propOrder = {
- "name"
-})
+@XmlType(name = "TitleConferredType", propOrder = { "name" })
public class TitleConferredType {
- @XmlElement(name = "Name", required = true)
- protected String name;
+ @XmlElement(name = "Name", required = true)
+ protected String name;
- /**
- * Gets the value of the name property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getName() {
- return name;
- }
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
- /**
- * Sets the value of the name property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setName(String value) {
- this.name = value;
- }
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/package-info.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/package-info.java
index 7d2131e52..0a37ab296 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/package-info.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/eu/stork/names/tc/stork/_2_0/academic/generaldiploma/package-info.java
@@ -7,3 +7,4 @@
@javax.xml.bind.annotation.XmlSchema(namespace = "urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._2_0.academic.generaldiploma;
+
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/CanonicalizationMethodType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/CanonicalizationMethodType.java
index e2c2db71d..98e01dc8c 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/CanonicalizationMethodType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/CanonicalizationMethodType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -18,11 +17,12 @@ import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for CanonicalizationMethodType complex type.
+ * <p>
+ * Java class for CanonicalizationMethodType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="CanonicalizationMethodType">
@@ -40,70 +40,62 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "CanonicalizationMethodType", propOrder = {
- "content"
-})
+@XmlType(name = "CanonicalizationMethodType", propOrder = { "content" })
public class CanonicalizationMethodType {
- @XmlMixed
- @XmlAnyElement(lax = true)
- protected List<Object> content;
- @XmlAttribute(name = "Algorithm", required = true)
- @XmlSchemaType(name = "anyURI")
- protected String algorithm;
+ @XmlMixed
+ @XmlAnyElement(lax = true)
+ protected List<Object> content;
+ @XmlAttribute(name = "Algorithm", required = true)
+ @XmlSchemaType(name = "anyURI")
+ protected String algorithm;
- /**
- * Gets the value of the content property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link String }
- * {@link Object }
- *
- *
- */
- public List<Object> getContent() {
- if (content == null) {
- content = new ArrayList<Object>();
- }
- return this.content;
- }
+ /**
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String } {@link Object }
+ *
+ *
+ */
+ public List<Object> getContent() {
+ if (content == null) {
+ content = new ArrayList<Object>();
+ }
+ return this.content;
+ }
- /**
- * Gets the value of the algorithm property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAlgorithm() {
- return algorithm;
- }
+ /**
+ * Gets the value of the algorithm property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAlgorithm() {
+ return algorithm;
+ }
- /**
- * Sets the value of the algorithm property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAlgorithm(String value) {
- this.algorithm = value;
- }
+ /**
+ * Sets the value of the algorithm property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAlgorithm(String value) {
+ this.algorithm = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/DSAKeyValueType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/DSAKeyValueType.java
index 7f7c48206..af0978a99 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/DSAKeyValueType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/DSAKeyValueType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for DSAKeyValueType complex type.
+ * <p>
+ * Java class for DSAKeyValueType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="DSAKeyValueType">
@@ -44,184 +44,155 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "DSAKeyValueType", propOrder = {
- "p",
- "q",
- "g",
- "y",
- "j",
- "seed",
- "pgenCounter"
-})
+@XmlType(name = "DSAKeyValueType", propOrder = { "p", "q", "g", "y", "j", "seed", "pgenCounter" })
public class DSAKeyValueType {
- @XmlElement(name = "P")
- protected byte[] p;
- @XmlElement(name = "Q")
- protected byte[] q;
- @XmlElement(name = "G")
- protected byte[] g;
- @XmlElement(name = "Y", required = true)
- protected byte[] y;
- @XmlElement(name = "J")
- protected byte[] j;
- @XmlElement(name = "Seed")
- protected byte[] seed;
- @XmlElement(name = "PgenCounter")
- protected byte[] pgenCounter;
-
- /**
- * Gets the value of the p property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getP() {
- return p;
- }
-
- /**
- * Sets the value of the p property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setP(byte[] value) {
- this.p = value;
- }
-
- /**
- * Gets the value of the q property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getQ() {
- return q;
- }
-
- /**
- * Sets the value of the q property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setQ(byte[] value) {
- this.q = value;
- }
-
- /**
- * Gets the value of the g property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getG() {
- return g;
- }
-
- /**
- * Sets the value of the g property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setG(byte[] value) {
- this.g = value;
- }
-
- /**
- * Gets the value of the y property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getY() {
- return y;
- }
-
- /**
- * Sets the value of the y property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setY(byte[] value) {
- this.y = value;
- }
-
- /**
- * Gets the value of the j property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getJ() {
- return j;
- }
-
- /**
- * Sets the value of the j property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setJ(byte[] value) {
- this.j = value;
- }
-
- /**
- * Gets the value of the seed property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getSeed() {
- return seed;
- }
-
- /**
- * Sets the value of the seed property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setSeed(byte[] value) {
- this.seed = value;
- }
-
- /**
- * Gets the value of the pgenCounter property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getPgenCounter() {
- return pgenCounter;
- }
-
- /**
- * Sets the value of the pgenCounter property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setPgenCounter(byte[] value) {
- this.pgenCounter = value;
- }
+ @XmlElement(name = "P")
+ protected byte[] p;
+ @XmlElement(name = "Q")
+ protected byte[] q;
+ @XmlElement(name = "G")
+ protected byte[] g;
+ @XmlElement(name = "Y", required = true)
+ protected byte[] y;
+ @XmlElement(name = "J")
+ protected byte[] j;
+ @XmlElement(name = "Seed")
+ protected byte[] seed;
+ @XmlElement(name = "PgenCounter")
+ protected byte[] pgenCounter;
+
+ /**
+ * Gets the value of the p property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getP() {
+ return p;
+ }
+
+ /**
+ * Sets the value of the p property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setP(byte[] value) {
+ this.p = value;
+ }
+
+ /**
+ * Gets the value of the q property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getQ() {
+ return q;
+ }
+
+ /**
+ * Sets the value of the q property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setQ(byte[] value) {
+ this.q = value;
+ }
+
+ /**
+ * Gets the value of the g property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getG() {
+ return g;
+ }
+
+ /**
+ * Sets the value of the g property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setG(byte[] value) {
+ this.g = value;
+ }
+
+ /**
+ * Gets the value of the y property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getY() {
+ return y;
+ }
+
+ /**
+ * Sets the value of the y property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setY(byte[] value) {
+ this.y = value;
+ }
+
+ /**
+ * Gets the value of the j property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getJ() {
+ return j;
+ }
+
+ /**
+ * Sets the value of the j property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setJ(byte[] value) {
+ this.j = value;
+ }
+
+ /**
+ * Gets the value of the seed property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getSeed() {
+ return seed;
+ }
+
+ /**
+ * Sets the value of the seed property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setSeed(byte[] value) {
+ this.seed = value;
+ }
+
+ /**
+ * Gets the value of the pgenCounter property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getPgenCounter() {
+ return pgenCounter;
+ }
+
+ /**
+ * Sets the value of the pgenCounter property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setPgenCounter(byte[] value) {
+ this.pgenCounter = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/DigestMethodType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/DigestMethodType.java
index 9d32757cb..e71a1fdd1 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/DigestMethodType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/DigestMethodType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -19,11 +18,12 @@ import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
-
/**
- * <p>Java class for DigestMethodType complex type.
+ * <p>
+ * Java class for DigestMethodType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="DigestMethodType">
@@ -41,71 +41,62 @@ import org.w3c.dom.Element;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "DigestMethodType", propOrder = {
- "content"
-})
+@XmlType(name = "DigestMethodType", propOrder = { "content" })
public class DigestMethodType {
- @XmlMixed
- @XmlAnyElement(lax = true)
- protected List<Object> content;
- @XmlAttribute(name = "Algorithm", required = true)
- @XmlSchemaType(name = "anyURI")
- protected String algorithm;
+ @XmlMixed
+ @XmlAnyElement(lax = true)
+ protected List<Object> content;
+ @XmlAttribute(name = "Algorithm", required = true)
+ @XmlSchemaType(name = "anyURI")
+ protected String algorithm;
- /**
- * Gets the value of the content property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link Object }
- * {@link Element }
- * {@link String }
- *
- *
- */
- public List<Object> getContent() {
- if (content == null) {
- content = new ArrayList<Object>();
- }
- return this.content;
- }
+ /**
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link Object } {@link Element } {@link String }
+ *
+ *
+ */
+ public List<Object> getContent() {
+ if (content == null) {
+ content = new ArrayList<Object>();
+ }
+ return this.content;
+ }
- /**
- * Gets the value of the algorithm property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAlgorithm() {
- return algorithm;
- }
+ /**
+ * Gets the value of the algorithm property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAlgorithm() {
+ return algorithm;
+ }
- /**
- * Sets the value of the algorithm property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAlgorithm(String value) {
- this.algorithm = value;
- }
+ /**
+ * Sets the value of the algorithm property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAlgorithm(String value) {
+ this.algorithm = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/KeyInfoType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/KeyInfoType.java
index 638d398ae..b5fbd20b2 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/KeyInfoType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/KeyInfoType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -25,11 +24,12 @@ import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3c.dom.Element;
-
/**
- * <p>Java class for KeyInfoType complex type.
+ * <p>
+ * Java class for KeyInfoType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="KeyInfoType">
@@ -54,89 +54,73 @@ import org.w3c.dom.Element;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "KeyInfoType", propOrder = {
- "content"
-})
+@XmlType(name = "KeyInfoType", propOrder = { "content" })
public class KeyInfoType {
- @XmlElementRefs({
- @XmlElementRef(name = "PGPData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "X509Data", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "KeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "KeyName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "SPKIData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "RetrievalMethod", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "MgmtData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
- })
- @XmlMixed
- @XmlAnyElement(lax = true)
- protected List<Object> content;
- @XmlAttribute(name = "Id")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- @XmlID
- @XmlSchemaType(name = "ID")
- protected String id;
+ @XmlElementRefs({ @XmlElementRef(name = "PGPData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "X509Data", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "KeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "KeyName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "SPKIData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "RetrievalMethod", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "MgmtData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) })
+ @XmlMixed
+ @XmlAnyElement(lax = true)
+ protected List<Object> content;
+ @XmlAttribute(name = "Id")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String id;
- /**
- * Gets the value of the content property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link JAXBElement }{@code <}{@link PGPDataType }{@code >}
- * {@link JAXBElement }{@code <}{@link X509DataType }{@code >}
- * {@link Object }
- * {@link JAXBElement }{@code <}{@link KeyValueType }{@code >}
- * {@link JAXBElement }{@code <}{@link String }{@code >}
- * {@link Element }
- * {@link String }
- * {@link JAXBElement }{@code <}{@link SPKIDataType }{@code >}
- * {@link JAXBElement }{@code <}{@link RetrievalMethodType }{@code >}
- * {@link JAXBElement }{@code <}{@link String }{@code >}
- *
- *
- */
- public List<Object> getContent() {
- if (content == null) {
- content = new ArrayList<Object>();
- }
- return this.content;
- }
+ /**
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link JAXBElement }{@code <}{@link PGPDataType }{@code >} {@link JAXBElement }{@code <}{@link X509DataType }{@code >} {@link Object }
+ * {@link JAXBElement }{@code <}{@link KeyValueType }{@code >} {@link JAXBElement }{@code <}{@link String }{@code >} {@link Element } {@link String } {@link JAXBElement }{@code <}{@link SPKIDataType }
+ * {@code >} {@link JAXBElement }{@code <}{@link RetrievalMethodType }{@code >} {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ *
+ */
+ public List<Object> getContent() {
+ if (content == null) {
+ content = new ArrayList<Object>();
+ }
+ return this.content;
+ }
- /**
- * Gets the value of the id property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getId() {
- return id;
- }
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
- /**
- * Sets the value of the id property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setId(String value) {
- this.id = value;
- }
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/KeyValueType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/KeyValueType.java
index 819c9d014..c4d1aea20 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/KeyValueType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/KeyValueType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -20,11 +19,12 @@ import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
-
/**
- * <p>Java class for KeyValueType complex type.
+ * <p>
+ * Java class for KeyValueType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="KeyValueType">
@@ -43,50 +43,41 @@ import org.w3c.dom.Element;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "KeyValueType", propOrder = {
- "content"
-})
+@XmlType(name = "KeyValueType", propOrder = { "content" })
public class KeyValueType {
- @XmlElementRefs({
- @XmlElementRef(name = "RSAKeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "DSAKeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
- })
- @XmlMixed
- @XmlAnyElement(lax = true)
- protected List<Object> content;
+ @XmlElementRefs({ @XmlElementRef(name = "RSAKeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "DSAKeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) })
+ @XmlMixed
+ @XmlAnyElement(lax = true)
+ protected List<Object> content;
- /**
- * Gets the value of the content property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link Object }
- * {@link Element }
- * {@link JAXBElement }{@code <}{@link DSAKeyValueType }{@code >}
- * {@link JAXBElement }{@code <}{@link RSAKeyValueType }{@code >}
- * {@link String }
- *
- *
- */
- public List<Object> getContent() {
- if (content == null) {
- content = new ArrayList<Object>();
- }
- return this.content;
- }
+ /**
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link Object } {@link Element } {@link JAXBElement }{@code <}{@link DSAKeyValueType }{@code >} {@link JAXBElement }{@code <}
+ * {@link RSAKeyValueType }{@code >} {@link String }
+ *
+ *
+ */
+ public List<Object> getContent() {
+ if (content == null) {
+ content = new ArrayList<Object>();
+ }
+ return this.content;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ManifestType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ManifestType.java
index 8f55486fa..cfd4a435d 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ManifestType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ManifestType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -20,11 +19,12 @@ import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
/**
- * <p>Java class for ManifestType complex type.
+ * <p>
+ * Java class for ManifestType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ManifestType">
@@ -42,70 +42,63 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "ManifestType", propOrder = {
- "reference"
-})
+@XmlType(name = "ManifestType", propOrder = { "reference" })
public class ManifestType {
- @XmlElement(name = "Reference", required = true)
- protected List<ReferenceType> reference;
- @XmlAttribute(name = "Id")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- @XmlID
- @XmlSchemaType(name = "ID")
- protected String id;
+ @XmlElement(name = "Reference", required = true)
+ protected List<ReferenceType> reference;
+ @XmlAttribute(name = "Id")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String id;
- /**
- * Gets the value of the reference property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the reference property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getReference().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link ReferenceType }
- *
- *
- */
- public List<ReferenceType> getReference() {
- if (reference == null) {
- reference = new ArrayList<ReferenceType>();
- }
- return this.reference;
- }
+ /**
+ * Gets the value of the reference property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the reference property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getReference().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link ReferenceType }
+ *
+ *
+ */
+ public List<ReferenceType> getReference() {
+ if (reference == null) {
+ reference = new ArrayList<ReferenceType>();
+ }
+ return this.reference;
+ }
- /**
- * Gets the value of the id property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getId() {
- return id;
- }
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
- /**
- * Sets the value of the id property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setId(String value) {
- this.id = value;
- }
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ObjectFactory.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ObjectFactory.java
index 621d32125..64a1fd7e3 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ObjectFactory.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ObjectFactory.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.math.BigInteger;
@@ -14,546 +13,538 @@ import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;
-
/**
- * This object contains factory methods for each
- * Java content interface and Java element interface
- * generated in the org.w3._2000._09.xmldsig package.
- * <p>An ObjectFactory allows you to programatically
- * construct new instances of the Java representation
- * for XML content. The Java representation of XML
- * content can consist of schema derived interfaces
- * and classes representing the binding of schema
- * type definitions, element declarations and model
- * groups. Factory methods for each of these are
- * provided in this class.
+ * This object contains factory methods for each Java content interface and Java element interface generated in the org.w3._2000._09.xmldsig package.
+ * <p>
+ * An ObjectFactory allows you to programatically construct new instances of the Java representation for XML content. The Java representation of XML content can consist of schema derived interfaces
+ * and classes representing the binding of schema type definitions, element declarations and model groups. Factory methods for each of these are provided in this class.
*
*/
@XmlRegistry
public class ObjectFactory {
- private final static QName _SignatureMethodTypeHMACOutputLength_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "HMACOutputLength");
- private final static QName _PGPData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPData");
- private final static QName _SPKIData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SPKIData");
- private final static QName _RetrievalMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RetrievalMethod");
- private final static QName _CanonicalizationMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "CanonicalizationMethod");
- private final static QName _SignatureProperty_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureProperty");
- private final static QName _Manifest_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Manifest");
- private final static QName _Transforms_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transforms");
- private final static QName _SignatureMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureMethod");
- private final static QName _KeyInfo_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyInfo");
- private final static QName _DigestMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DigestMethod");
- private final static QName _MgmtData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "MgmtData");
- private final static QName _Reference_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Reference");
- private final static QName _RSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RSAKeyValue");
- private final static QName _Signature_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Signature");
- private final static QName _DSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DSAKeyValue");
- private final static QName _SignedInfo_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignedInfo");
- private final static QName _Object_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Object");
- private final static QName _SignatureValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureValue");
- private final static QName _Transform_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transform");
- private final static QName _X509Data_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Data");
- private final static QName _DigestValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DigestValue");
- private final static QName _SignatureProperties_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureProperties");
- private final static QName _KeyName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyName");
- private final static QName _KeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyValue");
- private final static QName _SPKIDataTypeSPKISexp_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SPKISexp");
- private final static QName _PGPDataTypePGPKeyID_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPKeyID");
- private final static QName _PGPDataTypePGPKeyPacket_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPKeyPacket");
- private final static QName _X509DataTypeX509IssuerSerial_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509IssuerSerial");
- private final static QName _X509DataTypeX509Certificate_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Certificate");
- private final static QName _X509DataTypeX509SKI_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SKI");
- private final static QName _X509DataTypeX509SubjectName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SubjectName");
- private final static QName _X509DataTypeX509CRL_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509CRL");
- private final static QName _TransformTypeXPath_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "XPath");
-
- /**
- * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.w3._2000._09.xmldsig
- *
- */
- public ObjectFactory() {
- }
-
- /**
- * Create an instance of {@link KeyInfoType }
- *
- */
- public KeyInfoType createKeyInfoType() {
- return new KeyInfoType();
- }
-
- /**
- * Create an instance of {@link SignedInfoType }
- *
- */
- public SignedInfoType createSignedInfoType() {
- return new SignedInfoType();
- }
-
- /**
- * Create an instance of {@link RetrievalMethodType }
- *
- */
- public RetrievalMethodType createRetrievalMethodType() {
- return new RetrievalMethodType();
- }
-
- /**
- * Create an instance of {@link DigestMethodType }
- *
- */
- public DigestMethodType createDigestMethodType() {
- return new DigestMethodType();
- }
-
- /**
- * Create an instance of {@link SignatureMethodType }
- *
- */
- public SignatureMethodType createSignatureMethodType() {
- return new SignatureMethodType();
- }
-
- /**
- * Create an instance of {@link SPKIDataType }
- *
- */
- public SPKIDataType createSPKIDataType() {
- return new SPKIDataType();
- }
-
- /**
- * Create an instance of {@link X509DataType }
- *
- */
- public X509DataType createX509DataType() {
- return new X509DataType();
- }
-
- /**
- * Create an instance of {@link PGPDataType }
- *
- */
- public PGPDataType createPGPDataType() {
- return new PGPDataType();
- }
-
- /**
- * Create an instance of {@link SignatureType }
- *
- */
- public SignatureType createSignatureType() {
- return new SignatureType();
- }
-
- /**
- * Create an instance of {@link DSAKeyValueType }
- *
- */
- public DSAKeyValueType createDSAKeyValueType() {
- return new DSAKeyValueType();
- }
-
- /**
- * Create an instance of {@link ManifestType }
- *
- */
- public ManifestType createManifestType() {
- return new ManifestType();
- }
-
- /**
- * Create an instance of {@link SignatureValueType }
- *
- */
- public SignatureValueType createSignatureValueType() {
- return new SignatureValueType();
- }
-
- /**
- * Create an instance of {@link TransformsType }
- *
- */
- public TransformsType createTransformsType() {
- return new TransformsType();
- }
-
- /**
- * Create an instance of {@link RSAKeyValueType }
- *
- */
- public RSAKeyValueType createRSAKeyValueType() {
- return new RSAKeyValueType();
- }
-
- /**
- * Create an instance of {@link TransformType }
- *
- */
- public TransformType createTransformType() {
- return new TransformType();
- }
-
- /**
- * Create an instance of {@link SignaturePropertyType }
- *
- */
- public SignaturePropertyType createSignaturePropertyType() {
- return new SignaturePropertyType();
- }
-
- /**
- * Create an instance of {@link KeyValueType }
- *
- */
- public KeyValueType createKeyValueType() {
- return new KeyValueType();
- }
-
- /**
- * Create an instance of {@link ReferenceType }
- *
- */
- public ReferenceType createReferenceType() {
- return new ReferenceType();
- }
-
- /**
- * Create an instance of {@link CanonicalizationMethodType }
- *
- */
- public CanonicalizationMethodType createCanonicalizationMethodType() {
- return new CanonicalizationMethodType();
- }
-
- /**
- * Create an instance of {@link SignaturePropertiesType }
- *
- */
- public SignaturePropertiesType createSignaturePropertiesType() {
- return new SignaturePropertiesType();
- }
-
- /**
- * Create an instance of {@link ObjectType }
- *
- */
- public ObjectType createObjectType() {
- return new ObjectType();
- }
-
- /**
- * Create an instance of {@link X509IssuerSerialType }
- *
- */
- public X509IssuerSerialType createX509IssuerSerialType() {
- return new X509IssuerSerialType();
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "HMACOutputLength", scope = SignatureMethodType.class)
- public JAXBElement<BigInteger> createSignatureMethodTypeHMACOutputLength(BigInteger value) {
- return new JAXBElement<BigInteger>(_SignatureMethodTypeHMACOutputLength_QNAME, BigInteger.class, SignatureMethodType.class, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link PGPDataType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPData")
- public JAXBElement<PGPDataType> createPGPData(PGPDataType value) {
- return new JAXBElement<PGPDataType>(_PGPData_QNAME, PGPDataType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link SPKIDataType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SPKIData")
- public JAXBElement<SPKIDataType> createSPKIData(SPKIDataType value) {
- return new JAXBElement<SPKIDataType>(_SPKIData_QNAME, SPKIDataType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link RetrievalMethodType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RetrievalMethod")
- public JAXBElement<RetrievalMethodType> createRetrievalMethod(RetrievalMethodType value) {
- return new JAXBElement<RetrievalMethodType>(_RetrievalMethod_QNAME, RetrievalMethodType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link CanonicalizationMethodType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "CanonicalizationMethod")
- public JAXBElement<CanonicalizationMethodType> createCanonicalizationMethod(CanonicalizationMethodType value) {
- return new JAXBElement<CanonicalizationMethodType>(_CanonicalizationMethod_QNAME, CanonicalizationMethodType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link SignaturePropertyType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureProperty")
- public JAXBElement<SignaturePropertyType> createSignatureProperty(SignaturePropertyType value) {
- return new JAXBElement<SignaturePropertyType>(_SignatureProperty_QNAME, SignaturePropertyType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link ManifestType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Manifest")
- public JAXBElement<ManifestType> createManifest(ManifestType value) {
- return new JAXBElement<ManifestType>(_Manifest_QNAME, ManifestType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link TransformsType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transforms")
- public JAXBElement<TransformsType> createTransforms(TransformsType value) {
- return new JAXBElement<TransformsType>(_Transforms_QNAME, TransformsType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link SignatureMethodType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureMethod")
- public JAXBElement<SignatureMethodType> createSignatureMethod(SignatureMethodType value) {
- return new JAXBElement<SignatureMethodType>(_SignatureMethod_QNAME, SignatureMethodType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link KeyInfoType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyInfo")
- public JAXBElement<KeyInfoType> createKeyInfo(KeyInfoType value) {
- return new JAXBElement<KeyInfoType>(_KeyInfo_QNAME, KeyInfoType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link DigestMethodType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestMethod")
- public JAXBElement<DigestMethodType> createDigestMethod(DigestMethodType value) {
- return new JAXBElement<DigestMethodType>(_DigestMethod_QNAME, DigestMethodType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "MgmtData")
- public JAXBElement<String> createMgmtData(String value) {
- return new JAXBElement<String>(_MgmtData_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link ReferenceType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Reference")
- public JAXBElement<ReferenceType> createReference(ReferenceType value) {
- return new JAXBElement<ReferenceType>(_Reference_QNAME, ReferenceType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link RSAKeyValueType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RSAKeyValue")
- public JAXBElement<RSAKeyValueType> createRSAKeyValue(RSAKeyValueType value) {
- return new JAXBElement<RSAKeyValueType>(_RSAKeyValue_QNAME, RSAKeyValueType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link SignatureType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Signature")
- public JAXBElement<SignatureType> createSignature(SignatureType value) {
- return new JAXBElement<SignatureType>(_Signature_QNAME, SignatureType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link DSAKeyValueType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DSAKeyValue")
- public JAXBElement<DSAKeyValueType> createDSAKeyValue(DSAKeyValueType value) {
- return new JAXBElement<DSAKeyValueType>(_DSAKeyValue_QNAME, DSAKeyValueType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link SignedInfoType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignedInfo")
- public JAXBElement<SignedInfoType> createSignedInfo(SignedInfoType value) {
- return new JAXBElement<SignedInfoType>(_SignedInfo_QNAME, SignedInfoType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link ObjectType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Object")
- public JAXBElement<ObjectType> createObject(ObjectType value) {
- return new JAXBElement<ObjectType>(_Object_QNAME, ObjectType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link SignatureValueType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureValue")
- public JAXBElement<SignatureValueType> createSignatureValue(SignatureValueType value) {
- return new JAXBElement<SignatureValueType>(_SignatureValue_QNAME, SignatureValueType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link TransformType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transform")
- public JAXBElement<TransformType> createTransform(TransformType value) {
- return new JAXBElement<TransformType>(_Transform_QNAME, TransformType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link X509DataType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Data")
- public JAXBElement<X509DataType> createX509Data(X509DataType value) {
- return new JAXBElement<X509DataType>(_X509Data_QNAME, X509DataType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestValue")
- public JAXBElement<byte[]> createDigestValue(byte[] value) {
- return new JAXBElement<byte[]>(_DigestValue_QNAME, byte[].class, null, ((byte[]) value));
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link SignaturePropertiesType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureProperties")
- public JAXBElement<SignaturePropertiesType> createSignatureProperties(SignaturePropertiesType value) {
- return new JAXBElement<SignaturePropertiesType>(_SignatureProperties_QNAME, SignaturePropertiesType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyName")
- public JAXBElement<String> createKeyName(String value) {
- return new JAXBElement<String>(_KeyName_QNAME, String.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link KeyValueType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyValue")
- public JAXBElement<KeyValueType> createKeyValue(KeyValueType value) {
- return new JAXBElement<KeyValueType>(_KeyValue_QNAME, KeyValueType.class, null, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SPKISexp", scope = SPKIDataType.class)
- public JAXBElement<byte[]> createSPKIDataTypeSPKISexp(byte[] value) {
- return new JAXBElement<byte[]>(_SPKIDataTypeSPKISexp_QNAME, byte[].class, SPKIDataType.class, ((byte[]) value));
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPKeyID", scope = PGPDataType.class)
- public JAXBElement<byte[]> createPGPDataTypePGPKeyID(byte[] value) {
- return new JAXBElement<byte[]>(_PGPDataTypePGPKeyID_QNAME, byte[].class, PGPDataType.class, ((byte[]) value));
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPKeyPacket", scope = PGPDataType.class)
- public JAXBElement<byte[]> createPGPDataTypePGPKeyPacket(byte[] value) {
- return new JAXBElement<byte[]>(_PGPDataTypePGPKeyPacket_QNAME, byte[].class, PGPDataType.class, ((byte[]) value));
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link X509IssuerSerialType }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509IssuerSerial", scope = X509DataType.class)
- public JAXBElement<X509IssuerSerialType> createX509DataTypeX509IssuerSerial(X509IssuerSerialType value) {
- return new JAXBElement<X509IssuerSerialType>(_X509DataTypeX509IssuerSerial_QNAME, X509IssuerSerialType.class, X509DataType.class, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Certificate", scope = X509DataType.class)
- public JAXBElement<byte[]> createX509DataTypeX509Certificate(byte[] value) {
- return new JAXBElement<byte[]>(_X509DataTypeX509Certificate_QNAME, byte[].class, X509DataType.class, ((byte[]) value));
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SKI", scope = X509DataType.class)
- public JAXBElement<byte[]> createX509DataTypeX509SKI(byte[] value) {
- return new JAXBElement<byte[]>(_X509DataTypeX509SKI_QNAME, byte[].class, X509DataType.class, ((byte[]) value));
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SubjectName", scope = X509DataType.class)
- public JAXBElement<String> createX509DataTypeX509SubjectName(String value) {
- return new JAXBElement<String>(_X509DataTypeX509SubjectName_QNAME, String.class, X509DataType.class, value);
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509CRL", scope = X509DataType.class)
- public JAXBElement<byte[]> createX509DataTypeX509CRL(byte[] value) {
- return new JAXBElement<byte[]>(_X509DataTypeX509CRL_QNAME, byte[].class, X509DataType.class, ((byte[]) value));
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
- *
- */
- @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "XPath", scope = TransformType.class)
- public JAXBElement<String> createTransformTypeXPath(String value) {
- return new JAXBElement<String>(_TransformTypeXPath_QNAME, String.class, TransformType.class, value);
- }
+ private final static QName _SignatureMethodTypeHMACOutputLength_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "HMACOutputLength");
+ private final static QName _PGPData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPData");
+ private final static QName _SPKIData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SPKIData");
+ private final static QName _RetrievalMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RetrievalMethod");
+ private final static QName _CanonicalizationMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "CanonicalizationMethod");
+ private final static QName _SignatureProperty_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureProperty");
+ private final static QName _Manifest_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Manifest");
+ private final static QName _Transforms_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transforms");
+ private final static QName _SignatureMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureMethod");
+ private final static QName _KeyInfo_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyInfo");
+ private final static QName _DigestMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DigestMethod");
+ private final static QName _MgmtData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "MgmtData");
+ private final static QName _Reference_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Reference");
+ private final static QName _RSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RSAKeyValue");
+ private final static QName _Signature_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Signature");
+ private final static QName _DSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DSAKeyValue");
+ private final static QName _SignedInfo_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignedInfo");
+ private final static QName _Object_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Object");
+ private final static QName _SignatureValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureValue");
+ private final static QName _Transform_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transform");
+ private final static QName _X509Data_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Data");
+ private final static QName _DigestValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DigestValue");
+ private final static QName _SignatureProperties_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureProperties");
+ private final static QName _KeyName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyName");
+ private final static QName _KeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyValue");
+ private final static QName _SPKIDataTypeSPKISexp_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SPKISexp");
+ private final static QName _PGPDataTypePGPKeyID_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPKeyID");
+ private final static QName _PGPDataTypePGPKeyPacket_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPKeyPacket");
+ private final static QName _X509DataTypeX509IssuerSerial_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509IssuerSerial");
+ private final static QName _X509DataTypeX509Certificate_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Certificate");
+ private final static QName _X509DataTypeX509SKI_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SKI");
+ private final static QName _X509DataTypeX509SubjectName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SubjectName");
+ private final static QName _X509DataTypeX509CRL_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509CRL");
+ private final static QName _TransformTypeXPath_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "XPath");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.w3._2000._09.xmldsig
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link KeyInfoType }
+ *
+ */
+ public KeyInfoType createKeyInfoType() {
+ return new KeyInfoType();
+ }
+
+ /**
+ * Create an instance of {@link SignedInfoType }
+ *
+ */
+ public SignedInfoType createSignedInfoType() {
+ return new SignedInfoType();
+ }
+
+ /**
+ * Create an instance of {@link RetrievalMethodType }
+ *
+ */
+ public RetrievalMethodType createRetrievalMethodType() {
+ return new RetrievalMethodType();
+ }
+
+ /**
+ * Create an instance of {@link DigestMethodType }
+ *
+ */
+ public DigestMethodType createDigestMethodType() {
+ return new DigestMethodType();
+ }
+
+ /**
+ * Create an instance of {@link SignatureMethodType }
+ *
+ */
+ public SignatureMethodType createSignatureMethodType() {
+ return new SignatureMethodType();
+ }
+
+ /**
+ * Create an instance of {@link SPKIDataType }
+ *
+ */
+ public SPKIDataType createSPKIDataType() {
+ return new SPKIDataType();
+ }
+
+ /**
+ * Create an instance of {@link X509DataType }
+ *
+ */
+ public X509DataType createX509DataType() {
+ return new X509DataType();
+ }
+
+ /**
+ * Create an instance of {@link PGPDataType }
+ *
+ */
+ public PGPDataType createPGPDataType() {
+ return new PGPDataType();
+ }
+
+ /**
+ * Create an instance of {@link SignatureType }
+ *
+ */
+ public SignatureType createSignatureType() {
+ return new SignatureType();
+ }
+
+ /**
+ * Create an instance of {@link DSAKeyValueType }
+ *
+ */
+ public DSAKeyValueType createDSAKeyValueType() {
+ return new DSAKeyValueType();
+ }
+
+ /**
+ * Create an instance of {@link ManifestType }
+ *
+ */
+ public ManifestType createManifestType() {
+ return new ManifestType();
+ }
+
+ /**
+ * Create an instance of {@link SignatureValueType }
+ *
+ */
+ public SignatureValueType createSignatureValueType() {
+ return new SignatureValueType();
+ }
+
+ /**
+ * Create an instance of {@link TransformsType }
+ *
+ */
+ public TransformsType createTransformsType() {
+ return new TransformsType();
+ }
+
+ /**
+ * Create an instance of {@link RSAKeyValueType }
+ *
+ */
+ public RSAKeyValueType createRSAKeyValueType() {
+ return new RSAKeyValueType();
+ }
+
+ /**
+ * Create an instance of {@link TransformType }
+ *
+ */
+ public TransformType createTransformType() {
+ return new TransformType();
+ }
+
+ /**
+ * Create an instance of {@link SignaturePropertyType }
+ *
+ */
+ public SignaturePropertyType createSignaturePropertyType() {
+ return new SignaturePropertyType();
+ }
+
+ /**
+ * Create an instance of {@link KeyValueType }
+ *
+ */
+ public KeyValueType createKeyValueType() {
+ return new KeyValueType();
+ }
+
+ /**
+ * Create an instance of {@link ReferenceType }
+ *
+ */
+ public ReferenceType createReferenceType() {
+ return new ReferenceType();
+ }
+
+ /**
+ * Create an instance of {@link CanonicalizationMethodType }
+ *
+ */
+ public CanonicalizationMethodType createCanonicalizationMethodType() {
+ return new CanonicalizationMethodType();
+ }
+
+ /**
+ * Create an instance of {@link SignaturePropertiesType }
+ *
+ */
+ public SignaturePropertiesType createSignaturePropertiesType() {
+ return new SignaturePropertiesType();
+ }
+
+ /**
+ * Create an instance of {@link ObjectType }
+ *
+ */
+ public ObjectType createObjectType() {
+ return new ObjectType();
+ }
+
+ /**
+ * Create an instance of {@link X509IssuerSerialType }
+ *
+ */
+ public X509IssuerSerialType createX509IssuerSerialType() {
+ return new X509IssuerSerialType();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "HMACOutputLength", scope = SignatureMethodType.class)
+ public JAXBElement<BigInteger> createSignatureMethodTypeHMACOutputLength(BigInteger value) {
+ return new JAXBElement<BigInteger>(_SignatureMethodTypeHMACOutputLength_QNAME, BigInteger.class, SignatureMethodType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link PGPDataType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPData")
+ public JAXBElement<PGPDataType> createPGPData(PGPDataType value) {
+ return new JAXBElement<PGPDataType>(_PGPData_QNAME, PGPDataType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SPKIDataType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SPKIData")
+ public JAXBElement<SPKIDataType> createSPKIData(SPKIDataType value) {
+ return new JAXBElement<SPKIDataType>(_SPKIData_QNAME, SPKIDataType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link RetrievalMethodType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RetrievalMethod")
+ public JAXBElement<RetrievalMethodType> createRetrievalMethod(RetrievalMethodType value) {
+ return new JAXBElement<RetrievalMethodType>(_RetrievalMethod_QNAME, RetrievalMethodType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link CanonicalizationMethodType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "CanonicalizationMethod")
+ public JAXBElement<CanonicalizationMethodType> createCanonicalizationMethod(CanonicalizationMethodType value) {
+ return new JAXBElement<CanonicalizationMethodType>(_CanonicalizationMethod_QNAME, CanonicalizationMethodType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SignaturePropertyType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureProperty")
+ public JAXBElement<SignaturePropertyType> createSignatureProperty(SignaturePropertyType value) {
+ return new JAXBElement<SignaturePropertyType>(_SignatureProperty_QNAME, SignaturePropertyType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link ManifestType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Manifest")
+ public JAXBElement<ManifestType> createManifest(ManifestType value) {
+ return new JAXBElement<ManifestType>(_Manifest_QNAME, ManifestType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link TransformsType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transforms")
+ public JAXBElement<TransformsType> createTransforms(TransformsType value) {
+ return new JAXBElement<TransformsType>(_Transforms_QNAME, TransformsType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SignatureMethodType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureMethod")
+ public JAXBElement<SignatureMethodType> createSignatureMethod(SignatureMethodType value) {
+ return new JAXBElement<SignatureMethodType>(_SignatureMethod_QNAME, SignatureMethodType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link KeyInfoType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyInfo")
+ public JAXBElement<KeyInfoType> createKeyInfo(KeyInfoType value) {
+ return new JAXBElement<KeyInfoType>(_KeyInfo_QNAME, KeyInfoType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link DigestMethodType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestMethod")
+ public JAXBElement<DigestMethodType> createDigestMethod(DigestMethodType value) {
+ return new JAXBElement<DigestMethodType>(_DigestMethod_QNAME, DigestMethodType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "MgmtData")
+ public JAXBElement<String> createMgmtData(String value) {
+ return new JAXBElement<String>(_MgmtData_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link ReferenceType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Reference")
+ public JAXBElement<ReferenceType> createReference(ReferenceType value) {
+ return new JAXBElement<ReferenceType>(_Reference_QNAME, ReferenceType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link RSAKeyValueType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RSAKeyValue")
+ public JAXBElement<RSAKeyValueType> createRSAKeyValue(RSAKeyValueType value) {
+ return new JAXBElement<RSAKeyValueType>(_RSAKeyValue_QNAME, RSAKeyValueType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SignatureType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Signature")
+ public JAXBElement<SignatureType> createSignature(SignatureType value) {
+ return new JAXBElement<SignatureType>(_Signature_QNAME, SignatureType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link DSAKeyValueType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DSAKeyValue")
+ public JAXBElement<DSAKeyValueType> createDSAKeyValue(DSAKeyValueType value) {
+ return new JAXBElement<DSAKeyValueType>(_DSAKeyValue_QNAME, DSAKeyValueType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SignedInfoType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignedInfo")
+ public JAXBElement<SignedInfoType> createSignedInfo(SignedInfoType value) {
+ return new JAXBElement<SignedInfoType>(_SignedInfo_QNAME, SignedInfoType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link ObjectType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Object")
+ public JAXBElement<ObjectType> createObject(ObjectType value) {
+ return new JAXBElement<ObjectType>(_Object_QNAME, ObjectType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SignatureValueType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureValue")
+ public JAXBElement<SignatureValueType> createSignatureValue(SignatureValueType value) {
+ return new JAXBElement<SignatureValueType>(_SignatureValue_QNAME, SignatureValueType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link TransformType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transform")
+ public JAXBElement<TransformType> createTransform(TransformType value) {
+ return new JAXBElement<TransformType>(_Transform_QNAME, TransformType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link X509DataType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Data")
+ public JAXBElement<X509DataType> createX509Data(X509DataType value) {
+ return new JAXBElement<X509DataType>(_X509Data_QNAME, X509DataType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestValue")
+ public JAXBElement<byte[]> createDigestValue(byte[] value) {
+ return new JAXBElement<byte[]>(_DigestValue_QNAME, byte[].class, null, ((byte[]) value));
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SignaturePropertiesType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureProperties")
+ public JAXBElement<SignaturePropertiesType> createSignatureProperties(SignaturePropertiesType value) {
+ return new JAXBElement<SignaturePropertiesType>(_SignatureProperties_QNAME, SignaturePropertiesType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyName")
+ public JAXBElement<String> createKeyName(String value) {
+ return new JAXBElement<String>(_KeyName_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link KeyValueType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyValue")
+ public JAXBElement<KeyValueType> createKeyValue(KeyValueType value) {
+ return new JAXBElement<KeyValueType>(_KeyValue_QNAME, KeyValueType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SPKISexp", scope = SPKIDataType.class)
+ public JAXBElement<byte[]> createSPKIDataTypeSPKISexp(byte[] value) {
+ return new JAXBElement<byte[]>(_SPKIDataTypeSPKISexp_QNAME, byte[].class, SPKIDataType.class, ((byte[]) value));
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPKeyID", scope = PGPDataType.class)
+ public JAXBElement<byte[]> createPGPDataTypePGPKeyID(byte[] value) {
+ return new JAXBElement<byte[]>(_PGPDataTypePGPKeyID_QNAME, byte[].class, PGPDataType.class, ((byte[]) value));
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPKeyPacket", scope = PGPDataType.class)
+ public JAXBElement<byte[]> createPGPDataTypePGPKeyPacket(byte[] value) {
+ return new JAXBElement<byte[]>(_PGPDataTypePGPKeyPacket_QNAME, byte[].class, PGPDataType.class, ((byte[]) value));
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link X509IssuerSerialType }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509IssuerSerial", scope = X509DataType.class)
+ public JAXBElement<X509IssuerSerialType> createX509DataTypeX509IssuerSerial(X509IssuerSerialType value) {
+ return new JAXBElement<X509IssuerSerialType>(_X509DataTypeX509IssuerSerial_QNAME, X509IssuerSerialType.class, X509DataType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Certificate", scope = X509DataType.class)
+ public JAXBElement<byte[]> createX509DataTypeX509Certificate(byte[] value) {
+ return new JAXBElement<byte[]>(_X509DataTypeX509Certificate_QNAME, byte[].class, X509DataType.class, ((byte[]) value));
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SKI", scope = X509DataType.class)
+ public JAXBElement<byte[]> createX509DataTypeX509SKI(byte[] value) {
+ return new JAXBElement<byte[]>(_X509DataTypeX509SKI_QNAME, byte[].class, X509DataType.class, ((byte[]) value));
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SubjectName", scope = X509DataType.class)
+ public JAXBElement<String> createX509DataTypeX509SubjectName(String value) {
+ return new JAXBElement<String>(_X509DataTypeX509SubjectName_QNAME, String.class, X509DataType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509CRL", scope = X509DataType.class)
+ public JAXBElement<byte[]> createX509DataTypeX509CRL(byte[] value) {
+ return new JAXBElement<byte[]>(_X509DataTypeX509CRL_QNAME, byte[].class, X509DataType.class, ((byte[]) value));
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "XPath", scope = TransformType.class)
+ public JAXBElement<String> createTransformTypeXPath(String value) {
+ return new JAXBElement<String>(_TransformTypeXPath_QNAME, String.class, TransformType.class, value);
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ObjectType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ObjectType.java
index 0c4509139..8f8573ead 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ObjectType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ObjectType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -22,11 +21,12 @@ import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3c.dom.Element;
-
/**
- * <p>Java class for ObjectType complex type.
+ * <p>
+ * Java class for ObjectType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ObjectType">
@@ -46,126 +46,111 @@ import org.w3c.dom.Element;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "ObjectType", propOrder = {
- "content"
-})
+@XmlType(name = "ObjectType", propOrder = { "content" })
public class ObjectType {
- @XmlMixed
- @XmlAnyElement(lax = true)
- protected List<Object> content;
- @XmlAttribute(name = "Id")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- @XmlID
- @XmlSchemaType(name = "ID")
- protected String id;
- @XmlAttribute(name = "MimeType")
- protected String mimeType;
- @XmlAttribute(name = "Encoding")
- @XmlSchemaType(name = "anyURI")
- protected String encoding;
+ @XmlMixed
+ @XmlAnyElement(lax = true)
+ protected List<Object> content;
+ @XmlAttribute(name = "Id")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String id;
+ @XmlAttribute(name = "MimeType")
+ protected String mimeType;
+ @XmlAttribute(name = "Encoding")
+ @XmlSchemaType(name = "anyURI")
+ protected String encoding;
- /**
- * Gets the value of the content property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link Object }
- * {@link Element }
- * {@link String }
- *
- *
- */
- public List<Object> getContent() {
- if (content == null) {
- content = new ArrayList<Object>();
- }
- return this.content;
- }
+ /**
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link Object } {@link Element } {@link String }
+ *
+ *
+ */
+ public List<Object> getContent() {
+ if (content == null) {
+ content = new ArrayList<Object>();
+ }
+ return this.content;
+ }
- /**
- * Gets the value of the id property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getId() {
- return id;
- }
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
- /**
- * Sets the value of the id property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setId(String value) {
- this.id = value;
- }
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
- /**
- * Gets the value of the mimeType property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getMimeType() {
- return mimeType;
- }
+ /**
+ * Gets the value of the mimeType property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getMimeType() {
+ return mimeType;
+ }
- /**
- * Sets the value of the mimeType property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setMimeType(String value) {
- this.mimeType = value;
- }
+ /**
+ * Sets the value of the mimeType property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setMimeType(String value) {
+ this.mimeType = value;
+ }
- /**
- * Gets the value of the encoding property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getEncoding() {
- return encoding;
- }
+ /**
+ * Gets the value of the encoding property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getEncoding() {
+ return encoding;
+ }
- /**
- * Sets the value of the encoding property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setEncoding(String value) {
- this.encoding = value;
- }
+ /**
+ * Sets the value of the encoding property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setEncoding(String value) {
+ this.encoding = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/PGPDataType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/PGPDataType.java
index 8c0e1ceaa..a43e2857c 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/PGPDataType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/PGPDataType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -19,11 +18,12 @@ import javax.xml.bind.annotation.XmlElementRefs;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
-
/**
- * <p>Java class for PGPDataType complex type.
+ * <p>
+ * Java class for PGPDataType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="PGPDataType">
@@ -48,58 +48,46 @@ import org.w3c.dom.Element;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "PGPDataType", propOrder = {
- "content"
-})
+@XmlType(name = "PGPDataType", propOrder = { "content" })
public class PGPDataType {
- @XmlElementRefs({
- @XmlElementRef(name = "PGPKeyPacket", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "PGPKeyID", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
- })
- @XmlAnyElement(lax = true)
- protected List<Object> content;
+ @XmlElementRefs({ @XmlElementRef(name = "PGPKeyPacket", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "PGPKeyID", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) })
+ @XmlAnyElement(lax = true)
+ protected List<Object> content;
- /**
- * Gets the rest of the content model.
- *
- * <p>
- * You are getting this "catch-all" property because of the following reason:
- * The field name "PGPKeyPacket" is used by two different parts of a schema. See:
- * line 209 of file:/C:/Source/LatestSource/webgate.ec.europa.eu/branches/IS_branch/Commons/src/main/resources/schema/xmldsig-core-schema.xsd
- * line 204 of file:/C:/Source/LatestSource/webgate.ec.europa.eu/branches/IS_branch/Commons/src/main/resources/schema/xmldsig-core-schema.xsd
- * <p>
- * To get rid of this property, apply a property customization to one
- * of both of the following declarations to change their names:
- * Gets the value of the content property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link Object }
- * {@link JAXBElement }{@code <}{@link byte[]}{@code >}
- * {@link Element }
- * {@link JAXBElement }{@code <}{@link byte[]}{@code >}
- *
- *
- */
- public List<Object> getContent() {
- if (content == null) {
- content = new ArrayList<Object>();
- }
- return this.content;
- }
+ /**
+ * Gets the rest of the content model.
+ *
+ * <p>
+ * You are getting this "catch-all" property because of the following reason: The field name "PGPKeyPacket" is used by two different parts of a schema. See: line 209 of
+ * file:/C:/Source/LatestSource/webgate.ec.europa.eu/branches/IS_branch/Commons/src/main/resources/schema/xmldsig-core-schema.xsd line 204 of
+ * file:/C:/Source/LatestSource/webgate.ec.europa.eu/branches/IS_branch/Commons/src/main/resources/schema/xmldsig-core-schema.xsd
+ * <p>
+ * To get rid of this property, apply a property customization to one of both of the following declarations to change their names: Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link Object } {@link JAXBElement }{@code <}{@link byte[]}{@code >} {@link Element } {@link JAXBElement }{@code <}{@link byte[]}{@code >}
+ *
+ *
+ */
+ public List<Object> getContent() {
+ if (content == null) {
+ content = new ArrayList<Object>();
+ }
+ return this.content;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/RSAKeyValueType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/RSAKeyValueType.java
index 892944965..eedb02899 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/RSAKeyValueType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/RSAKeyValueType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import javax.xml.bind.annotation.XmlAccessType;
@@ -13,11 +12,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for RSAKeyValueType complex type.
+ * <p>
+ * Java class for RSAKeyValueType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="RSAKeyValueType">
@@ -35,59 +35,50 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "RSAKeyValueType", propOrder = {
- "modulus",
- "exponent"
-})
+@XmlType(name = "RSAKeyValueType", propOrder = { "modulus", "exponent" })
public class RSAKeyValueType {
- @XmlElement(name = "Modulus", required = true)
- protected byte[] modulus;
- @XmlElement(name = "Exponent", required = true)
- protected byte[] exponent;
+ @XmlElement(name = "Modulus", required = true)
+ protected byte[] modulus;
+ @XmlElement(name = "Exponent", required = true)
+ protected byte[] exponent;
- /**
- * Gets the value of the modulus property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getModulus() {
- return modulus;
- }
+ /**
+ * Gets the value of the modulus property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getModulus() {
+ return modulus;
+ }
- /**
- * Sets the value of the modulus property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setModulus(byte[] value) {
- this.modulus = value;
- }
+ /**
+ * Sets the value of the modulus property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setModulus(byte[] value) {
+ this.modulus = value;
+ }
- /**
- * Gets the value of the exponent property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getExponent() {
- return exponent;
- }
+ /**
+ * Gets the value of the exponent property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getExponent() {
+ return exponent;
+ }
- /**
- * Sets the value of the exponent property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setExponent(byte[] value) {
- this.exponent = value;
- }
+ /**
+ * Sets the value of the exponent property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setExponent(byte[] value) {
+ this.exponent = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ReferenceType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ReferenceType.java
index 117949e65..83f03f3c8 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ReferenceType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/ReferenceType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import javax.xml.bind.annotation.XmlAccessType;
@@ -18,11 +17,12 @@ import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
/**
- * <p>Java class for ReferenceType complex type.
+ * <p>
+ * Java class for ReferenceType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ReferenceType">
@@ -44,171 +44,149 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "ReferenceType", propOrder = {
- "transforms",
- "digestMethod",
- "digestValue"
-})
+@XmlType(name = "ReferenceType", propOrder = { "transforms", "digestMethod", "digestValue" })
public class ReferenceType {
- @XmlElement(name = "Transforms")
- protected TransformsType transforms;
- @XmlElement(name = "DigestMethod", required = true)
- protected DigestMethodType digestMethod;
- @XmlElement(name = "DigestValue", required = true)
- protected byte[] digestValue;
- @XmlAttribute(name = "Id")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- @XmlID
- @XmlSchemaType(name = "ID")
- protected String id;
- @XmlAttribute(name = "URI")
- @XmlSchemaType(name = "anyURI")
- protected String uri;
- @XmlAttribute(name = "Type")
- @XmlSchemaType(name = "anyURI")
- protected String type;
-
- /**
- * Gets the value of the transforms property.
- *
- * @return
- * possible object is
- * {@link TransformsType }
- *
- */
- public TransformsType getTransforms() {
- return transforms;
- }
-
- /**
- * Sets the value of the transforms property.
- *
- * @param value
- * allowed object is
- * {@link TransformsType }
- *
- */
- public void setTransforms(TransformsType value) {
- this.transforms = value;
- }
-
- /**
- * Gets the value of the digestMethod property.
- *
- * @return
- * possible object is
- * {@link DigestMethodType }
- *
- */
- public DigestMethodType getDigestMethod() {
- return digestMethod;
- }
-
- /**
- * Sets the value of the digestMethod property.
- *
- * @param value
- * allowed object is
- * {@link DigestMethodType }
- *
- */
- public void setDigestMethod(DigestMethodType value) {
- this.digestMethod = value;
- }
-
- /**
- * Gets the value of the digestValue property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getDigestValue() {
- return digestValue;
- }
-
- /**
- * Sets the value of the digestValue property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setDigestValue(byte[] value) {
- this.digestValue = value;
- }
-
- /**
- * Gets the value of the id property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getId() {
- return id;
- }
-
- /**
- * Sets the value of the id property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setId(String value) {
- this.id = value;
- }
-
- /**
- * Gets the value of the uri property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getURI() {
- return uri;
- }
-
- /**
- * Sets the value of the uri property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setURI(String value) {
- this.uri = value;
- }
-
- /**
- * Gets the value of the type property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getType() {
- return type;
- }
-
- /**
- * Sets the value of the type property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setType(String value) {
- this.type = value;
- }
+ @XmlElement(name = "Transforms")
+ protected TransformsType transforms;
+ @XmlElement(name = "DigestMethod", required = true)
+ protected DigestMethodType digestMethod;
+ @XmlElement(name = "DigestValue", required = true)
+ protected byte[] digestValue;
+ @XmlAttribute(name = "Id")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String id;
+ @XmlAttribute(name = "URI")
+ @XmlSchemaType(name = "anyURI")
+ protected String uri;
+ @XmlAttribute(name = "Type")
+ @XmlSchemaType(name = "anyURI")
+ protected String type;
+
+ /**
+ * Gets the value of the transforms property.
+ *
+ * @return possible object is {@link TransformsType }
+ *
+ */
+ public TransformsType getTransforms() {
+ return transforms;
+ }
+
+ /**
+ * Sets the value of the transforms property.
+ *
+ * @param value
+ * allowed object is {@link TransformsType }
+ *
+ */
+ public void setTransforms(TransformsType value) {
+ this.transforms = value;
+ }
+
+ /**
+ * Gets the value of the digestMethod property.
+ *
+ * @return possible object is {@link DigestMethodType }
+ *
+ */
+ public DigestMethodType getDigestMethod() {
+ return digestMethod;
+ }
+
+ /**
+ * Sets the value of the digestMethod property.
+ *
+ * @param value
+ * allowed object is {@link DigestMethodType }
+ *
+ */
+ public void setDigestMethod(DigestMethodType value) {
+ this.digestMethod = value;
+ }
+
+ /**
+ * Gets the value of the digestValue property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getDigestValue() {
+ return digestValue;
+ }
+
+ /**
+ * Sets the value of the digestValue property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setDigestValue(byte[] value) {
+ this.digestValue = value;
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
+
+ /**
+ * Gets the value of the uri property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getURI() {
+ return uri;
+ }
+
+ /**
+ * Sets the value of the uri property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setURI(String value) {
+ this.uri = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setType(String value) {
+ this.type = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/RetrievalMethodType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/RetrievalMethodType.java
index a8da5c998..6f1a94de5 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/RetrievalMethodType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/RetrievalMethodType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import javax.xml.bind.annotation.XmlAccessType;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for RetrievalMethodType complex type.
+ * <p>
+ * Java class for RetrievalMethodType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="RetrievalMethodType">
@@ -38,90 +38,79 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "RetrievalMethodType", propOrder = {
- "transforms"
-})
+@XmlType(name = "RetrievalMethodType", propOrder = { "transforms" })
public class RetrievalMethodType {
- @XmlElement(name = "Transforms")
- protected TransformsType transforms;
- @XmlAttribute(name = "URI")
- @XmlSchemaType(name = "anyURI")
- protected String uri;
- @XmlAttribute(name = "Type")
- @XmlSchemaType(name = "anyURI")
- protected String type;
+ @XmlElement(name = "Transforms")
+ protected TransformsType transforms;
+ @XmlAttribute(name = "URI")
+ @XmlSchemaType(name = "anyURI")
+ protected String uri;
+ @XmlAttribute(name = "Type")
+ @XmlSchemaType(name = "anyURI")
+ protected String type;
- /**
- * Gets the value of the transforms property.
- *
- * @return
- * possible object is
- * {@link TransformsType }
- *
- */
- public TransformsType getTransforms() {
- return transforms;
- }
+ /**
+ * Gets the value of the transforms property.
+ *
+ * @return possible object is {@link TransformsType }
+ *
+ */
+ public TransformsType getTransforms() {
+ return transforms;
+ }
- /**
- * Sets the value of the transforms property.
- *
- * @param value
- * allowed object is
- * {@link TransformsType }
- *
- */
- public void setTransforms(TransformsType value) {
- this.transforms = value;
- }
+ /**
+ * Sets the value of the transforms property.
+ *
+ * @param value
+ * allowed object is {@link TransformsType }
+ *
+ */
+ public void setTransforms(TransformsType value) {
+ this.transforms = value;
+ }
- /**
- * Gets the value of the uri property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getURI() {
- return uri;
- }
+ /**
+ * Gets the value of the uri property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getURI() {
+ return uri;
+ }
- /**
- * Sets the value of the uri property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setURI(String value) {
- this.uri = value;
- }
+ /**
+ * Sets the value of the uri property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setURI(String value) {
+ this.uri = value;
+ }
- /**
- * Gets the value of the type property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getType() {
- return type;
- }
+ /**
+ * Gets the value of the type property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getType() {
+ return type;
+ }
- /**
- * Sets the value of the type property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setType(String value) {
- this.type = value;
- }
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setType(String value) {
+ this.type = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SPKIDataType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SPKIDataType.java
index a8154f49f..5199fb0e2 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SPKIDataType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SPKIDataType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -18,11 +17,12 @@ import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
-
/**
- * <p>Java class for SPKIDataType complex type.
+ * <p>
+ * Java class for SPKIDataType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="SPKIDataType">
@@ -40,44 +40,38 @@ import org.w3c.dom.Element;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "SPKIDataType", propOrder = {
- "spkiSexpAndAny"
-})
+@XmlType(name = "SPKIDataType", propOrder = { "spkiSexpAndAny" })
public class SPKIDataType {
- @XmlElementRef(name = "SPKISexp", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class)
- @XmlAnyElement(lax = true)
- protected List<Object> spkiSexpAndAny;
+ @XmlElementRef(name = "SPKISexp", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class)
+ @XmlAnyElement(lax = true)
+ protected List<Object> spkiSexpAndAny;
- /**
- * Gets the value of the spkiSexpAndAny property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the spkiSexpAndAny property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getSPKISexpAndAny().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link Element }
- * {@link JAXBElement }{@code <}{@link byte[]}{@code >}
- * {@link Object }
- *
- *
- */
- public List<Object> getSPKISexpAndAny() {
- if (spkiSexpAndAny == null) {
- spkiSexpAndAny = new ArrayList<Object>();
- }
- return this.spkiSexpAndAny;
- }
+ /**
+ * Gets the value of the spkiSexpAndAny property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the spkiSexpAndAny property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getSPKISexpAndAny().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link Element } {@link JAXBElement }{@code <}{@link byte[]}{@code >} {@link Object }
+ *
+ *
+ */
+ public List<Object> getSPKISexpAndAny() {
+ if (spkiSexpAndAny == null) {
+ spkiSexpAndAny = new ArrayList<Object>();
+ }
+ return this.spkiSexpAndAny;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureMethodType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureMethodType.java
index 20c22bd5b..4f5658011 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureMethodType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureMethodType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.math.BigInteger;
@@ -21,11 +20,12 @@ import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for SignatureMethodType complex type.
+ * <p>
+ * Java class for SignatureMethodType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="SignatureMethodType">
@@ -44,72 +44,63 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "SignatureMethodType", propOrder = {
- "content"
-})
+@XmlType(name = "SignatureMethodType", propOrder = { "content" })
public class SignatureMethodType {
- @XmlElementRef(name = "HMACOutputLength", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
- @XmlMixed
- @XmlAnyElement(lax = true)
- protected List<Object> content;
- @XmlAttribute(name = "Algorithm", required = true)
- @XmlSchemaType(name = "anyURI")
- protected String algorithm;
+ @XmlElementRef(name = "HMACOutputLength", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
+ @XmlMixed
+ @XmlAnyElement(lax = true)
+ protected List<Object> content;
+ @XmlAttribute(name = "Algorithm", required = true)
+ @XmlSchemaType(name = "anyURI")
+ protected String algorithm;
- /**
- * Gets the value of the content property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
- * {@link Object }
- * {@link String }
- *
- *
- */
- public List<Object> getContent() {
- if (content == null) {
- content = new ArrayList<Object>();
- }
- return this.content;
- }
+ /**
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link JAXBElement }{@code <}{@link BigInteger }{@code >} {@link Object } {@link String }
+ *
+ *
+ */
+ public List<Object> getContent() {
+ if (content == null) {
+ content = new ArrayList<Object>();
+ }
+ return this.content;
+ }
- /**
- * Gets the value of the algorithm property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAlgorithm() {
- return algorithm;
- }
+ /**
+ * Gets the value of the algorithm property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAlgorithm() {
+ return algorithm;
+ }
- /**
- * Sets the value of the algorithm property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAlgorithm(String value) {
- this.algorithm = value;
- }
+ /**
+ * Sets the value of the algorithm property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAlgorithm(String value) {
+ this.algorithm = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignaturePropertiesType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignaturePropertiesType.java
index 163e314d3..481abd165 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignaturePropertiesType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignaturePropertiesType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -20,11 +19,12 @@ import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
/**
- * <p>Java class for SignaturePropertiesType complex type.
+ * <p>
+ * Java class for SignaturePropertiesType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="SignaturePropertiesType">
@@ -42,70 +42,63 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "SignaturePropertiesType", propOrder = {
- "signatureProperty"
-})
+@XmlType(name = "SignaturePropertiesType", propOrder = { "signatureProperty" })
public class SignaturePropertiesType {
- @XmlElement(name = "SignatureProperty", required = true)
- protected List<SignaturePropertyType> signatureProperty;
- @XmlAttribute(name = "Id")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- @XmlID
- @XmlSchemaType(name = "ID")
- protected String id;
+ @XmlElement(name = "SignatureProperty", required = true)
+ protected List<SignaturePropertyType> signatureProperty;
+ @XmlAttribute(name = "Id")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String id;
- /**
- * Gets the value of the signatureProperty property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the signatureProperty property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getSignatureProperty().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link SignaturePropertyType }
- *
- *
- */
- public List<SignaturePropertyType> getSignatureProperty() {
- if (signatureProperty == null) {
- signatureProperty = new ArrayList<SignaturePropertyType>();
- }
- return this.signatureProperty;
- }
+ /**
+ * Gets the value of the signatureProperty property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the signatureProperty property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getSignatureProperty().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link SignaturePropertyType }
+ *
+ *
+ */
+ public List<SignaturePropertyType> getSignatureProperty() {
+ if (signatureProperty == null) {
+ signatureProperty = new ArrayList<SignaturePropertyType>();
+ }
+ return this.signatureProperty;
+ }
- /**
- * Gets the value of the id property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getId() {
- return id;
- }
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
- /**
- * Sets the value of the id property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setId(String value) {
- this.id = value;
- }
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignaturePropertyType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignaturePropertyType.java
index 1963a7399..027675315 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignaturePropertyType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignaturePropertyType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -22,11 +21,12 @@ import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3c.dom.Element;
-
/**
- * <p>Java class for SignaturePropertyType complex type.
+ * <p>
+ * Java class for SignaturePropertyType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="SignaturePropertyType">
@@ -45,100 +45,88 @@ import org.w3c.dom.Element;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "SignaturePropertyType", propOrder = {
- "content"
-})
+@XmlType(name = "SignaturePropertyType", propOrder = { "content" })
public class SignaturePropertyType {
- @XmlMixed
- @XmlAnyElement(lax = true)
- protected List<Object> content;
- @XmlAttribute(name = "Target", required = true)
- @XmlSchemaType(name = "anyURI")
- protected String target;
- @XmlAttribute(name = "Id")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- @XmlID
- @XmlSchemaType(name = "ID")
- protected String id;
+ @XmlMixed
+ @XmlAnyElement(lax = true)
+ protected List<Object> content;
+ @XmlAttribute(name = "Target", required = true)
+ @XmlSchemaType(name = "anyURI")
+ protected String target;
+ @XmlAttribute(name = "Id")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String id;
- /**
- * Gets the value of the content property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link Object }
- * {@link Element }
- * {@link String }
- *
- *
- */
- public List<Object> getContent() {
- if (content == null) {
- content = new ArrayList<Object>();
- }
- return this.content;
- }
+ /**
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link Object } {@link Element } {@link String }
+ *
+ *
+ */
+ public List<Object> getContent() {
+ if (content == null) {
+ content = new ArrayList<Object>();
+ }
+ return this.content;
+ }
- /**
- * Gets the value of the target property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getTarget() {
- return target;
- }
+ /**
+ * Gets the value of the target property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTarget() {
+ return target;
+ }
- /**
- * Sets the value of the target property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setTarget(String value) {
- this.target = value;
- }
+ /**
+ * Sets the value of the target property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTarget(String value) {
+ this.target = value;
+ }
- /**
- * Gets the value of the id property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getId() {
- return id;
- }
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
- /**
- * Sets the value of the id property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setId(String value) {
- this.id = value;
- }
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureType.java
index 3e7a1b97c..131cee1bc 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -20,11 +19,12 @@ import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
/**
- * <p>Java class for SignatureType complex type.
+ * <p>
+ * Java class for SignatureType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="SignatureType">
@@ -45,151 +45,132 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "SignatureType", propOrder = {
- "signedInfo",
- "signatureValue",
- "keyInfo",
- "object"
-})
+@XmlType(name = "SignatureType", propOrder = { "signedInfo", "signatureValue", "keyInfo", "object" })
public class SignatureType {
- @XmlElement(name = "SignedInfo", required = true)
- protected SignedInfoType signedInfo;
- @XmlElement(name = "SignatureValue", required = true)
- protected SignatureValueType signatureValue;
- @XmlElement(name = "KeyInfo")
- protected KeyInfoType keyInfo;
- @XmlElement(name = "Object")
- protected List<ObjectType> object;
- @XmlAttribute(name = "Id")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- @XmlID
- @XmlSchemaType(name = "ID")
- protected String id;
-
- /**
- * Gets the value of the signedInfo property.
- *
- * @return
- * possible object is
- * {@link SignedInfoType }
- *
- */
- public SignedInfoType getSignedInfo() {
- return signedInfo;
- }
-
- /**
- * Sets the value of the signedInfo property.
- *
- * @param value
- * allowed object is
- * {@link SignedInfoType }
- *
- */
- public void setSignedInfo(SignedInfoType value) {
- this.signedInfo = value;
- }
-
- /**
- * Gets the value of the signatureValue property.
- *
- * @return
- * possible object is
- * {@link SignatureValueType }
- *
- */
- public SignatureValueType getSignatureValue() {
- return signatureValue;
- }
-
- /**
- * Sets the value of the signatureValue property.
- *
- * @param value
- * allowed object is
- * {@link SignatureValueType }
- *
- */
- public void setSignatureValue(SignatureValueType value) {
- this.signatureValue = value;
- }
-
- /**
- * Gets the value of the keyInfo property.
- *
- * @return
- * possible object is
- * {@link KeyInfoType }
- *
- */
- public KeyInfoType getKeyInfo() {
- return keyInfo;
- }
-
- /**
- * Sets the value of the keyInfo property.
- *
- * @param value
- * allowed object is
- * {@link KeyInfoType }
- *
- */
- public void setKeyInfo(KeyInfoType value) {
- this.keyInfo = value;
- }
-
- /**
- * Gets the value of the object property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the object property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getObject().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link ObjectType }
- *
- *
- */
- public List<ObjectType> getObject() {
- if (object == null) {
- object = new ArrayList<ObjectType>();
- }
- return this.object;
- }
-
- /**
- * Gets the value of the id property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getId() {
- return id;
- }
-
- /**
- * Sets the value of the id property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setId(String value) {
- this.id = value;
- }
+ @XmlElement(name = "SignedInfo", required = true)
+ protected SignedInfoType signedInfo;
+ @XmlElement(name = "SignatureValue", required = true)
+ protected SignatureValueType signatureValue;
+ @XmlElement(name = "KeyInfo")
+ protected KeyInfoType keyInfo;
+ @XmlElement(name = "Object")
+ protected List<ObjectType> object;
+ @XmlAttribute(name = "Id")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String id;
+
+ /**
+ * Gets the value of the signedInfo property.
+ *
+ * @return possible object is {@link SignedInfoType }
+ *
+ */
+ public SignedInfoType getSignedInfo() {
+ return signedInfo;
+ }
+
+ /**
+ * Sets the value of the signedInfo property.
+ *
+ * @param value
+ * allowed object is {@link SignedInfoType }
+ *
+ */
+ public void setSignedInfo(SignedInfoType value) {
+ this.signedInfo = value;
+ }
+
+ /**
+ * Gets the value of the signatureValue property.
+ *
+ * @return possible object is {@link SignatureValueType }
+ *
+ */
+ public SignatureValueType getSignatureValue() {
+ return signatureValue;
+ }
+
+ /**
+ * Sets the value of the signatureValue property.
+ *
+ * @param value
+ * allowed object is {@link SignatureValueType }
+ *
+ */
+ public void setSignatureValue(SignatureValueType value) {
+ this.signatureValue = value;
+ }
+
+ /**
+ * Gets the value of the keyInfo property.
+ *
+ * @return possible object is {@link KeyInfoType }
+ *
+ */
+ public KeyInfoType getKeyInfo() {
+ return keyInfo;
+ }
+
+ /**
+ * Sets the value of the keyInfo property.
+ *
+ * @param value
+ * allowed object is {@link KeyInfoType }
+ *
+ */
+ public void setKeyInfo(KeyInfoType value) {
+ this.keyInfo = value;
+ }
+
+ /**
+ * Gets the value of the object property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the object property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getObject().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link ObjectType }
+ *
+ *
+ */
+ public List<ObjectType> getObject() {
+ if (object == null) {
+ object = new ArrayList<ObjectType>();
+ }
+ return this.object;
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureValueType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureValueType.java
index 6ae095c5a..af43e55cd 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureValueType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignatureValueType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import javax.xml.bind.annotation.XmlAccessType;
@@ -18,11 +17,12 @@ import javax.xml.bind.annotation.XmlValue;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
/**
- * <p>Java class for SignatureValueType complex type.
+ * <p>
+ * Java class for SignatureValueType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="SignatureValueType">
@@ -37,63 +37,55 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "SignatureValueType", propOrder = {
- "value"
-})
+@XmlType(name = "SignatureValueType", propOrder = { "value" })
public class SignatureValueType {
- @XmlValue
- protected byte[] value;
- @XmlAttribute(name = "Id")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- @XmlID
- @XmlSchemaType(name = "ID")
- protected String id;
+ @XmlValue
+ protected byte[] value;
+ @XmlAttribute(name = "Id")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String id;
- /**
- * Gets the value of the value property.
- *
- * @return
- * possible object is
- * byte[]
- */
- public byte[] getValue() {
- return value;
- }
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is byte[]
+ */
+ public byte[] getValue() {
+ return value;
+ }
- /**
- * Sets the value of the value property.
- *
- * @param value
- * allowed object is
- * byte[]
- */
- public void setValue(byte[] value) {
- this.value = value;
- }
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is byte[]
+ */
+ public void setValue(byte[] value) {
+ this.value = value;
+ }
- /**
- * Gets the value of the id property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getId() {
- return id;
- }
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
- /**
- * Sets the value of the id property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setId(String value) {
- this.id = value;
- }
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignedInfoType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignedInfoType.java
index cc82093ef..2523af53c 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignedInfoType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/SignedInfoType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -20,11 +19,12 @@ import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
/**
- * <p>Java class for SignedInfoType complex type.
+ * <p>
+ * Java class for SignedInfoType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="SignedInfoType">
@@ -44,124 +44,109 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "SignedInfoType", propOrder = {
- "canonicalizationMethod",
- "signatureMethod",
- "reference"
-})
+@XmlType(name = "SignedInfoType", propOrder = { "canonicalizationMethod", "signatureMethod", "reference" })
public class SignedInfoType {
- @XmlElement(name = "CanonicalizationMethod", required = true)
- protected CanonicalizationMethodType canonicalizationMethod;
- @XmlElement(name = "SignatureMethod", required = true)
- protected SignatureMethodType signatureMethod;
- @XmlElement(name = "Reference", required = true)
- protected List<ReferenceType> reference;
- @XmlAttribute(name = "Id")
- @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
- @XmlID
- @XmlSchemaType(name = "ID")
- protected String id;
+ @XmlElement(name = "CanonicalizationMethod", required = true)
+ protected CanonicalizationMethodType canonicalizationMethod;
+ @XmlElement(name = "SignatureMethod", required = true)
+ protected SignatureMethodType signatureMethod;
+ @XmlElement(name = "Reference", required = true)
+ protected List<ReferenceType> reference;
+ @XmlAttribute(name = "Id")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String id;
- /**
- * Gets the value of the canonicalizationMethod property.
- *
- * @return
- * possible object is
- * {@link CanonicalizationMethodType }
- *
- */
- public CanonicalizationMethodType getCanonicalizationMethod() {
- return canonicalizationMethod;
- }
+ /**
+ * Gets the value of the canonicalizationMethod property.
+ *
+ * @return possible object is {@link CanonicalizationMethodType }
+ *
+ */
+ public CanonicalizationMethodType getCanonicalizationMethod() {
+ return canonicalizationMethod;
+ }
- /**
- * Sets the value of the canonicalizationMethod property.
- *
- * @param value
- * allowed object is
- * {@link CanonicalizationMethodType }
- *
- */
- public void setCanonicalizationMethod(CanonicalizationMethodType value) {
- this.canonicalizationMethod = value;
- }
+ /**
+ * Sets the value of the canonicalizationMethod property.
+ *
+ * @param value
+ * allowed object is {@link CanonicalizationMethodType }
+ *
+ */
+ public void setCanonicalizationMethod(CanonicalizationMethodType value) {
+ this.canonicalizationMethod = value;
+ }
- /**
- * Gets the value of the signatureMethod property.
- *
- * @return
- * possible object is
- * {@link SignatureMethodType }
- *
- */
- public SignatureMethodType getSignatureMethod() {
- return signatureMethod;
- }
+ /**
+ * Gets the value of the signatureMethod property.
+ *
+ * @return possible object is {@link SignatureMethodType }
+ *
+ */
+ public SignatureMethodType getSignatureMethod() {
+ return signatureMethod;
+ }
- /**
- * Sets the value of the signatureMethod property.
- *
- * @param value
- * allowed object is
- * {@link SignatureMethodType }
- *
- */
- public void setSignatureMethod(SignatureMethodType value) {
- this.signatureMethod = value;
- }
+ /**
+ * Sets the value of the signatureMethod property.
+ *
+ * @param value
+ * allowed object is {@link SignatureMethodType }
+ *
+ */
+ public void setSignatureMethod(SignatureMethodType value) {
+ this.signatureMethod = value;
+ }
- /**
- * Gets the value of the reference property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the reference property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getReference().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link ReferenceType }
- *
- *
- */
- public List<ReferenceType> getReference() {
- if (reference == null) {
- reference = new ArrayList<ReferenceType>();
- }
- return this.reference;
- }
+ /**
+ * Gets the value of the reference property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the reference property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getReference().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link ReferenceType }
+ *
+ *
+ */
+ public List<ReferenceType> getReference() {
+ if (reference == null) {
+ reference = new ArrayList<ReferenceType>();
+ }
+ return this.reference;
+ }
- /**
- * Gets the value of the id property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getId() {
- return id;
- }
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
- /**
- * Sets the value of the id property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setId(String value) {
- this.id = value;
- }
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/TransformType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/TransformType.java
index a56f59f0e..f47dc1251 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/TransformType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/TransformType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -21,11 +20,12 @@ import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
-
/**
- * <p>Java class for TransformType complex type.
+ * <p>
+ * Java class for TransformType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="TransformType">
@@ -44,73 +44,63 @@ import org.w3c.dom.Element;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "TransformType", propOrder = {
- "content"
-})
+@XmlType(name = "TransformType", propOrder = { "content" })
public class TransformType {
- @XmlElementRef(name = "XPath", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
- @XmlMixed
- @XmlAnyElement(lax = true)
- protected List<Object> content;
- @XmlAttribute(name = "Algorithm", required = true)
- @XmlSchemaType(name = "anyURI")
- protected String algorithm;
+ @XmlElementRef(name = "XPath", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
+ @XmlMixed
+ @XmlAnyElement(lax = true)
+ protected List<Object> content;
+ @XmlAttribute(name = "Algorithm", required = true)
+ @XmlSchemaType(name = "anyURI")
+ protected String algorithm;
- /**
- * Gets the value of the content property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the content property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getContent().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link Object }
- * {@link JAXBElement }{@code <}{@link String }{@code >}
- * {@link Element }
- * {@link String }
- *
- *
- */
- public List<Object> getContent() {
- if (content == null) {
- content = new ArrayList<Object>();
- }
- return this.content;
- }
+ /**
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link Object } {@link JAXBElement }{@code <}{@link String }{@code >} {@link Element } {@link String }
+ *
+ *
+ */
+ public List<Object> getContent() {
+ if (content == null) {
+ content = new ArrayList<Object>();
+ }
+ return this.content;
+ }
- /**
- * Gets the value of the algorithm property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getAlgorithm() {
- return algorithm;
- }
+ /**
+ * Gets the value of the algorithm property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAlgorithm() {
+ return algorithm;
+ }
- /**
- * Sets the value of the algorithm property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setAlgorithm(String value) {
- this.algorithm = value;
- }
+ /**
+ * Sets the value of the algorithm property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAlgorithm(String value) {
+ this.algorithm = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/TransformsType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/TransformsType.java
index e326030fd..b31f36764 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/TransformsType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/TransformsType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -15,11 +14,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for TransformsType complex type.
+ * <p>
+ * Java class for TransformsType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="TransformsType">
@@ -36,41 +36,37 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "TransformsType", propOrder = {
- "transform"
-})
+@XmlType(name = "TransformsType", propOrder = { "transform" })
public class TransformsType {
- @XmlElement(name = "Transform", required = true)
- protected List<TransformType> transform;
+ @XmlElement(name = "Transform", required = true)
+ protected List<TransformType> transform;
- /**
- * Gets the value of the transform property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the transform property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getTransform().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link TransformType }
- *
- *
- */
- public List<TransformType> getTransform() {
- if (transform == null) {
- transform = new ArrayList<TransformType>();
- }
- return this.transform;
- }
+ /**
+ * Gets the value of the transform property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the transform property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getTransform().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link TransformType }
+ *
+ *
+ */
+ public List<TransformType> getTransform() {
+ if (transform == null) {
+ transform = new ArrayList<TransformType>();
+ }
+ return this.transform;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/X509DataType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/X509DataType.java
index 2fac2e33a..b6260d67d 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/X509DataType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/X509DataType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.util.ArrayList;
@@ -19,11 +18,12 @@ import javax.xml.bind.annotation.XmlElementRefs;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
-
/**
- * <p>Java class for X509DataType complex type.
+ * <p>
+ * Java class for X509DataType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="X509DataType">
@@ -47,54 +47,43 @@ import org.w3c.dom.Element;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "X509DataType", propOrder = {
- "x509IssuerSerialOrX509SKIOrX509SubjectName"
-})
+@XmlType(name = "X509DataType", propOrder = { "x509IssuerSerialOrX509SKIOrX509SubjectName" })
public class X509DataType {
- @XmlElementRefs({
- @XmlElementRef(name = "X509SubjectName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "X509Certificate", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "X509CRL", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "X509SKI", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "X509IssuerSerial", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
- })
- @XmlAnyElement(lax = true)
- protected List<Object> x509IssuerSerialOrX509SKIOrX509SubjectName;
+ @XmlElementRefs({ @XmlElementRef(name = "X509SubjectName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "X509Certificate", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "X509CRL", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "X509SKI", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "X509IssuerSerial", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) })
+ @XmlAnyElement(lax = true)
+ protected List<Object> x509IssuerSerialOrX509SKIOrX509SubjectName;
- /**
- * Gets the value of the x509IssuerSerialOrX509SKIOrX509SubjectName property.
- *
- * <p>
- * This accessor method returns a reference to the live list,
- * not a snapshot. Therefore any modification you make to the
- * returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the x509IssuerSerialOrX509SKIOrX509SubjectName property.
- *
- * <p>
- * For example, to add a new item, do as follows:
- * <pre>
- * getX509IssuerSerialOrX509SKIOrX509SubjectName().add(newItem);
- * </pre>
- *
- *
- * <p>
- * Objects of the following type(s) are allowed in the list
- * {@link JAXBElement }{@code <}{@link byte[]}{@code >}
- * {@link JAXBElement }{@code <}{@link byte[]}{@code >}
- * {@link Object }
- * {@link Element }
- * {@link JAXBElement }{@code <}{@link String }{@code >}
- * {@link JAXBElement }{@code <}{@link X509IssuerSerialType }{@code >}
- * {@link JAXBElement }{@code <}{@link byte[]}{@code >}
- *
- *
- */
- public List<Object> getX509IssuerSerialOrX509SKIOrX509SubjectName() {
- if (x509IssuerSerialOrX509SKIOrX509SubjectName == null) {
- x509IssuerSerialOrX509SKIOrX509SubjectName = new ArrayList<Object>();
- }
- return this.x509IssuerSerialOrX509SKIOrX509SubjectName;
- }
+ /**
+ * Gets the value of the x509IssuerSerialOrX509SKIOrX509SubjectName property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there is
+ * not a <CODE>set</CODE> method for the x509IssuerSerialOrX509SKIOrX509SubjectName property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getX509IssuerSerialOrX509SKIOrX509SubjectName().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link JAXBElement }{@code <}{@link byte[]}{@code >} {@link JAXBElement }{@code <}{@link byte[]}{@code >} {@link Object } {@link Element }
+ * {@link JAXBElement }{@code <}{@link String }{@code >} {@link JAXBElement }{@code <}{@link X509IssuerSerialType }{@code >} {@link JAXBElement }{@code <}{@link byte[]}{@code >}
+ *
+ *
+ */
+ public List<Object> getX509IssuerSerialOrX509SKIOrX509SubjectName() {
+ if (x509IssuerSerialOrX509SKIOrX509SubjectName == null) {
+ x509IssuerSerialOrX509SKIOrX509SubjectName = new ArrayList<Object>();
+ }
+ return this.x509IssuerSerialOrX509SKIOrX509SubjectName;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/X509IssuerSerialType.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/X509IssuerSerialType.java
index 48c70e6d0..7da3185c8 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/X509IssuerSerialType.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/X509IssuerSerialType.java
@@ -5,7 +5,6 @@
// Generated on: 2014.04.12 at 12:22:50 PM GMT
//
-
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
import java.math.BigInteger;
@@ -14,11 +13,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-
/**
- * <p>Java class for X509IssuerSerialType complex type.
+ * <p>
+ * Java class for X509IssuerSerialType complex type.
*
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="X509IssuerSerialType">
@@ -36,63 +36,54 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "X509IssuerSerialType", propOrder = {
- "x509IssuerName",
- "x509SerialNumber"
-})
+@XmlType(name = "X509IssuerSerialType", propOrder = { "x509IssuerName", "x509SerialNumber" })
public class X509IssuerSerialType {
- @XmlElement(name = "X509IssuerName", required = true)
- protected String x509IssuerName;
- @XmlElement(name = "X509SerialNumber", required = true)
- protected BigInteger x509SerialNumber;
+ @XmlElement(name = "X509IssuerName", required = true)
+ protected String x509IssuerName;
+ @XmlElement(name = "X509SerialNumber", required = true)
+ protected BigInteger x509SerialNumber;
- /**
- * Gets the value of the x509IssuerName property.
- *
- * @return
- * possible object is
- * {@link String }
- *
- */
- public String getX509IssuerName() {
- return x509IssuerName;
- }
+ /**
+ * Gets the value of the x509IssuerName property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getX509IssuerName() {
+ return x509IssuerName;
+ }
- /**
- * Sets the value of the x509IssuerName property.
- *
- * @param value
- * allowed object is
- * {@link String }
- *
- */
- public void setX509IssuerName(String value) {
- this.x509IssuerName = value;
- }
+ /**
+ * Sets the value of the x509IssuerName property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setX509IssuerName(String value) {
+ this.x509IssuerName = value;
+ }
- /**
- * Gets the value of the x509SerialNumber property.
- *
- * @return
- * possible object is
- * {@link BigInteger }
- *
- */
- public BigInteger getX509SerialNumber() {
- return x509SerialNumber;
- }
+ /**
+ * Gets the value of the x509SerialNumber property.
+ *
+ * @return possible object is {@link BigInteger }
+ *
+ */
+ public BigInteger getX509SerialNumber() {
+ return x509SerialNumber;
+ }
- /**
- * Sets the value of the x509SerialNumber property.
- *
- * @param value
- * allowed object is
- * {@link BigInteger }
- *
- */
- public void setX509SerialNumber(BigInteger value) {
- this.x509SerialNumber = value;
- }
+ /**
+ * Sets the value of the x509SerialNumber property.
+ *
+ * @param value
+ * allowed object is {@link BigInteger }
+ *
+ */
+ public void setX509SerialNumber(BigInteger value) {
+ this.x509SerialNumber = value;
+ }
}
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/package-info.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/package-info.java
index 9d0e537e4..52572b90c 100644
--- a/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/package-info.java
+++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/org/w3/_2000/_09/xmldsig/package-info.java
@@ -7,3 +7,4 @@
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.w3.org/2000/09/xmldsig#", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package eu.stork.peps.complex.attributes.org.w3._2000._09.xmldsig;
+
diff --git a/id/server/stork2-commons/src/main/resources/.svn/all-wcprops b/id/server/stork2-commons/src/main/resources/.svn/all-wcprops
deleted file mode 100644
index 7f5879720..000000000
--- a/id/server/stork2-commons/src/main/resources/.svn/all-wcprops
+++ /dev/null
@@ -1,17 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 64
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/resources
-END
-log4j.xml
-K 25
-svn:wc:ra_dav:version-url
-V 73
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/main/resources/log4j.xml
-END
-StorkcomplexAttributes.xsd
-K 25
-svn:wc:ra_dav:version-url
-V 91
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/main/resources/StorkcomplexAttributes.xsd
-END
diff --git a/id/server/stork2-commons/src/main/resources/.svn/entries b/id/server/stork2-commons/src/main/resources/.svn/entries
deleted file mode 100644
index e8296f4cd..000000000
--- a/id/server/stork2-commons/src/main/resources/.svn/entries
+++ /dev/null
@@ -1,96 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/main/resources
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-StorkcomplexAttributes.xsd
-file
-
-
-
-delete
-2014-03-05T09:36:07.834515Z
-312be97fd22ecb2f274bf9fdebd85b29
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-10938
-
-log4j.xml
-file
-
-
-
-
-2013-12-20T12:27:56.554475Z
-aa8c46e41a236b8c7049713b3eeecc49
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-660
-
diff --git a/id/server/stork2-commons/src/main/resources/.svn/text-base/StorkcomplexAttributes.xsd.svn-base b/id/server/stork2-commons/src/main/resources/.svn/text-base/StorkcomplexAttributes.xsd.svn-base
deleted file mode 100644
index 3c56bd318..000000000
--- a/id/server/stork2-commons/src/main/resources/.svn/text-base/StorkcomplexAttributes.xsd.svn-base
+++ /dev/null
@@ -1,305 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema elementFormDefault="qualified"
- targetNamespace="urn:eu:stork:names:tc:STORK:1.0:assertion"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol"
- xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:assertion">
- <!--QAA -->
- <xs:element name="QualityAuthenticationAssuranceLevel"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- <xs:element name="spSector" type="stork:SPSectorType" />
- <xs:element name="spApplication" type="stork:SPApplicationType" />
- <xs:element name="spCountry" type="stork:CountryCodeType" />
- <xs:element name="CitizenCountryCode" type="stork:CountryCodeType" />
- <xs:element name="RequestedAttribute" type="stork:RequestedAttributeType" />
- <xs:element name="AttributeValue" type="xs:anyType" />
- <xs:element name="canonicalResidenceAddress" type="stork:canonicalAddressType" />
- <xs:element name="countryCodeAddress" type="stork:CountryCodeType" />
-
- <xs:element name="hasDegree" type="stork:hasDegreeType" />
- <xs:element name="isStudent" type="stork:isStudentType" />
- <xs:element name="isAcademicStaff" type="stork:isAcademicStaffType" />
- <xs:element name="isTeacherOf" type="stork:isTeacherOfType" />
- <xs:element name="isCourseCoordinator" type="stork:isCourseCoordinatorType" />
- <xs:element name="isAdminStaff" type="stork:isAdminStaffType" />
- <xs:element name="habilitation" type="stork:habilitationType" />
- <xs:element name="acTitle" type="stork:acTitleType" />
- <xs:element name="hasAccountInBank" type="stork:hasAccountInBankType" />
- <xs:element name="isHealthCareProfessional" type="stork:isHealthCareProfessionalType" />
- <xs:element name="canonicalRegisteredAddress" type="stork:canonicalAddressType" />
- <xs:element name="AQAA"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- <xs:element name="mandate" type="stork:mandateType" />
- <xs:element name="study" type="stork:studyType" />
- <xs:element name="HCPType" type="stork:HCPType" />
-
- <xs:attribute name="AttributeStatus" type="stork:AttributeStatusType" />
-
- <xs:simpleType name="SPSectorType">
- <xs:restriction base="xs:string">
- <xs:minLength value="1" />
- <xs:maxLength value="20" />
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="SPApplicationType">
- <xs:restriction base="xs:string">
- <xs:minLength value="1" />
- <xs:maxLength value="100" />
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="AttributeStatusType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Available" />
- <xs:enumeration value="NotAvailable" />
- <xs:enumeration value="Withheld" />
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="studyType">
- <xs:restriction base="xs:string">
- <xs:minLength value="2" />
- <xs:maxLength value="5" />
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="LevelType">
- <xs:restriction base="xs:string">
- <xs:minLength value="1" />
- <xs:maxLength value="1" />
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="currencyType">
- <xs:restriction base="xs:string">
- <xs:minLength value="3" />
- <xs:maxLength value="3" />
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="occupationType">
- <xs:restriction base="xs:string">
- <xs:minLength value="1" />
- <xs:maxLength value="1" />
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="titleNormalisedType">
- <xs:restriction base="xs:string">
- <xs:minLength value="1" />
- <xs:maxLength value="1" />
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="HCPType">
- <xs:restriction base="xs:string">
- <xs:minLength value="1" />
- <xs:maxLength value="1" />
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="specialisationType">
- <xs:restriction base="xs:string">
- <xs:minLength value="1" />
- <xs:maxLength value="1" />
- </xs:restriction>
- </xs:simpleType>
-
-
- <xs:simpleType name="QualityAuthenticationAssuranceLevelType">
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="1" />
- <xs:maxInclusive value="4" />
- </xs:restriction>
- </xs:simpleType>
-
- <xs:complexType name="canonicalAddressType">
- <xs:sequence>
- <xs:element name="countryCodeAddress" type="stork:CountryCodeType" />
- <xs:element name="state" type="xs:string" minOccurs="0" />
- <xs:element name="municipalityCode" type="xs:string"
- minOccurs="0" />
- <xs:element name="town" type="xs:string" />
- <xs:element name="postalCode" type="xs:string" />
- <xs:element name="streetName" type="xs:string" />
- <xs:element name="streetNumber" type="xs:string"
- minOccurs="0" />
- <xs:element name="apartmentNumber" type="xs:string"
- minOccurs="0" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="hasDegreeType">
- <xs:sequence>
- <xs:element name="study" type="stork:studyType" />
- <xs:element name="level" type="stork:LevelType" />
- <xs:element name="yearObtained" type="xs:integer" />
- <xs:element name="nameOfInstitution" type="xs:string" />
- <xs:element name="AQAA"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="isAcademicStaffType">
- <xs:sequence>
- <xs:element name="nameOfInstitution" type="xs:string" />
- <xs:element name="occupation" type="stork:occupationType" />
- <xs:element name="knowledgearea" type="xs:string" />
- <xs:element name="AQAA"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="isTeacherOfType">
- <xs:sequence>
- <xs:element name="nameOfInstitution" type="xs:string" />
- <xs:element name="course" type="xs:string" />
- <xs:element name="role" type="xs:string" />
- <xs:element name="AQAA"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="isCourseCoordinatorType">
- <xs:sequence>
- <xs:element name="courseCoodinator" type="xs:string" />
- <xs:element name="AQAA"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="isAdminStaffType">
- <xs:sequence>
- <xs:element name="adminStaff" type="xs:string" />
- <xs:element name="AQAA"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="habilitation">
- <xs:sequence>
- <xs:element name="ability" type="xs:string" />
- <xs:element name="AQAA"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="acTitleType">
- <xs:sequence>
- <xs:element name="titleNormalised" type="stork:titleNormalisedType" />
- <xs:element name="AQAA"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="hasAccountInBankType">
- <xs:sequence>
- <xs:element name="bankName" type="xs:string" />
- <xs:element name="AQAA"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="isHCPType">
- <xs:sequence>
- <xs:element name="nameOfOrganisation" type="xs:string" />
- <xs:element name="HCPType" type="stork:HCPType" />
- <xs:element name="specialisation" type="stork:specialisationType" />
- <xs:element name="AQAA"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="representationPersonType">
- <xs:choice>
- <xs:sequence>
- <xs:element name="eIdentifier" type="xs:string" />
- <xs:element name="givenName" type="xs:string" />
- <xs:element name="surname" type="xs:string" />
- <xs:element name="dateOfBirth" type="xs:string" />
- </xs:sequence>
- <xs:sequence>
- <xs:element name="eLPIdentifier" type="xs:string" />
- <xs:element name="name" type="xs:string" />
- <xs:element name="address" type="xs:string" />
- <xs:element name="canonicalAddress" type="stork:canonicalAddressType" />
- <xs:element name="type" type="xs:string" />
- </xs:sequence>
- </xs:choice>
- </xs:complexType>
-
- <xs:complexType name="mandateType">
- <xs:sequence>
- <xs:element name="represented" type="stork:representationPersonType" />
- <xs:element name="representing" type="stork:representationPersonType" />
- <xs:element name="mandateContent" type="stork:mandateContentType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="mandateContentType">
- <xs:sequence>
- <xs:element name="validFrom" type="xs:date" />
- <xs:element name="validTo" type="xs:date" />
- <xs:element name="transactionLimit" type="xs:integer" />
- <xs:element name="transactionLimitCurrency" type="stork:currencyType" />
- <xs:element name="isJoint" type="xs:string" />
- <xs:element name="ischained" type="xs:boolean" />
- <xs:element name="typePower" type="xs:string" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:simpleType name="CountryCodeType">
- <xs:restriction base="xs:token">
- <xs:pattern value="[A-Z]{2}" />
- </xs:restriction>
- </xs:simpleType>
-
- <xs:complexType name="RequestedAttributeType">
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="stork:AttributeValue" />
- </xs:sequence>
- <xs:attribute name="Name" use="required" type="xs:string" />
- <xs:attribute name="NameFormat" use="required" type="xs:anyURI" />
- <xs:attribute name="FriendlyName" use="optional" type="xs:string" />
- <xs:attribute name="isRequired" use="optional" type="xs:boolean" />
- <xs:anyAttribute namespace="##other" processContents="lax" />
- </xs:complexType>
-
- <xs:complexType name="isStudentType">
- <xs:sequence>
- <xs:element ref="stork:study" />
- <xs:element name="nameOfInstitution" type="xs:string" />
- <xs:element name="course" type="xs:integer" />
- <xs:element name="AQAA"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="habilitationType">
- <xs:sequence>
- <xs:element name="ability" type="xs:string" />
- <xs:element name="AQAA"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="isHealthCareProfessionalType">
- <xs:sequence>
- <xs:element name="nameOfOrganisation" type="xs:string" />
- <xs:element ref="stork:HCPType" />
- <xs:element ref="stork:specialisation" />
- <xs:element name="AQAA"
- type="stork:QualityAuthenticationAssuranceLevelType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:element name="specialisation" type="stork:specialisationType" />
- <xs:simpleType name="medical">
- <xs:restriction base="xs:string">
- <xs:maxLength value="2" />
- <xs:minLength value="2" />
- </xs:restriction>
- </xs:simpleType>
-
-</xs:schema>
diff --git a/id/server/stork2-commons/src/main/resources/.svn/text-base/log4j.xml.svn-base b/id/server/stork2-commons/src/main/resources/.svn/text-base/log4j.xml.svn-base
deleted file mode 100644
index 8bce0bec0..000000000
--- a/id/server/stork2-commons/src/main/resources/.svn/text-base/log4j.xml.svn-base
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
- <appender name="MainLogger" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="/opt/storklogs/stork-commons.log" />
- <param name="DatePattern" value="'.'yyyy-MM-dd" />
- <param name="Append" value="true" />
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d{HH:mm:ss:SSS} - %p - %C{1} - %m%n" />
- </layout>
- </appender>
-
- <root>
- <priority value="info" />
- <appender-ref ref="MainLogger" />
- </root>
-
-</log4j:configuration>
diff --git a/id/server/stork2-commons/src/main/resources/schema/StorkcomplexAttributes.xsd b/id/server/stork2-commons/src/main/resources/schema/StorkcomplexAttributes.xsd
index 1dfd6b319..6db304388 100644
--- a/id/server/stork2-commons/src/main/resources/schema/StorkcomplexAttributes.xsd
+++ b/id/server/stork2-commons/src/main/resources/schema/StorkcomplexAttributes.xsd
@@ -1,314 +1,335 @@
<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema elementFormDefault="qualified" targetNamespace="urn:eu:stork:names:tc:STORK:1.0:assertion" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol" xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:assertion" xmlns:dps="urn:crue:academic:xsd:language:diplomasupplement" xmlns:gdp="urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma">
-<xs:import namespace="urn:crue:academic:xsd:language:diplomasupplement" schemaLocation="crue-academic-language-diplomasupplement-schema-1_1.xsd"/>
-<xs:import namespace="urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma" schemaLocation="diploma.xsd"/>
-<!--QAA -->
-<xs:element name="QualityAuthenticationAssuranceLevel" type="stork:QualityAuthenticationAssuranceLevelType"/>
-<xs:element name="spSector" type="stork:SPSectorType"/>
-<xs:element name="spApplication" type="stork:SPApplicationType"/>
-<xs:element name="spCountry" type="stork:CountryCodeType"/>
-<xs:element name="CitizenCountryCode" type="stork:CountryCodeType"/>
-<xs:element name="RequestedAttribute" type="stork:RequestedAttributeType"/>
-<xs:element name="AttributeValue" type="xs:anyType"/>
-<xs:element name="canonicalResidenceAddress" type="stork:canonicalAddressType"/>
-<xs:element name="countryCodeAddress" type="stork:CountryCodeType"/>
-<xs:element name="diplomaSupplement" type="stork:diplomaSupplementType"/>
-<xs:element name="currentStudiesSupplement" type="stork:currentStudiesType"/>
-<!-- We'll leave these new attributes for release 4 -->
-<!-- <xs:element name="languageQualification" type="stork:languageQualificationType" /> -->
-<!-- <xs:element name="academicRecommendation" type="stork:academicRecommendationType" /> -->
-<xs:element name="hasDegree" type="stork:hasDegreeType"/>
-<xs:element name="isStudent" type="stork:isStudentType"/>
-<xs:element name="isAcademicStaff" type="stork:isAcademicStaffType"/>
-<xs:element name="isTeacherOf" type="stork:isTeacherOfType"/>
-<xs:element name="isCourseCoordinator" type="stork:isCourseCoordinatorType"/>
-<xs:element name="isAdminStaff" type="stork:isAdminStaffType"/>
-<xs:element name="habilitation" type="stork:habilitationType"/>
-<xs:element name="acTitle" type="stork:acTitleType"/>
-<xs:element name="hasAccountInBank" type="stork:hasAccountInBankType"/>
-<xs:element name="isHealthCareProfessional" type="stork:isHealthCareProfessionalType"/>
-<xs:element name="isHealthCareProfessional_deprecated" type="stork:isHealthCareProfessional_deprecatedType"/>
-<xs:element name="canonicalRegisteredAddress" type="stork:canonicalAddressType"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-<xs:element name="mandate" type="stork:mandateType"/>
-<xs:element name="representationPerson" type="stork:representationPersonType"/>
-<xs:element name="mandateContent" type="stork:mandateContentType"/>
-<xs:element name="study" type="stork:studyType"/>
-<xs:element name="HCPType" type="stork:HCPType"/>
-<xs:attribute name="AttributeStatus" type="stork:AttributeStatusType"/>
-<xs:simpleType name="SPSectorType">
-<xs:restriction base="xs:string">
-<xs:minLength value="1"/>
-<xs:maxLength value="20"/>
-</xs:restriction>
-</xs:simpleType>
-<xs:simpleType name="SPApplicationType">
-<xs:restriction base="xs:string">
-<xs:minLength value="1"/>
-<xs:maxLength value="100"/>
-</xs:restriction>
-</xs:simpleType>
-<xs:simpleType name="AttributeStatusType">
-<xs:restriction base="xs:string">
-<xs:enumeration value="Available"/>
-<xs:enumeration value="NotAvailable"/>
-<xs:enumeration value="Withheld"/>
-</xs:restriction>
-</xs:simpleType>
-<xs:simpleType name="studyType">
-<xs:restriction base="xs:string"/>
-</xs:simpleType>
-<xs:simpleType name="LevelType">
-<xs:restriction base="xs:string">
-<xs:minLength value="1"/>
-<xs:maxLength value="1"/>
-</xs:restriction>
-</xs:simpleType>
-<xs:simpleType name="currencyType">
-<xs:restriction base="xs:string">
-<xs:minLength value="3"/>
-<xs:maxLength value="3"/>
-</xs:restriction>
-</xs:simpleType>
-<xs:simpleType name="occupationType">
-<xs:restriction base="xs:string">
-<xs:minLength value="1"/>
-<xs:maxLength value="1"/>
-</xs:restriction>
-</xs:simpleType>
-<xs:simpleType name="teacherRoleType">
-<xs:restriction base="xs:string">
-<xs:minLength value="1"/>
-<xs:maxLength value="1"/>
-</xs:restriction>
-</xs:simpleType>
-<xs:simpleType name="titleNormalisedType">
-<xs:restriction base="xs:string">
-<xs:minLength value="1"/>
-<xs:maxLength value="1"/>
-</xs:restriction>
-</xs:simpleType>
-<xs:simpleType name="HCPType">
-<xs:restriction base="xs:string">
-<xs:minLength value="1"/>
-<xs:maxLength value="1"/>
-</xs:restriction>
-</xs:simpleType>
-<xs:simpleType name="specialisationType">
-<xs:restriction base="xs:string">
-<xs:minLength value="1"/>
-<xs:maxLength value="1"/>
-</xs:restriction>
-</xs:simpleType>
-<xs:simpleType name="QualityAuthenticationAssuranceLevelType">
-<xs:restriction base="xs:integer">
-<xs:minInclusive value="1"/>
-<xs:maxInclusive value="4"/>
-</xs:restriction>
-</xs:simpleType>
-<xs:complexType name="canonicalAddressType">
-<xs:sequence>
-<xs:element name="countryCodeAddress" type="stork:CountryCodeType"/>
-<xs:element name="state" type="xs:string" minOccurs="0"/>
-<xs:element name="municipalityCode" type="xs:string" minOccurs="0"/>
-<xs:element name="town" type="xs:string"/>
-<xs:element name="postalCode" type="xs:string"/>
-<xs:element name="streetName" type="xs:string"/>
-<xs:element name="streetNumber" type="xs:string" minOccurs="0"/>
-<xs:element name="apartmentNumber" type="xs:string" minOccurs="0"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="hasDegreeType">
-<xs:sequence>
-<xs:element name="study" type="stork:studyType"/>
-<xs:element name="level" type="stork:LevelType"/>
-<xs:element name="yearObtained" type="xs:integer"/>
-<xs:element name="nameOfInstitution" type="xs:string"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="isAcademicStaffType">
-<xs:sequence>
-<xs:element name="nameOfInstitution" type="xs:string"/>
-<xs:element name="occupation" type="stork:occupationType"/>
-<xs:element name="knowledgeArea" type="xs:string" minOccurs="0"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="isTeacherOfType">
-<xs:sequence>
-<xs:element name="nameOfInstitution" type="xs:string"/>
-<xs:element name="course" type="xs:string"/>
-<xs:element name="role" type="stork:teacherRoleType"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="isCourseCoordinatorType">
-<xs:sequence>
-<xs:element name="courseCoodinator" type="xs:string"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="isAdminStaffType">
-<xs:sequence>
-<xs:element name="adminStaff" type="xs:string"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="habilitation">
-<xs:sequence>
-<xs:element name="ability" type="xs:string"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="acTitleType">
-<xs:sequence>
-<xs:element name="titleNormalised" type="stork:titleNormalisedType"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="hasAccountInBankType">
-<xs:sequence>
-<xs:element name="bankName" type="xs:string"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="isHCPType">
-<xs:sequence>
-<xs:element name="nameOfOrganisation" type="xs:string"/>
-<xs:element name="HCPType" type="stork:HCPType"/>
-<xs:element name="specialisation" type="stork:specialisationType"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="representationPersonType">
-<xs:choice>
-<xs:sequence>
-<xs:element name="eIdentifier" type="xs:string"/>
-<xs:element name="givenName" type="xs:string"/>
-<xs:element name="surname" type="xs:string"/>
-<xs:element name="dateOfBirth" type="xs:string"/>
-</xs:sequence>
-<xs:sequence>
-<xs:element name="eLPIdentifier" type="xs:string"/>
-<xs:element name="legalName" type="xs:string"/>
-<xs:element name="textRegisteredAddress" type="xs:string"/>
-<xs:element name="canonicalRegisteredAddress" type="stork:canonicalAddressType"/>
-<xs:element name="legalForm" type="xs:string"/>
-</xs:sequence>
-</xs:choice>
-</xs:complexType>
-<xs:complexType name="TransactionLimitRestrictionType">
-<xs:sequence>
-<xs:element name="amount" type="xs:decimal"/>
-<xs:element name="currency" type="xs:string"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="TimeRestrictionType">
-<xs:sequence>
-<xs:element name="validFrom" type="xs:date"/>
-<xs:element name="validTo" type="xs:date"/>
-</xs:sequence>
-</xs:complexType>
-<!-- <xs:complexType name="originalMandateType"> -->
-<!-- <xs:simpleContent> -->
-<!-- <xs:extension base="xs:base64Binary"> -->
-<!-- <xs:attribute -->
-<!-- name="type" -->
-<!-- type="xs:string"> -->
-<!-- </xs:attribute> -->
-<!-- </xs:extension> -->
-<!-- </xs:simpleContent> -->
-<!-- </xs:complexType> -->
-<xs:complexType name="mandateContentType">
-<xs:sequence>
-<xs:element name="typePower" type="xs:string"/>
-<!-- Misspelled attribute typeOfPower-->
-<xs:element name="typeOfPower" type="xs:string"/>
-<xs:element name="timeRestriction" type="stork:TimeRestrictionType"/>
-
-<xs:element name="isJoined" type="xs:string"/>
-<!-- Misspelled attribute isJoint-->
-<xs:element name="isJoint" type="xs:string"/>
-<xs:element name="isChained" type="xs:boolean"/>
-<xs:element name="originalMandate" type="xs:base64Binary"/>
-<xs:element name="originalMandateType" type="xs:string"/>
-<xs:element name="transactionLimit" type="stork:TransactionLimitRestrictionType"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="mandateType">
-<xs:sequence>
-<xs:element name="represented" type="stork:representationPersonType"/>
-<xs:element name="representing" type="stork:representationPersonType"/>
-<!-- Misspelled attribute representative-->
-<xs:element name="representative" type="stork:representationPersonType"/>
-<xs:element name="mandateContent" type="stork:mandateContentType" maxOccurs="unbounded"/>
-</xs:sequence>
-</xs:complexType>
-<xs:simpleType name="CountryCodeType">
-<xs:restriction base="xs:token">
-<xs:pattern value="[A-Z]{2}"/>
-</xs:restriction>
-</xs:simpleType>
-<xs:complexType name="RequestedAttributeType">
-<xs:sequence>
-<xs:element minOccurs="0" maxOccurs="unbounded" ref="stork:AttributeValue"/>
-</xs:sequence>
-<xs:attribute name="Name" use="required" type="xs:string"/>
-<xs:attribute name="NameFormat" use="required" type="xs:anyURI"/>
-<xs:attribute name="FriendlyName" use="optional" type="xs:string"/>
-<xs:attribute name="isRequired" use="optional" type="xs:boolean"/>
-<xs:anyAttribute namespace="##other" processContents="lax"/>
-</xs:complexType>
-<xs:complexType name="isStudentType">
-<xs:sequence>
-<xs:element ref="stork:study" minOccurs="0"/>
-<xs:element name="nameOfInstitution" type="xs:string"/>
-<xs:element name="course" type="xs:string" minOccurs="0"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="habilitationType">
-<xs:sequence>
-<xs:element name="ability" type="xs:string"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="isHealthCareProfessional_deprecatedType">
-<xs:sequence>
-<xs:element name="nameOfOrganisation" type="xs:string"/>
-<xs:element ref="stork:HCPType"/>
-<xs:element ref="stork:specialisation"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="diplomaSupplementType">
-<xs:sequence>
-<xs:choice>
-<xs:element ref="dps:MultilingualDiplomaSupplement"/>
-<xs:element ref="dps:DiplomaSupplement"/>
-<xs:element ref="gdp:MultilingualGeneralDiploma"/>
-<xs:element ref="gdp:GeneralDiploma"/>
-</xs:choice>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-<xs:any minOccurs="0"/>
-</xs:sequence>
-</xs:complexType>
-<xs:complexType name="currentStudiesType">
-<xs:sequence>
-<xs:choice>
-<xs:element ref="gdp:MultilingualGeneralDiploma"/>
-<xs:element ref="gdp:GeneralDiploma"/>
-</xs:choice>
-<xs:element name="yearOfStudy" type="xs:integer"/>
-<xs:element name="isEligibleForInternship" type="xs:boolean"/>
-<xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType"/>
-<xs:any minOccurs="0"/>
-</xs:sequence>
-</xs:complexType>
-<!-- We'll leave these new attributes for release 4 -->
-<!--
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dps="urn:crue:academic:xsd:language:diplomasupplement" xmlns:gdp="urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma" xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:assertion" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol" elementFormDefault="qualified" targetNamespace="urn:eu:stork:names:tc:STORK:1.0:assertion">
+ <xs:import namespace="urn:crue:academic:xsd:language:diplomasupplement" schemaLocation="crue-academic-language-diplomasupplement-schema-1_1.xsd" />
+ <xs:import namespace="urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma" schemaLocation="diploma.xsd" />
+ <!--QAA -->
+ <xs:element name="QualityAuthenticationAssuranceLevel" type="stork:QualityAuthenticationAssuranceLevelType" />
+ <xs:element name="spSector" type="stork:SPSectorType" />
+ <xs:element name="spApplication" type="stork:SPApplicationType" />
+ <xs:element name="spCountry" type="stork:CountryCodeType" />
+ <xs:element name="CitizenCountryCode" type="stork:CountryCodeType" />
+ <xs:element name="RequestedAttribute" type="stork:RequestedAttributeType" />
+ <xs:element name="AttributeValue" type="xs:anyType" />
+ <xs:element name="canonicalResidenceAddress" type="stork:canonicalAddressType" />
+ <xs:element name="countryCodeAddress" type="stork:CountryCodeType" />
+ <xs:element name="diplomaSupplement" type="stork:diplomaSupplementType" />
+ <xs:element name="currentStudiesSupplement" type="stork:currentStudiesType" />
+ <!-- We'll leave these new attributes for release 4 -->
+ <!-- <xs:element name="languageQualification" type="stork:languageQualificationType" /> -->
+ <!-- <xs:element name="academicRecommendation" type="stork:academicRecommendationType" /> -->
+ <xs:element name="hasDegree" type="stork:hasDegreeType" />
+ <xs:element name="isStudent" type="stork:isStudentType" />
+ <xs:element name="isAcademicStaff" type="stork:isAcademicStaffType" />
+ <xs:element name="isTeacherOf" type="stork:isTeacherOfType" />
+ <xs:element name="isCourseCoordinator" type="stork:isCourseCoordinatorType" />
+ <xs:element name="isAdminStaff" type="stork:isAdminStaffType" />
+ <xs:element name="habilitation" type="stork:habilitationType" />
+ <xs:element name="acTitle" type="stork:acTitleType" />
+ <xs:element name="hasAccountInBank" type="stork:hasAccountInBankType" />
+ <xs:element name="isHealthCareProfessional" type="stork:isHealthCareProfessionalType" />
+ <xs:element name="canonicalRegisteredAddress" type="stork:canonicalAddressType" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ <xs:element name="mandate" type="stork:mandateType" />
+ <xs:element name="representationPerson" type="stork:representationPersonType" />
+ <xs:element name="mandateContent" type="stork:mandateContentType" />
+ <xs:element name="study" type="stork:studyType" />
+ <xs:element name="HCPType" type="stork:HCPType" />
+ <xs:attribute name="AttributeStatus" type="stork:AttributeStatusType" />
+ <xs:simpleType name="SPSectorType">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1" />
+ <xs:maxLength value="20" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="SPApplicationType">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1" />
+ <xs:maxLength value="100" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="AttributeStatusType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Available" />
+ <xs:enumeration value="NotAvailable" />
+ <xs:enumeration value="Withheld" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="studyType">
+ <xs:restriction base="xs:string" />
+ </xs:simpleType>
+ <xs:simpleType name="LevelType">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1" />
+ <xs:maxLength value="1" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="currencyType">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="3" />
+ <xs:maxLength value="3" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="occupationType">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1" />
+ <xs:maxLength value="1" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="teacherRoleType">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1" />
+ <xs:maxLength value="1" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="titleNormalisedType">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1" />
+ <xs:maxLength value="1" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="HCPType">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1" />
+ <xs:maxLength value="1" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="specialisationType">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1" />
+ <xs:maxLength value="1" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="QualityAuthenticationAssuranceLevelType">
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="1" />
+ <xs:maxInclusive value="4" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="canonicalAddressType">
+ <xs:sequence>
+ <xs:element name="countryCodeAddress" type="stork:CountryCodeType" />
+ <xs:element name="state" type="xs:string" minOccurs="0" />
+ <xs:element name="municipalityCode" type="xs:string" minOccurs="0" />
+ <xs:element name="town" type="xs:string" />
+ <xs:element name="postalCode" type="xs:string" />
+ <xs:element name="streetName" type="xs:string" />
+ <xs:element name="streetNumber" type="xs:string" minOccurs="0" />
+ <xs:element name="apartmentNumber" type="xs:string" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="hasDegreeType">
+ <xs:sequence>
+ <xs:element name="study" type="stork:studyType" />
+ <xs:element name="level" type="stork:LevelType" />
+ <xs:element name="yearObtained" type="xs:integer" />
+ <xs:element name="nameOfInstitution" type="xs:string" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="isAcademicStaffType">
+ <xs:sequence>
+ <xs:element name="nameOfInstitution" type="xs:string" />
+ <xs:element name="occupation" type="stork:occupationType" />
+ <xs:element name="knowledgeArea" type="xs:string" minOccurs="0" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="isTeacherOfType">
+ <xs:sequence>
+ <xs:element name="nameOfInstitution" type="xs:string" />
+ <xs:element name="course" type="xs:string" />
+ <xs:element name="role" type="stork:teacherRoleType" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="isCourseCoordinatorType">
+ <xs:sequence>
+ <xs:element name="courseCoodinator" type="xs:string" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="isAdminStaffType">
+ <xs:sequence>
+ <xs:element name="adminStaff" type="xs:string" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="habilitation">
+ <xs:sequence>
+ <xs:element name="ability" type="xs:string" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="acTitleType">
+ <xs:sequence>
+ <xs:element name="titleNormalised" type="stork:titleNormalisedType" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="hasAccountInBankType">
+ <xs:sequence>
+ <xs:element name="bankName" type="xs:string" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="isHCPType">
+ <xs:sequence>
+ <xs:element name="nameOfOrganisation" type="xs:string" />
+ <xs:element name="HCPType" type="stork:HCPType" />
+ <xs:element name="specialisation" type="stork:specialisationType" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="representationPersonType">
+ <xs:choice>
+ <xs:sequence>
+ <xs:element name="eIdentifier" type="xs:string" />
+ <xs:element name="givenName" type="xs:string" />
+ <xs:element name="surname" type="xs:string" />
+ <xs:element name="dateOfBirth" type="xs:string" />
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element name="eLPIdentifier" type="xs:string" />
+ <xs:element name="legalName" type="xs:string" />
+ <xs:element name="textRegisteredAddress" type="xs:string" />
+ <xs:element name="canonicalRegisteredAddress" type="stork:canonicalAddressType" />
+ <xs:element name="legalForm" type="xs:string" />
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="TransactionLimitRestrictionType">
+ <xs:sequence>
+ <xs:element name="amount" type="xs:decimal" />
+ <xs:element name="currency" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TimeRestrictionType">
+ <xs:sequence>
+ <xs:element name="validFrom" type="xs:date" />
+ <xs:element name="validTo" type="xs:date" />
+ </xs:sequence>
+ </xs:complexType>
+ <!-- <xs:complexType name="originalMandateType"> -->
+ <!-- <xs:simpleContent> -->
+ <!-- <xs:extension base="xs:base64Binary"> -->
+ <!-- <xs:attribute -->
+ <!-- name="type" -->
+ <!-- type="xs:string"> -->
+ <!-- </xs:attribute> -->
+ <!-- </xs:extension> -->
+ <!-- </xs:simpleContent> -->
+ <!-- </xs:complexType> -->
+ <xs:complexType name="mandateContentType">
+ <xs:sequence>
+ <xs:element name="typePower" type="xs:string" />
+ <!-- Misspelled attribute typeOfPower-->
+ <xs:element name="typeOfPower" type="xs:string" />
+ <xs:element name="timeRestriction" type="stork:TimeRestrictionType" />
+ <xs:element name="isJoined" type="xs:string" />
+ <!-- Misspelled attribute isJoint-->
+ <xs:element name="isJoint" type="xs:string" />
+ <xs:element name="isChained" type="xs:boolean" />
+ <xs:element name="originalMandate" type="xs:base64Binary" />
+ <xs:element name="originalMandateType" type="xs:string" />
+ <xs:element name="transactionLimit" type="stork:TransactionLimitRestrictionType" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="mandateType">
+ <xs:sequence>
+ <xs:element name="represented" type="stork:representationPersonType" />
+ <xs:element name="representing" type="stork:representationPersonType" />
+ <!-- Misspelled attribute representative-->
+ <xs:element name="representative" type="stork:representationPersonType" />
+ <xs:element name="mandateContent" type="stork:mandateContentType" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="CountryCodeType">
+ <xs:restriction base="xs:token">
+ <xs:pattern value="[A-Z]{2}" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="RequestedAttributeType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="stork:AttributeValue" />
+ </xs:sequence>
+ <xs:attribute name="Name" use="required" type="xs:string" />
+ <xs:attribute name="NameFormat" use="required" type="xs:anyURI" />
+ <xs:attribute name="FriendlyName" use="optional" type="xs:string" />
+ <xs:attribute name="isRequired" use="optional" type="xs:boolean" />
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:complexType>
+ <xs:complexType name="isStudentType">
+ <xs:sequence>
+ <xs:element ref="stork:study" minOccurs="0" />
+ <xs:element name="nameOfInstitution" type="xs:string" />
+ <xs:element name="course" type="xs:string" minOccurs="0" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="habilitationType">
+ <xs:sequence>
+ <xs:element name="ability" type="xs:string" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="isHealthCareProfessionalType">
+ <xs:sequence>
+ <xs:element name="typeOfHCP">
+ <xs:simpleType>
+ <xs:restriction base="xs:anyURI">
+ <xs:enumeration value="dentist" />
+ <xs:enumeration value="nurse" />
+ <xs:enumeration value="pharmacist" />
+ <xs:enumeration value="physician" />
+ <xs:enumeration value="nurse midwife" />
+ <xs:enumeration value="admission clerk" />
+ <xs:enumeration value="ancillary services" />
+ <xs:enumeration value="clinical services" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="nameOfOrganisation" type="xs:string" />
+ <xs:element name="typeOfOrganisation">
+ <xs:simpleType>
+ <xs:restriction base="xs:anyURI">
+ <xs:enumeration value="Hospital" />
+ <xs:enumeration value="Resident Physician" />
+ <xs:enumeration value="Pharmacy" />
+ <xs:enumeration value="Other" />
+ <xs:enumeration value="Unknown" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="diplomaSupplementType">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element ref="dps:MultilingualDiplomaSupplement" />
+ <xs:element ref="dps:DiplomaSupplement" />
+ <xs:element ref="gdp:MultilingualGeneralDiploma" />
+ <xs:element ref="gdp:GeneralDiploma" />
+ </xs:choice>
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ <xs:any minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="currentStudiesType">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element ref="gdp:MultilingualGeneralDiploma" />
+ <xs:element ref="gdp:GeneralDiploma" />
+ </xs:choice>
+ <xs:element name="yearOfStudy" type="xs:integer" />
+ <xs:element name="isEligibleForInternship" type="xs:boolean" />
+ <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
+ <xs:any minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ <!-- We'll leave these new attributes for release 4 -->
+ <!--
<xs:complexType name="languageQualificationType">
<xs:sequence>
<xs:element name="language" type="stork:languageType" />
@@ -353,44 +374,12 @@
</xs:restriction>
</xs:simpleType>
--->
-<xs:element name="specialisation" type="stork:specialisationType"/>
-<xs:simpleType name="medical">
-<xs:restriction base="xs:string">
-<xs:maxLength value="2"/>
-<xs:minLength value="2"/>
-</xs:restriction>
-</xs:simpleType>
-
- <xs:complexType name="isHealthCareProfessionalType">
- <xs:sequence>
- <xs:element name="typeOfHCP">
- <xs:simpleType>
- <xs:restriction base="xs:anyURI">
- <xs:enumeration value="dentist" />
- <xs:enumeration value="nurse" />
- <xs:enumeration value="pharmacist" />
- <xs:enumeration value="physician" />
- <xs:enumeration value="nurse midwife" />
- <xs:enumeration value="admission clerk" />
- <xs:enumeration value="ancillary services" />
- <xs:enumeration value="clinical services" />
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="nameOfOrganisation" type="xs:string" />
- <xs:element name="typeOfOrganisation">
- <xs:simpleType>
- <xs:restriction base="xs:anyURI">
- <xs:enumeration value="Hospital" />
- <xs:enumeration value="Resident Physician" />
- <xs:enumeration value="Pharmacy" />
- <xs:enumeration value="Other" />
- <xs:enumeration value="Unknown" />
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="AQAA" type="stork:QualityAuthenticationAssuranceLevelType" />
- </xs:sequence>
- </xs:complexType>
-</xs:schema>
+ -->
+ <xs:element name="specialisation" type="stork:specialisationType" />
+ <xs:simpleType name="medical">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="2" />
+ <xs:minLength value="2" />
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema> \ No newline at end of file
diff --git a/id/server/stork2-commons/src/main/resources/schema/diploma.xsd b/id/server/stork2-commons/src/main/resources/schema/diploma.xsd
index bea3d03f1..b1c0b060f 100644
--- a/id/server/stork2-commons/src/main/resources/schema/diploma.xsd
+++ b/id/server/stork2-commons/src/main/resources/schema/diploma.xsd
@@ -1,1686 +1,1686 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
- xmlns:gd="urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified" version="1.1">
+ xmlns:gd="urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="urn:eu:stork:names:tc:STORK:2.0:academic:generaldiploma"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified" version="1.1">
- <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
- <xs:simpleType name="AcademicYearType">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
+ <xs:simpleType name="AcademicYearType">
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
- <xs:simpleType name="CountryType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="AD">
- </xs:enumeration>
- <xs:enumeration value="AE">
- </xs:enumeration>
- <xs:enumeration value="AF">
- </xs:enumeration>
- <xs:enumeration value="AG">
- </xs:enumeration>
- <xs:enumeration value="AL">
- </xs:enumeration>
- <xs:enumeration value="AM">
- </xs:enumeration>
- <xs:enumeration value="AO">
- </xs:enumeration>
- <xs:enumeration value="AR">
- </xs:enumeration>
- <xs:enumeration value="AT">
- </xs:enumeration>
- <xs:enumeration value="AU">
- </xs:enumeration>
- <xs:enumeration value="AZ">
- </xs:enumeration>
- <xs:enumeration value="BA">
- </xs:enumeration>
- <xs:enumeration value="BB">
- </xs:enumeration>
- <xs:enumeration value="BD">
- </xs:enumeration>
- <xs:enumeration value="BE">
- </xs:enumeration>
- <xs:enumeration value="BF">
- </xs:enumeration>
- <xs:enumeration value="BG">
- </xs:enumeration>
- <xs:enumeration value="BH">
- </xs:enumeration>
- <xs:enumeration value="BI">
- </xs:enumeration>
- <xs:enumeration value="BJ">
- </xs:enumeration>
- <xs:enumeration value="BN">
- </xs:enumeration>
- <xs:enumeration value="BO">
- </xs:enumeration>
- <xs:enumeration value="BR">
- </xs:enumeration>
- <xs:enumeration value="BS">
- </xs:enumeration>
- <xs:enumeration value="BT">
- </xs:enumeration>
- <xs:enumeration value="BW">
- </xs:enumeration>
- <xs:enumeration value="BY">
- </xs:enumeration>
- <xs:enumeration value="BZ">
- </xs:enumeration>
- <xs:enumeration value="CA">
- </xs:enumeration>
- <xs:enumeration value="CD">
- </xs:enumeration>
- <xs:enumeration value="CF">
- </xs:enumeration>
- <xs:enumeration value="CG">
- </xs:enumeration>
- <xs:enumeration value="CH">
- </xs:enumeration>
- <xs:enumeration value="CI">
- </xs:enumeration>
- <xs:enumeration value="CL">
- </xs:enumeration>
- <xs:enumeration value="CM">
- </xs:enumeration>
- <xs:enumeration value="CN">
- </xs:enumeration>
- <xs:enumeration value="CO">
- </xs:enumeration>
- <xs:enumeration value="CR">
- </xs:enumeration>
- <xs:enumeration value="CU">
- </xs:enumeration>
- <xs:enumeration value="CV">
- </xs:enumeration>
- <xs:enumeration value="CY">
- </xs:enumeration>
- <xs:enumeration value="CZ">
- </xs:enumeration>
- <xs:enumeration value="DE">
- </xs:enumeration>
- <xs:enumeration value="DJ">
- </xs:enumeration>
- <xs:enumeration value="DK">
- </xs:enumeration>
- <xs:enumeration value="DM">
- </xs:enumeration>
- <xs:enumeration value="DO">
- </xs:enumeration>
- <xs:enumeration value="DZ">
- </xs:enumeration>
- <xs:enumeration value="EC">
- </xs:enumeration>
- <xs:enumeration value="EE">
- </xs:enumeration>
- <xs:enumeration value="EG">
- </xs:enumeration>
- <xs:enumeration value="ER">
- </xs:enumeration>
- <xs:enumeration value="ES">
- </xs:enumeration>
- <xs:enumeration value="ET">
- </xs:enumeration>
- <xs:enumeration value="FI">
- </xs:enumeration>
- <xs:enumeration value="FJ">
- </xs:enumeration>
- <xs:enumeration value="FM">
- </xs:enumeration>
- <xs:enumeration value="FR">
- </xs:enumeration>
- <xs:enumeration value="GA">
- </xs:enumeration>
- <xs:enumeration value="GB">
- </xs:enumeration>
- <xs:enumeration value="GD">
- </xs:enumeration>
- <xs:enumeration value="GE">
- </xs:enumeration>
- <xs:enumeration value="GH">
- </xs:enumeration>
- <xs:enumeration value="GL">
- </xs:enumeration>
- <xs:enumeration value="GM">
- </xs:enumeration>
- <xs:enumeration value="GN">
- </xs:enumeration>
- <xs:enumeration value="GQ">
- </xs:enumeration>
- <xs:enumeration value="GR">
- </xs:enumeration>
- <xs:enumeration value="GT">
- </xs:enumeration>
- <xs:enumeration value="GW">
- </xs:enumeration>
- <xs:enumeration value="GY">
- </xs:enumeration>
- <xs:enumeration value="HN">
- </xs:enumeration>
- <xs:enumeration value="HR">
- </xs:enumeration>
- <xs:enumeration value="HT">
- </xs:enumeration>
- <xs:enumeration value="HU">
- </xs:enumeration>
- <xs:enumeration value="ID">
- </xs:enumeration>
- <xs:enumeration value="IE">
- </xs:enumeration>
- <xs:enumeration value="IL">
- </xs:enumeration>
- <xs:enumeration value="IN">
- </xs:enumeration>
- <xs:enumeration value="IQ">
- </xs:enumeration>
- <xs:enumeration value="IR">
- </xs:enumeration>
- <xs:enumeration value="IS">
- </xs:enumeration>
- <xs:enumeration value="IT">
- </xs:enumeration>
- <xs:enumeration value="JM">
- </xs:enumeration>
- <xs:enumeration value="JO">
- </xs:enumeration>
- <xs:enumeration value="JP">
- </xs:enumeration>
- <xs:enumeration value="KE">
- </xs:enumeration>
- <xs:enumeration value="KG">
- </xs:enumeration>
- <xs:enumeration value="KH">
- </xs:enumeration>
- <xs:enumeration value="KI">
- </xs:enumeration>
- <xs:enumeration value="KM">
- </xs:enumeration>
- <xs:enumeration value="KN">
- </xs:enumeration>
- <xs:enumeration value="KP">
- </xs:enumeration>
- <xs:enumeration value="KR">
- </xs:enumeration>
- <xs:enumeration value="KW">
- </xs:enumeration>
- <xs:enumeration value="KZ">
- </xs:enumeration>
- <xs:enumeration value="LA">
- </xs:enumeration>
- <xs:enumeration value="LB">
- </xs:enumeration>
- <xs:enumeration value="LC">
- </xs:enumeration>
- <xs:enumeration value="LI">
- </xs:enumeration>
- <xs:enumeration value="LK">
- </xs:enumeration>
- <xs:enumeration value="LR">
- </xs:enumeration>
- <xs:enumeration value="LS">
- </xs:enumeration>
- <xs:enumeration value="LT">
- </xs:enumeration>
- <xs:enumeration value="LU">
- </xs:enumeration>
- <xs:enumeration value="LV">
- </xs:enumeration>
- <xs:enumeration value="LY">
- </xs:enumeration>
- <xs:enumeration value="MA">
- </xs:enumeration>
- <xs:enumeration value="MC">
- </xs:enumeration>
- <xs:enumeration value="MD">
- </xs:enumeration>
- <xs:enumeration value="ME">
- </xs:enumeration>
- <xs:enumeration value="MG">
- </xs:enumeration>
- <xs:enumeration value="MH">
- </xs:enumeration>
- <xs:enumeration value="MK">
- </xs:enumeration>
- <xs:enumeration value="ML">
- </xs:enumeration>
- <xs:enumeration value="MM">
- </xs:enumeration>
- <xs:enumeration value="MN">
- </xs:enumeration>
- <xs:enumeration value="MR">
- </xs:enumeration>
- <xs:enumeration value="MT">
- </xs:enumeration>
- <xs:enumeration value="MU">
- </xs:enumeration>
- <xs:enumeration value="MV">
- </xs:enumeration>
- <xs:enumeration value="MW">
- </xs:enumeration>
- <xs:enumeration value="MX">
- </xs:enumeration>
- <xs:enumeration value="MY">
- </xs:enumeration>
- <xs:enumeration value="MZ">
- </xs:enumeration>
- <xs:enumeration value="NA">
- </xs:enumeration>
- <xs:enumeration value="NE">
- </xs:enumeration>
- <xs:enumeration value="NG">
- </xs:enumeration>
- <xs:enumeration value="NI">
- </xs:enumeration>
- <xs:enumeration value="NL">
- </xs:enumeration>
- <xs:enumeration value="NO">
- </xs:enumeration>
- <xs:enumeration value="NP">
- </xs:enumeration>
- <xs:enumeration value="NR">
- </xs:enumeration>
- <xs:enumeration value="NU">
- </xs:enumeration>
- <xs:enumeration value="NZ">
- </xs:enumeration>
- <xs:enumeration value="OM">
- </xs:enumeration>
- <xs:enumeration value="PA">
- </xs:enumeration>
- <xs:enumeration value="PE">
- </xs:enumeration>
- <xs:enumeration value="PG">
- </xs:enumeration>
- <xs:enumeration value="PH">
- </xs:enumeration>
- <xs:enumeration value="PK">
- </xs:enumeration>
- <xs:enumeration value="PL">
- </xs:enumeration>
- <xs:enumeration value="PR">
- </xs:enumeration>
- <xs:enumeration value="PS">
- </xs:enumeration>
- <xs:enumeration value="PT">
- </xs:enumeration>
- <xs:enumeration value="PW">
- </xs:enumeration>
- <xs:enumeration value="PY">
- </xs:enumeration>
- <xs:enumeration value="QA">
- </xs:enumeration>
- <xs:enumeration value="RO">
- </xs:enumeration>
- <xs:enumeration value="RS">
- </xs:enumeration>
- <xs:enumeration value="RU">
- </xs:enumeration>
- <xs:enumeration value="RW">
- </xs:enumeration>
- <xs:enumeration value="SA">
- </xs:enumeration>
- <xs:enumeration value="SB">
- </xs:enumeration>
- <xs:enumeration value="SC">
- </xs:enumeration>
- <xs:enumeration value="SD">
- </xs:enumeration>
- <xs:enumeration value="SE">
- </xs:enumeration>
- <xs:enumeration value="SG">
- </xs:enumeration>
- <xs:enumeration value="SI">
- </xs:enumeration>
- <xs:enumeration value="SK">
- </xs:enumeration>
- <xs:enumeration value="SL">
- </xs:enumeration>
- <xs:enumeration value="SM">
- </xs:enumeration>
- <xs:enumeration value="SN">
- </xs:enumeration>
- <xs:enumeration value="SO">
- </xs:enumeration>
- <xs:enumeration value="SR">
- </xs:enumeration>
- <xs:enumeration value="ST">
- </xs:enumeration>
- <xs:enumeration value="SV">
- </xs:enumeration>
- <xs:enumeration value="SY">
- </xs:enumeration>
- <xs:enumeration value="SZ">
- </xs:enumeration>
- <xs:enumeration value="TD">
- </xs:enumeration>
- <xs:enumeration value="TG">
- </xs:enumeration>
- <xs:enumeration value="TH">
- </xs:enumeration>
- <xs:enumeration value="TJ">
- </xs:enumeration>
- <xs:enumeration value="TL">
- </xs:enumeration>
- <xs:enumeration value="TM">
- </xs:enumeration>
- <xs:enumeration value="TN">
- </xs:enumeration>
- <xs:enumeration value="TO">
- </xs:enumeration>
- <xs:enumeration value="TR">
- </xs:enumeration>
- <xs:enumeration value="TT">
- </xs:enumeration>
- <xs:enumeration value="TV">
- </xs:enumeration>
- <xs:enumeration value="TZ">
- </xs:enumeration>
- <xs:enumeration value="UA">
- </xs:enumeration>
- <xs:enumeration value="UG">
- </xs:enumeration>
- <xs:enumeration value="US">
- </xs:enumeration>
- <xs:enumeration value="UY">
- </xs:enumeration>
- <xs:enumeration value="UZ">
- </xs:enumeration>
- <xs:enumeration value="VA">
- </xs:enumeration>
- <xs:enumeration value="VC">
- </xs:enumeration>
- <xs:enumeration value="VE">
- </xs:enumeration>
- <xs:enumeration value="VN">
- </xs:enumeration>
- <xs:enumeration value="VU">
- </xs:enumeration>
- <xs:enumeration value="WS">
- </xs:enumeration>
- <xs:enumeration value="YE">
- </xs:enumeration>
- <xs:enumeration value="ZA">
- </xs:enumeration>
- <xs:enumeration value="ZM">
- </xs:enumeration>
- <xs:enumeration value="ZW">
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="CourseUnitTypeType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Compulsory">
- </xs:enumeration>
- <xs:enumeration value="Optional">
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="DateType">
- <xs:restriction base="xs:date"/>
- </xs:simpleType>
- <xs:simpleType name="ECTSGradingScaleType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="A">
- </xs:enumeration>
- <xs:enumeration value="B">
- </xs:enumeration>
- <xs:enumeration value="C">
- </xs:enumeration>
- <xs:enumeration value="D">
- </xs:enumeration>
- <xs:enumeration value="E">
- </xs:enumeration>
- <xs:enumeration value="FX">
- </xs:enumeration>
- <xs:enumeration value="F">
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="EmailAddressType">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
- <xs:simpleType name="EHEAFrameworkType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="FirstCycle">
- </xs:enumeration>
- <xs:enumeration value="SecondCycle">
- </xs:enumeration>
- <xs:enumeration value="ThirdCycle">
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="EmptyType">
- <xs:restriction base="xs:string">
- <xs:maxLength value="0"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="GenderType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Female">
- </xs:enumeration>
- <xs:enumeration value="Male">
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ImageMimeType">
- <xs:restriction base="gd:MimeType">
- <xs:enumeration value="image/gif">
- </xs:enumeration>
- <xs:enumeration value="image/jpeg">
- </xs:enumeration>
- <xs:enumeration value="image/pjpeg">
- </xs:enumeration>
- <xs:enumeration value="image/png">
- </xs:enumeration>
- <xs:enumeration value="image/tiff">
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ISCED1997Type">
- <xs:restriction base="xs:string">
- <xs:enumeration value="0">
- </xs:enumeration>
- <xs:enumeration value="1">
- </xs:enumeration>
- <xs:enumeration value="2">
- </xs:enumeration>
- <xs:enumeration value="3">
- </xs:enumeration>
- <xs:enumeration value="4">
- </xs:enumeration>
- <xs:enumeration value="5A">
- </xs:enumeration>
- <xs:enumeration value="5B">
- </xs:enumeration>
- <xs:enumeration value="6">
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ISCED2011Type">
- <xs:restriction base="xs:string">
- <xs:enumeration value="0">
- </xs:enumeration>
- <xs:enumeration value="1">
- </xs:enumeration>
- <xs:enumeration value="2">
- </xs:enumeration>
- <xs:enumeration value="3">
- </xs:enumeration>
- <xs:enumeration value="4">
- </xs:enumeration>
- <xs:enumeration value="5">
- </xs:enumeration>
- <xs:enumeration value="6">
- </xs:enumeration>
- <xs:enumeration value="7">
- </xs:enumeration>
- <xs:enumeration value="8">
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="LanguageType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="ab">
- </xs:enumeration>
- <xs:enumeration value="af">
- </xs:enumeration>
- <xs:enumeration value="an">
- </xs:enumeration>
- <xs:enumeration value="ar">
- </xs:enumeration>
- <xs:enumeration value="as">
- </xs:enumeration>
- <xs:enumeration value="az">
- </xs:enumeration>
- <xs:enumeration value="be">
- </xs:enumeration>
- <xs:enumeration value="bg">
- </xs:enumeration>
- <xs:enumeration value="bn">
- </xs:enumeration>
- <xs:enumeration value="bo">
- </xs:enumeration>
- <xs:enumeration value="br">
- </xs:enumeration>
- <xs:enumeration value="bs">
- </xs:enumeration>
- <xs:enumeration value="ca">
- </xs:enumeration>
- <xs:enumeration value="ce">
- </xs:enumeration>
- <xs:enumeration value="co">
- </xs:enumeration>
- <xs:enumeration value="cs">
- </xs:enumeration>
- <xs:enumeration value="cy">
- </xs:enumeration>
- <xs:enumeration value="da">
- </xs:enumeration>
- <xs:enumeration value="de">
- </xs:enumeration>
- <xs:enumeration value="el">
- </xs:enumeration>
- <xs:enumeration value="en">
- </xs:enumeration>
- <xs:enumeration value="es">
- </xs:enumeration>
- <xs:enumeration value="et">
- </xs:enumeration>
- <xs:enumeration value="eu">
- </xs:enumeration>
- <xs:enumeration value="fa">
- </xs:enumeration>
- <xs:enumeration value="fi">
- </xs:enumeration>
- <xs:enumeration value="fj">
- </xs:enumeration>
- <xs:enumeration value="fo">
- </xs:enumeration>
- <xs:enumeration value="fr">
- </xs:enumeration>
- <xs:enumeration value="fy">
- </xs:enumeration>
- <xs:enumeration value="ga">
- </xs:enumeration>
- <xs:enumeration value="gd">
- </xs:enumeration>
- <xs:enumeration value="gl">
- </xs:enumeration>
- <xs:enumeration value="gv">
- </xs:enumeration>
- <xs:enumeration value="grc">
- </xs:enumeration>
- <xs:enumeration value="gsw">
- </xs:enumeration>
- <xs:enumeration value="he">
- </xs:enumeration>
- <xs:enumeration value="hi">
- </xs:enumeration>
- <xs:enumeration value="hr">
- </xs:enumeration>
- <xs:enumeration value="ht">
- </xs:enumeration>
- <xs:enumeration value="hu">
- </xs:enumeration>
- <xs:enumeration value="hy">
- </xs:enumeration>
- <xs:enumeration value="id">
- </xs:enumeration>
- <xs:enumeration value="is">
- </xs:enumeration>
- <xs:enumeration value="it">
- </xs:enumeration>
- <xs:enumeration value="ja">
- </xs:enumeration>
- <xs:enumeration value="jv">
- </xs:enumeration>
- <xs:enumeration value="ka">
- </xs:enumeration>
- <xs:enumeration value="kg">
- </xs:enumeration>
- <xs:enumeration value="ko">
- </xs:enumeration>
- <xs:enumeration value="ku">
- </xs:enumeration>
- <xs:enumeration value="kw">
- </xs:enumeration>
- <xs:enumeration value="ky">
- </xs:enumeration>
- <xs:enumeration value="lb">
- </xs:enumeration>
- <xs:enumeration value="li">
- </xs:enumeration>
- <xs:enumeration value="ln">
- </xs:enumeration>
- <xs:enumeration value="lt">
- </xs:enumeration>
- <xs:enumeration value="lv">
- </xs:enumeration>
- <xs:enumeration value="mg">
- </xs:enumeration>
- <xs:enumeration value="mk">
- </xs:enumeration>
- <xs:enumeration value="mn">
- </xs:enumeration>
- <xs:enumeration value="mo">
- </xs:enumeration>
- <xs:enumeration value="ms">
- </xs:enumeration>
- <xs:enumeration value="mt">
- </xs:enumeration>
- <xs:enumeration value="my">
- </xs:enumeration>
- <xs:enumeration value="nb">
- </xs:enumeration>
- <xs:enumeration value="ne">
- </xs:enumeration>
- <xs:enumeration value="nl">
- </xs:enumeration>
- <xs:enumeration value="nn">
- </xs:enumeration>
- <xs:enumeration value="no">
- </xs:enumeration>
- <xs:enumeration value="pl">
- </xs:enumeration>
- <xs:enumeration value="pt">
- </xs:enumeration>
- <xs:enumeration value="rm">
- </xs:enumeration>
- <xs:enumeration value="ro">
- </xs:enumeration>
- <xs:enumeration value="ru">
- </xs:enumeration>
- <xs:enumeration value="sc">
- </xs:enumeration>
- <xs:enumeration value="se">
- </xs:enumeration>
- <xs:enumeration value="sk">
- </xs:enumeration>
- <xs:enumeration value="sl">
- </xs:enumeration>
- <xs:enumeration value="so">
- </xs:enumeration>
- <xs:enumeration value="sq">
- </xs:enumeration>
- <xs:enumeration value="sr">
- </xs:enumeration>
- <xs:enumeration value="sv">
- </xs:enumeration>
- <xs:enumeration value="sw">
- </xs:enumeration>
- <xs:enumeration value="tk">
- </xs:enumeration>
- <xs:enumeration value="tr">
- </xs:enumeration>
- <xs:enumeration value="ty">
- </xs:enumeration>
- <xs:enumeration value="uk">
- </xs:enumeration>
- <xs:enumeration value="ur">
- </xs:enumeration>
- <xs:enumeration value="uz">
- </xs:enumeration>
- <xs:enumeration value="vi">
- </xs:enumeration>
- <xs:enumeration value="yi">
- </xs:enumeration>
- <xs:enumeration value="zh">
- </xs:enumeration>
- <xs:enumeration value="cu">
- </xs:enumeration>
- <xs:enumeration value="eo">
- </xs:enumeration>
- <xs:enumeration value="la">
- </xs:enumeration>
- <xs:enumeration value="oc">
- </xs:enumeration>
- <xs:enumeration value="vo">
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="MimeType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="image/gif">
- </xs:enumeration>
- <xs:enumeration value="image/jpeg">
- </xs:enumeration>
- <xs:enumeration value="image/pjpeg">
- </xs:enumeration>
- <xs:enumeration value="image/png">
- </xs:enumeration>
- <xs:enumeration value="image/tiff">
- </xs:enumeration>
- <xs:enumeration value="text/html">
- </xs:enumeration>
- <xs:enumeration value="application/pdf">
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ModeOfStudyType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="FullTime">
- </xs:enumeration>
- <xs:enumeration value="ParTime">
- </xs:enumeration>
- <xs:enumeration value="Distance">
- </xs:enumeration>
- <xs:enumeration value="eLearning">
- </xs:enumeration>
- <xs:enumeration value="Another">
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="ModeOfDeliveryType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="FaceToFace">
- </xs:enumeration>
- <xs:enumeration value="DistanceLearning">
- </xs:enumeration>
- <xs:enumeration value="Other">
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="NFQType">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
- <xs:simpleType name="PlainTextType">
- <xs:restriction base="xs:string">
- <xs:minLength value="1"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="PercentType">
- <xs:restriction base="xs:decimal">
- <xs:maxInclusive value="100"/>
- <xs:minInclusive value="0"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="PositiveDecimalType">
- <xs:restriction base="xs:decimal">
- <xs:minInclusive value="0"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="PositiveIntegerType">
- <xs:restriction base="xs:int">
- <xs:minInclusive value="0"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="SourceGradeType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Recognized">
- </xs:enumeration>
- <xs:enumeration value="MobilityProgramme">
- </xs:enumeration>
- <xs:enumeration value="Another">
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="URLType">
- <xs:restriction base="xs:anyURI"/>
- </xs:simpleType>
+ <xs:simpleType name="CountryType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="AD">
+ </xs:enumeration>
+ <xs:enumeration value="AE">
+ </xs:enumeration>
+ <xs:enumeration value="AF">
+ </xs:enumeration>
+ <xs:enumeration value="AG">
+ </xs:enumeration>
+ <xs:enumeration value="AL">
+ </xs:enumeration>
+ <xs:enumeration value="AM">
+ </xs:enumeration>
+ <xs:enumeration value="AO">
+ </xs:enumeration>
+ <xs:enumeration value="AR">
+ </xs:enumeration>
+ <xs:enumeration value="AT">
+ </xs:enumeration>
+ <xs:enumeration value="AU">
+ </xs:enumeration>
+ <xs:enumeration value="AZ">
+ </xs:enumeration>
+ <xs:enumeration value="BA">
+ </xs:enumeration>
+ <xs:enumeration value="BB">
+ </xs:enumeration>
+ <xs:enumeration value="BD">
+ </xs:enumeration>
+ <xs:enumeration value="BE">
+ </xs:enumeration>
+ <xs:enumeration value="BF">
+ </xs:enumeration>
+ <xs:enumeration value="BG">
+ </xs:enumeration>
+ <xs:enumeration value="BH">
+ </xs:enumeration>
+ <xs:enumeration value="BI">
+ </xs:enumeration>
+ <xs:enumeration value="BJ">
+ </xs:enumeration>
+ <xs:enumeration value="BN">
+ </xs:enumeration>
+ <xs:enumeration value="BO">
+ </xs:enumeration>
+ <xs:enumeration value="BR">
+ </xs:enumeration>
+ <xs:enumeration value="BS">
+ </xs:enumeration>
+ <xs:enumeration value="BT">
+ </xs:enumeration>
+ <xs:enumeration value="BW">
+ </xs:enumeration>
+ <xs:enumeration value="BY">
+ </xs:enumeration>
+ <xs:enumeration value="BZ">
+ </xs:enumeration>
+ <xs:enumeration value="CA">
+ </xs:enumeration>
+ <xs:enumeration value="CD">
+ </xs:enumeration>
+ <xs:enumeration value="CF">
+ </xs:enumeration>
+ <xs:enumeration value="CG">
+ </xs:enumeration>
+ <xs:enumeration value="CH">
+ </xs:enumeration>
+ <xs:enumeration value="CI">
+ </xs:enumeration>
+ <xs:enumeration value="CL">
+ </xs:enumeration>
+ <xs:enumeration value="CM">
+ </xs:enumeration>
+ <xs:enumeration value="CN">
+ </xs:enumeration>
+ <xs:enumeration value="CO">
+ </xs:enumeration>
+ <xs:enumeration value="CR">
+ </xs:enumeration>
+ <xs:enumeration value="CU">
+ </xs:enumeration>
+ <xs:enumeration value="CV">
+ </xs:enumeration>
+ <xs:enumeration value="CY">
+ </xs:enumeration>
+ <xs:enumeration value="CZ">
+ </xs:enumeration>
+ <xs:enumeration value="DE">
+ </xs:enumeration>
+ <xs:enumeration value="DJ">
+ </xs:enumeration>
+ <xs:enumeration value="DK">
+ </xs:enumeration>
+ <xs:enumeration value="DM">
+ </xs:enumeration>
+ <xs:enumeration value="DO">
+ </xs:enumeration>
+ <xs:enumeration value="DZ">
+ </xs:enumeration>
+ <xs:enumeration value="EC">
+ </xs:enumeration>
+ <xs:enumeration value="EE">
+ </xs:enumeration>
+ <xs:enumeration value="EG">
+ </xs:enumeration>
+ <xs:enumeration value="ER">
+ </xs:enumeration>
+ <xs:enumeration value="ES">
+ </xs:enumeration>
+ <xs:enumeration value="ET">
+ </xs:enumeration>
+ <xs:enumeration value="FI">
+ </xs:enumeration>
+ <xs:enumeration value="FJ">
+ </xs:enumeration>
+ <xs:enumeration value="FM">
+ </xs:enumeration>
+ <xs:enumeration value="FR">
+ </xs:enumeration>
+ <xs:enumeration value="GA">
+ </xs:enumeration>
+ <xs:enumeration value="GB">
+ </xs:enumeration>
+ <xs:enumeration value="GD">
+ </xs:enumeration>
+ <xs:enumeration value="GE">
+ </xs:enumeration>
+ <xs:enumeration value="GH">
+ </xs:enumeration>
+ <xs:enumeration value="GL">
+ </xs:enumeration>
+ <xs:enumeration value="GM">
+ </xs:enumeration>
+ <xs:enumeration value="GN">
+ </xs:enumeration>
+ <xs:enumeration value="GQ">
+ </xs:enumeration>
+ <xs:enumeration value="GR">
+ </xs:enumeration>
+ <xs:enumeration value="GT">
+ </xs:enumeration>
+ <xs:enumeration value="GW">
+ </xs:enumeration>
+ <xs:enumeration value="GY">
+ </xs:enumeration>
+ <xs:enumeration value="HN">
+ </xs:enumeration>
+ <xs:enumeration value="HR">
+ </xs:enumeration>
+ <xs:enumeration value="HT">
+ </xs:enumeration>
+ <xs:enumeration value="HU">
+ </xs:enumeration>
+ <xs:enumeration value="ID">
+ </xs:enumeration>
+ <xs:enumeration value="IE">
+ </xs:enumeration>
+ <xs:enumeration value="IL">
+ </xs:enumeration>
+ <xs:enumeration value="IN">
+ </xs:enumeration>
+ <xs:enumeration value="IQ">
+ </xs:enumeration>
+ <xs:enumeration value="IR">
+ </xs:enumeration>
+ <xs:enumeration value="IS">
+ </xs:enumeration>
+ <xs:enumeration value="IT">
+ </xs:enumeration>
+ <xs:enumeration value="JM">
+ </xs:enumeration>
+ <xs:enumeration value="JO">
+ </xs:enumeration>
+ <xs:enumeration value="JP">
+ </xs:enumeration>
+ <xs:enumeration value="KE">
+ </xs:enumeration>
+ <xs:enumeration value="KG">
+ </xs:enumeration>
+ <xs:enumeration value="KH">
+ </xs:enumeration>
+ <xs:enumeration value="KI">
+ </xs:enumeration>
+ <xs:enumeration value="KM">
+ </xs:enumeration>
+ <xs:enumeration value="KN">
+ </xs:enumeration>
+ <xs:enumeration value="KP">
+ </xs:enumeration>
+ <xs:enumeration value="KR">
+ </xs:enumeration>
+ <xs:enumeration value="KW">
+ </xs:enumeration>
+ <xs:enumeration value="KZ">
+ </xs:enumeration>
+ <xs:enumeration value="LA">
+ </xs:enumeration>
+ <xs:enumeration value="LB">
+ </xs:enumeration>
+ <xs:enumeration value="LC">
+ </xs:enumeration>
+ <xs:enumeration value="LI">
+ </xs:enumeration>
+ <xs:enumeration value="LK">
+ </xs:enumeration>
+ <xs:enumeration value="LR">
+ </xs:enumeration>
+ <xs:enumeration value="LS">
+ </xs:enumeration>
+ <xs:enumeration value="LT">
+ </xs:enumeration>
+ <xs:enumeration value="LU">
+ </xs:enumeration>
+ <xs:enumeration value="LV">
+ </xs:enumeration>
+ <xs:enumeration value="LY">
+ </xs:enumeration>
+ <xs:enumeration value="MA">
+ </xs:enumeration>
+ <xs:enumeration value="MC">
+ </xs:enumeration>
+ <xs:enumeration value="MD">
+ </xs:enumeration>
+ <xs:enumeration value="ME">
+ </xs:enumeration>
+ <xs:enumeration value="MG">
+ </xs:enumeration>
+ <xs:enumeration value="MH">
+ </xs:enumeration>
+ <xs:enumeration value="MK">
+ </xs:enumeration>
+ <xs:enumeration value="ML">
+ </xs:enumeration>
+ <xs:enumeration value="MM">
+ </xs:enumeration>
+ <xs:enumeration value="MN">
+ </xs:enumeration>
+ <xs:enumeration value="MR">
+ </xs:enumeration>
+ <xs:enumeration value="MT">
+ </xs:enumeration>
+ <xs:enumeration value="MU">
+ </xs:enumeration>
+ <xs:enumeration value="MV">
+ </xs:enumeration>
+ <xs:enumeration value="MW">
+ </xs:enumeration>
+ <xs:enumeration value="MX">
+ </xs:enumeration>
+ <xs:enumeration value="MY">
+ </xs:enumeration>
+ <xs:enumeration value="MZ">
+ </xs:enumeration>
+ <xs:enumeration value="NA">
+ </xs:enumeration>
+ <xs:enumeration value="NE">
+ </xs:enumeration>
+ <xs:enumeration value="NG">
+ </xs:enumeration>
+ <xs:enumeration value="NI">
+ </xs:enumeration>
+ <xs:enumeration value="NL">
+ </xs:enumeration>
+ <xs:enumeration value="NO">
+ </xs:enumeration>
+ <xs:enumeration value="NP">
+ </xs:enumeration>
+ <xs:enumeration value="NR">
+ </xs:enumeration>
+ <xs:enumeration value="NU">
+ </xs:enumeration>
+ <xs:enumeration value="NZ">
+ </xs:enumeration>
+ <xs:enumeration value="OM">
+ </xs:enumeration>
+ <xs:enumeration value="PA">
+ </xs:enumeration>
+ <xs:enumeration value="PE">
+ </xs:enumeration>
+ <xs:enumeration value="PG">
+ </xs:enumeration>
+ <xs:enumeration value="PH">
+ </xs:enumeration>
+ <xs:enumeration value="PK">
+ </xs:enumeration>
+ <xs:enumeration value="PL">
+ </xs:enumeration>
+ <xs:enumeration value="PR">
+ </xs:enumeration>
+ <xs:enumeration value="PS">
+ </xs:enumeration>
+ <xs:enumeration value="PT">
+ </xs:enumeration>
+ <xs:enumeration value="PW">
+ </xs:enumeration>
+ <xs:enumeration value="PY">
+ </xs:enumeration>
+ <xs:enumeration value="QA">
+ </xs:enumeration>
+ <xs:enumeration value="RO">
+ </xs:enumeration>
+ <xs:enumeration value="RS">
+ </xs:enumeration>
+ <xs:enumeration value="RU">
+ </xs:enumeration>
+ <xs:enumeration value="RW">
+ </xs:enumeration>
+ <xs:enumeration value="SA">
+ </xs:enumeration>
+ <xs:enumeration value="SB">
+ </xs:enumeration>
+ <xs:enumeration value="SC">
+ </xs:enumeration>
+ <xs:enumeration value="SD">
+ </xs:enumeration>
+ <xs:enumeration value="SE">
+ </xs:enumeration>
+ <xs:enumeration value="SG">
+ </xs:enumeration>
+ <xs:enumeration value="SI">
+ </xs:enumeration>
+ <xs:enumeration value="SK">
+ </xs:enumeration>
+ <xs:enumeration value="SL">
+ </xs:enumeration>
+ <xs:enumeration value="SM">
+ </xs:enumeration>
+ <xs:enumeration value="SN">
+ </xs:enumeration>
+ <xs:enumeration value="SO">
+ </xs:enumeration>
+ <xs:enumeration value="SR">
+ </xs:enumeration>
+ <xs:enumeration value="ST">
+ </xs:enumeration>
+ <xs:enumeration value="SV">
+ </xs:enumeration>
+ <xs:enumeration value="SY">
+ </xs:enumeration>
+ <xs:enumeration value="SZ">
+ </xs:enumeration>
+ <xs:enumeration value="TD">
+ </xs:enumeration>
+ <xs:enumeration value="TG">
+ </xs:enumeration>
+ <xs:enumeration value="TH">
+ </xs:enumeration>
+ <xs:enumeration value="TJ">
+ </xs:enumeration>
+ <xs:enumeration value="TL">
+ </xs:enumeration>
+ <xs:enumeration value="TM">
+ </xs:enumeration>
+ <xs:enumeration value="TN">
+ </xs:enumeration>
+ <xs:enumeration value="TO">
+ </xs:enumeration>
+ <xs:enumeration value="TR">
+ </xs:enumeration>
+ <xs:enumeration value="TT">
+ </xs:enumeration>
+ <xs:enumeration value="TV">
+ </xs:enumeration>
+ <xs:enumeration value="TZ">
+ </xs:enumeration>
+ <xs:enumeration value="UA">
+ </xs:enumeration>
+ <xs:enumeration value="UG">
+ </xs:enumeration>
+ <xs:enumeration value="US">
+ </xs:enumeration>
+ <xs:enumeration value="UY">
+ </xs:enumeration>
+ <xs:enumeration value="UZ">
+ </xs:enumeration>
+ <xs:enumeration value="VA">
+ </xs:enumeration>
+ <xs:enumeration value="VC">
+ </xs:enumeration>
+ <xs:enumeration value="VE">
+ </xs:enumeration>
+ <xs:enumeration value="VN">
+ </xs:enumeration>
+ <xs:enumeration value="VU">
+ </xs:enumeration>
+ <xs:enumeration value="WS">
+ </xs:enumeration>
+ <xs:enumeration value="YE">
+ </xs:enumeration>
+ <xs:enumeration value="ZA">
+ </xs:enumeration>
+ <xs:enumeration value="ZM">
+ </xs:enumeration>
+ <xs:enumeration value="ZW">
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="CourseUnitTypeType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Compulsory">
+ </xs:enumeration>
+ <xs:enumeration value="Optional">
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="DateType">
+ <xs:restriction base="xs:date"/>
+ </xs:simpleType>
+ <xs:simpleType name="ECTSGradingScaleType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="A">
+ </xs:enumeration>
+ <xs:enumeration value="B">
+ </xs:enumeration>
+ <xs:enumeration value="C">
+ </xs:enumeration>
+ <xs:enumeration value="D">
+ </xs:enumeration>
+ <xs:enumeration value="E">
+ </xs:enumeration>
+ <xs:enumeration value="FX">
+ </xs:enumeration>
+ <xs:enumeration value="F">
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="EmailAddressType">
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:simpleType name="EHEAFrameworkType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="FirstCycle">
+ </xs:enumeration>
+ <xs:enumeration value="SecondCycle">
+ </xs:enumeration>
+ <xs:enumeration value="ThirdCycle">
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="EmptyType">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="GenderType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Female">
+ </xs:enumeration>
+ <xs:enumeration value="Male">
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ImageMimeType">
+ <xs:restriction base="gd:MimeType">
+ <xs:enumeration value="image/gif">
+ </xs:enumeration>
+ <xs:enumeration value="image/jpeg">
+ </xs:enumeration>
+ <xs:enumeration value="image/pjpeg">
+ </xs:enumeration>
+ <xs:enumeration value="image/png">
+ </xs:enumeration>
+ <xs:enumeration value="image/tiff">
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ISCED1997Type">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="0">
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ </xs:enumeration>
+ <xs:enumeration value="2">
+ </xs:enumeration>
+ <xs:enumeration value="3">
+ </xs:enumeration>
+ <xs:enumeration value="4">
+ </xs:enumeration>
+ <xs:enumeration value="5A">
+ </xs:enumeration>
+ <xs:enumeration value="5B">
+ </xs:enumeration>
+ <xs:enumeration value="6">
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ISCED2011Type">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="0">
+ </xs:enumeration>
+ <xs:enumeration value="1">
+ </xs:enumeration>
+ <xs:enumeration value="2">
+ </xs:enumeration>
+ <xs:enumeration value="3">
+ </xs:enumeration>
+ <xs:enumeration value="4">
+ </xs:enumeration>
+ <xs:enumeration value="5">
+ </xs:enumeration>
+ <xs:enumeration value="6">
+ </xs:enumeration>
+ <xs:enumeration value="7">
+ </xs:enumeration>
+ <xs:enumeration value="8">
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="LanguageType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="ab">
+ </xs:enumeration>
+ <xs:enumeration value="af">
+ </xs:enumeration>
+ <xs:enumeration value="an">
+ </xs:enumeration>
+ <xs:enumeration value="ar">
+ </xs:enumeration>
+ <xs:enumeration value="as">
+ </xs:enumeration>
+ <xs:enumeration value="az">
+ </xs:enumeration>
+ <xs:enumeration value="be">
+ </xs:enumeration>
+ <xs:enumeration value="bg">
+ </xs:enumeration>
+ <xs:enumeration value="bn">
+ </xs:enumeration>
+ <xs:enumeration value="bo">
+ </xs:enumeration>
+ <xs:enumeration value="br">
+ </xs:enumeration>
+ <xs:enumeration value="bs">
+ </xs:enumeration>
+ <xs:enumeration value="ca">
+ </xs:enumeration>
+ <xs:enumeration value="ce">
+ </xs:enumeration>
+ <xs:enumeration value="co">
+ </xs:enumeration>
+ <xs:enumeration value="cs">
+ </xs:enumeration>
+ <xs:enumeration value="cy">
+ </xs:enumeration>
+ <xs:enumeration value="da">
+ </xs:enumeration>
+ <xs:enumeration value="de">
+ </xs:enumeration>
+ <xs:enumeration value="el">
+ </xs:enumeration>
+ <xs:enumeration value="en">
+ </xs:enumeration>
+ <xs:enumeration value="es">
+ </xs:enumeration>
+ <xs:enumeration value="et">
+ </xs:enumeration>
+ <xs:enumeration value="eu">
+ </xs:enumeration>
+ <xs:enumeration value="fa">
+ </xs:enumeration>
+ <xs:enumeration value="fi">
+ </xs:enumeration>
+ <xs:enumeration value="fj">
+ </xs:enumeration>
+ <xs:enumeration value="fo">
+ </xs:enumeration>
+ <xs:enumeration value="fr">
+ </xs:enumeration>
+ <xs:enumeration value="fy">
+ </xs:enumeration>
+ <xs:enumeration value="ga">
+ </xs:enumeration>
+ <xs:enumeration value="gd">
+ </xs:enumeration>
+ <xs:enumeration value="gl">
+ </xs:enumeration>
+ <xs:enumeration value="gv">
+ </xs:enumeration>
+ <xs:enumeration value="grc">
+ </xs:enumeration>
+ <xs:enumeration value="gsw">
+ </xs:enumeration>
+ <xs:enumeration value="he">
+ </xs:enumeration>
+ <xs:enumeration value="hi">
+ </xs:enumeration>
+ <xs:enumeration value="hr">
+ </xs:enumeration>
+ <xs:enumeration value="ht">
+ </xs:enumeration>
+ <xs:enumeration value="hu">
+ </xs:enumeration>
+ <xs:enumeration value="hy">
+ </xs:enumeration>
+ <xs:enumeration value="id">
+ </xs:enumeration>
+ <xs:enumeration value="is">
+ </xs:enumeration>
+ <xs:enumeration value="it">
+ </xs:enumeration>
+ <xs:enumeration value="ja">
+ </xs:enumeration>
+ <xs:enumeration value="jv">
+ </xs:enumeration>
+ <xs:enumeration value="ka">
+ </xs:enumeration>
+ <xs:enumeration value="kg">
+ </xs:enumeration>
+ <xs:enumeration value="ko">
+ </xs:enumeration>
+ <xs:enumeration value="ku">
+ </xs:enumeration>
+ <xs:enumeration value="kw">
+ </xs:enumeration>
+ <xs:enumeration value="ky">
+ </xs:enumeration>
+ <xs:enumeration value="lb">
+ </xs:enumeration>
+ <xs:enumeration value="li">
+ </xs:enumeration>
+ <xs:enumeration value="ln">
+ </xs:enumeration>
+ <xs:enumeration value="lt">
+ </xs:enumeration>
+ <xs:enumeration value="lv">
+ </xs:enumeration>
+ <xs:enumeration value="mg">
+ </xs:enumeration>
+ <xs:enumeration value="mk">
+ </xs:enumeration>
+ <xs:enumeration value="mn">
+ </xs:enumeration>
+ <xs:enumeration value="mo">
+ </xs:enumeration>
+ <xs:enumeration value="ms">
+ </xs:enumeration>
+ <xs:enumeration value="mt">
+ </xs:enumeration>
+ <xs:enumeration value="my">
+ </xs:enumeration>
+ <xs:enumeration value="nb">
+ </xs:enumeration>
+ <xs:enumeration value="ne">
+ </xs:enumeration>
+ <xs:enumeration value="nl">
+ </xs:enumeration>
+ <xs:enumeration value="nn">
+ </xs:enumeration>
+ <xs:enumeration value="no">
+ </xs:enumeration>
+ <xs:enumeration value="pl">
+ </xs:enumeration>
+ <xs:enumeration value="pt">
+ </xs:enumeration>
+ <xs:enumeration value="rm">
+ </xs:enumeration>
+ <xs:enumeration value="ro">
+ </xs:enumeration>
+ <xs:enumeration value="ru">
+ </xs:enumeration>
+ <xs:enumeration value="sc">
+ </xs:enumeration>
+ <xs:enumeration value="se">
+ </xs:enumeration>
+ <xs:enumeration value="sk">
+ </xs:enumeration>
+ <xs:enumeration value="sl">
+ </xs:enumeration>
+ <xs:enumeration value="so">
+ </xs:enumeration>
+ <xs:enumeration value="sq">
+ </xs:enumeration>
+ <xs:enumeration value="sr">
+ </xs:enumeration>
+ <xs:enumeration value="sv">
+ </xs:enumeration>
+ <xs:enumeration value="sw">
+ </xs:enumeration>
+ <xs:enumeration value="tk">
+ </xs:enumeration>
+ <xs:enumeration value="tr">
+ </xs:enumeration>
+ <xs:enumeration value="ty">
+ </xs:enumeration>
+ <xs:enumeration value="uk">
+ </xs:enumeration>
+ <xs:enumeration value="ur">
+ </xs:enumeration>
+ <xs:enumeration value="uz">
+ </xs:enumeration>
+ <xs:enumeration value="vi">
+ </xs:enumeration>
+ <xs:enumeration value="yi">
+ </xs:enumeration>
+ <xs:enumeration value="zh">
+ </xs:enumeration>
+ <xs:enumeration value="cu">
+ </xs:enumeration>
+ <xs:enumeration value="eo">
+ </xs:enumeration>
+ <xs:enumeration value="la">
+ </xs:enumeration>
+ <xs:enumeration value="oc">
+ </xs:enumeration>
+ <xs:enumeration value="vo">
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="MimeType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="image/gif">
+ </xs:enumeration>
+ <xs:enumeration value="image/jpeg">
+ </xs:enumeration>
+ <xs:enumeration value="image/pjpeg">
+ </xs:enumeration>
+ <xs:enumeration value="image/png">
+ </xs:enumeration>
+ <xs:enumeration value="image/tiff">
+ </xs:enumeration>
+ <xs:enumeration value="text/html">
+ </xs:enumeration>
+ <xs:enumeration value="application/pdf">
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ModeOfStudyType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="FullTime">
+ </xs:enumeration>
+ <xs:enumeration value="ParTime">
+ </xs:enumeration>
+ <xs:enumeration value="Distance">
+ </xs:enumeration>
+ <xs:enumeration value="eLearning">
+ </xs:enumeration>
+ <xs:enumeration value="Another">
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="ModeOfDeliveryType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="FaceToFace">
+ </xs:enumeration>
+ <xs:enumeration value="DistanceLearning">
+ </xs:enumeration>
+ <xs:enumeration value="Other">
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="NFQType">
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:simpleType name="PlainTextType">
+ <xs:restriction base="xs:string">
+ <xs:minLength value="1"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="PercentType">
+ <xs:restriction base="xs:decimal">
+ <xs:maxInclusive value="100"/>
+ <xs:minInclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="PositiveDecimalType">
+ <xs:restriction base="xs:decimal">
+ <xs:minInclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="PositiveIntegerType">
+ <xs:restriction base="xs:int">
+ <xs:minInclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="SourceGradeType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Recognized">
+ </xs:enumeration>
+ <xs:enumeration value="MobilityProgramme">
+ </xs:enumeration>
+ <xs:enumeration value="Another">
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="URLType">
+ <xs:restriction base="xs:anyURI"/>
+ </xs:simpleType>
- <!-- Complex types -->
+ <!-- Complex types -->
- <xs:complexType name="CountryTextCodeType">
- <xs:simpleContent>
- <xs:extension base="gd:PlainTextType">
- <xs:attribute name="country" type="gd:CountryType" use="optional">
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
+ <xs:complexType name="CountryTextCodeType">
+ <xs:simpleContent>
+ <xs:extension base="gd:PlainTextType">
+ <xs:attribute name="country" type="gd:CountryType" use="optional">
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
- <xs:complexType name="AdditionalInformationType">
- <xs:sequence>
- <xs:element name="SpecificInformation" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="OtherSources" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
+ <xs:complexType name="AdditionalInformationType">
+ <xs:sequence>
+ <xs:element name="SpecificInformation" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="OtherSources" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
- <xs:complexType name="AddressType">
- <xs:sequence>
- <xs:element name="Line" type="gd:PlainTextType" maxOccurs="unbounded">
- </xs:element>
- <xs:element name="City" type="gd:PlainTextType" minOccurs="0">
- </xs:element>
- <xs:element name="StateOrRegion" type="gd:PlainTextType" minOccurs="0">
- </xs:element>
- <xs:element name="PostalCode" type="gd:PlainTextType" minOccurs="0">
- </xs:element>
- <xs:element name="Country" type="gd:CountryTextCodeType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
+ <xs:complexType name="AddressType">
+ <xs:sequence>
+ <xs:element name="Line" type="gd:PlainTextType" maxOccurs="unbounded">
+ </xs:element>
+ <xs:element name="City" type="gd:PlainTextType" minOccurs="0">
+ </xs:element>
+ <xs:element name="StateOrRegion" type="gd:PlainTextType" minOccurs="0">
+ </xs:element>
+ <xs:element name="PostalCode" type="gd:PlainTextType" minOccurs="0">
+ </xs:element>
+ <xs:element name="Country" type="gd:CountryTextCodeType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
- <xs:complexType name="AttachedFileDataType">
- <xs:sequence>
- <xs:element name="Description" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="Mime" type="gd:MimeType">
- </xs:element>
- <xs:element name="Data" type="xs:base64Binary">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
+ <xs:complexType name="AttachedFileDataType">
+ <xs:sequence>
+ <xs:element name="Description" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="Mime" type="gd:MimeType">
+ </xs:element>
+ <xs:element name="Data" type="xs:base64Binary">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
- <xs:complexType name="AttachedFileURLType">
- <xs:sequence>
- <xs:element name="Description" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="Mime" type="gd:MimeType">
- </xs:element>
- <xs:element name="URL" type="gd:URLType">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
+ <xs:complexType name="AttachedFileURLType">
+ <xs:sequence>
+ <xs:element name="Description" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="Mime" type="gd:MimeType">
+ </xs:element>
+ <xs:element name="URL" type="gd:URLType">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
- <xs:complexType name="AttachedImageDataType">
- <xs:sequence>
- <xs:element name="Description" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="Mime" type="gd:ImageMimeType">
- </xs:element>
- <xs:element name="Data" type="xs:base64Binary">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
+ <xs:complexType name="AttachedImageDataType">
+ <xs:sequence>
+ <xs:element name="Description" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="Mime" type="gd:ImageMimeType">
+ </xs:element>
+ <xs:element name="Data" type="xs:base64Binary">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
- <xs:complexType name="AttachedImageURLType">
- <xs:sequence>
- <xs:element name="Description" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="Mime" type="gd:ImageMimeType">
- </xs:element>
- <xs:element name="URL" type="gd:URLType">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
+ <xs:complexType name="AttachedImageURLType">
+ <xs:sequence>
+ <xs:element name="Description" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="Mime" type="gd:ImageMimeType">
+ </xs:element>
+ <xs:element name="URL" type="gd:URLType">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
- <xs:complexType name="AttachedType">
- <xs:choice>
- <xs:element name="FileData" type="gd:AttachedFileDataType">
- </xs:element>
- <xs:element name="FileURI" type="gd:AttachedFileURLType">
- </xs:element>
- <xs:element name="ImageData" type="gd:AttachedImageDataType">
- </xs:element>
- <xs:element name="ImageURI" type="gd:AttachedImageURLType">
- </xs:element>
- </xs:choice>
- <xs:attribute name="attachedID" type="xs:ID" use="required">
- </xs:attribute>
- </xs:complexType>
+ <xs:complexType name="AttachedType">
+ <xs:choice>
+ <xs:element name="FileData" type="gd:AttachedFileDataType">
+ </xs:element>
+ <xs:element name="FileURI" type="gd:AttachedFileURLType">
+ </xs:element>
+ <xs:element name="ImageData" type="gd:AttachedImageDataType">
+ </xs:element>
+ <xs:element name="ImageURI" type="gd:AttachedImageURLType">
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="attachedID" type="xs:ID" use="required">
+ </xs:attribute>
+ </xs:complexType>
- <xs:complexType name="AttachmentsType">
- <xs:sequence>
- <xs:element name="Attached" type="gd:AttachedType" maxOccurs="unbounded">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
+ <xs:complexType name="AttachmentsType">
+ <xs:sequence>
+ <xs:element name="Attached" type="gd:AttachedType" maxOccurs="unbounded">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
- <xs:complexType name="CertificationOfTheSupplementType">
- <xs:sequence>
- <xs:element name="CertificationDate" type="gd:DateType" minOccurs="0">
- </xs:element>
- <xs:element name="OfficialsCertifying" type="gd:OfficialsCertifyingType" minOccurs="0">
- </xs:element>
- <xs:element name="OfficialStamp" type="gd:OfficialStampType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:complexType name="ContactInformationType">
- <xs:sequence>
- <xs:element name="Address" type="gd:AddressType" minOccurs="0">
- </xs:element>
- <xs:element name="PhoneNumber" type="gd:PlainTextType" minOccurs="0" maxOccurs="unbounded">
- </xs:element>
- <xs:element name="Email" type="gd:EmailAddressType" minOccurs="0" maxOccurs="unbounded">
- </xs:element>
- <xs:element name="WebSite" type="gd:URLType" minOccurs="0" maxOccurs="unbounded">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:complexType name="CoursesAttendedInOtherInstitutionInMobilityProgramsType">
- <xs:sequence>
- <xs:element name="MobilityProgramme" type="gd:MobilityProgrammeType" maxOccurs="unbounded">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:complexType name="CourseStructureDiagramType">
- <xs:sequence>
- <xs:element name="CoursesGroups" type="gd:CoursesGroupsType" minOccurs="0">
- </xs:element>
- <xs:element name="CoursesUnits" type="gd:CoursesUnitsType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:complexType name="CoursesUnitsType">
- <xs:sequence>
- <xs:element name="CourseUnit" type="gd:CourseUnitType" maxOccurs="unbounded">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:complexType name="CourseUnitLanguagesOfInstructionType">
- <xs:sequence>
- <xs:element name="Language" type="gd:CourseUnitLanguageOfInstructionType" maxOccurs="unbounded">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:complexType name="CourseUnitStudentPerformanceType">
- <xs:sequence>
- <xs:element name="LocalGrade" type="gd:LocalGradeType">
- </xs:element>
- <xs:element name="ECTSGrade" type="gd:ECTSGradingScaleType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
+ <xs:complexType name="CertificationOfTheSupplementType">
+ <xs:sequence>
+ <xs:element name="CertificationDate" type="gd:DateType" minOccurs="0">
+ </xs:element>
+ <xs:element name="OfficialsCertifying" type="gd:OfficialsCertifyingType" minOccurs="0">
+ </xs:element>
+ <xs:element name="OfficialStamp" type="gd:OfficialStampType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="ContactInformationType">
+ <xs:sequence>
+ <xs:element name="Address" type="gd:AddressType" minOccurs="0">
+ </xs:element>
+ <xs:element name="PhoneNumber" type="gd:PlainTextType" minOccurs="0" maxOccurs="unbounded">
+ </xs:element>
+ <xs:element name="Email" type="gd:EmailAddressType" minOccurs="0" maxOccurs="unbounded">
+ </xs:element>
+ <xs:element name="WebSite" type="gd:URLType" minOccurs="0" maxOccurs="unbounded">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="CoursesAttendedInOtherInstitutionInMobilityProgramsType">
+ <xs:sequence>
+ <xs:element name="MobilityProgramme" type="gd:MobilityProgrammeType" maxOccurs="unbounded">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="CourseStructureDiagramType">
+ <xs:sequence>
+ <xs:element name="CoursesGroups" type="gd:CoursesGroupsType" minOccurs="0">
+ </xs:element>
+ <xs:element name="CoursesUnits" type="gd:CoursesUnitsType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="CoursesUnitsType">
+ <xs:sequence>
+ <xs:element name="CourseUnit" type="gd:CourseUnitType" maxOccurs="unbounded">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="CourseUnitLanguagesOfInstructionType">
+ <xs:sequence>
+ <xs:element name="Language" type="gd:CourseUnitLanguageOfInstructionType" maxOccurs="unbounded">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="CourseUnitStudentPerformanceType">
+ <xs:sequence>
+ <xs:element name="LocalGrade" type="gd:LocalGradeType">
+ </xs:element>
+ <xs:element name="ECTSGrade" type="gd:ECTSGradingScaleType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
- <xs:complexType name="CourseUnitType">
- <xs:sequence>
- <!--I've marked the course code as optional. Therefore, I had to remove the key that was defined for this field-->
- <xs:element name="Code" type="gd:PlainTextType" minOccurs="0">
- </xs:element>
- <xs:element name="ScientificArea" type="gd:PlainTextType" minOccurs="0"/>
- <xs:element name="Title" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="Theme" type="gd:PlainTextType" minOccurs="0">
- </xs:element>
- <xs:element name="Type" minOccurs="0">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="gd:PlainTextType">
- <xs:attribute name="type" type="gd:CourseUnitTypeType" use="optional">
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="YearOfStudy" minOccurs="0">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="gd:PlainTextType">
- <xs:attribute name="year" type="gd:PositiveDecimalType" use="optional">
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="Level" minOccurs="0">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="gd:PlainTextType">
- <xs:attribute name="eheaFramework" type="gd:EHEAFrameworkType" use="optional">
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="ECTSCredits" type="gd:PositiveDecimalType" minOccurs="0">
- </xs:element>
- <xs:element name="LocalCredits" type="gd:PositiveDecimalType" minOccurs="0">
- </xs:element>
- <xs:element name="Hours" type="gd:PositiveDecimalType" minOccurs="0">
- </xs:element>
- <xs:element name="LanguagesOfInstruction" type="gd:CourseUnitLanguagesOfInstructionType" minOccurs="0">
- <xs:unique name="LanguagesOfInstructionUQ">
- <xs:selector xpath="gd:Language"/>
- <xs:field xpath="@language"/>
- </xs:unique>
- </xs:element>
- <xs:element name="ModeOfDelivery" minOccurs="0">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="gd:PlainTextType">
- <xs:attribute name="modeOfDelivery" type="gd:ModeOfDeliveryType" use="optional">
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="WorkPlacements" type="gd:CourseUnitWorkPlacementsType" minOccurs="0">
- </xs:element>
- <xs:element name="StudentPerformance" type="gd:CourseUnitStudentPerformanceType" minOccurs="0">
- </xs:element>
- <xs:element name="NameOfLecturers" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="LearningOutcomes" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="PrerequisitesAndCorequisites" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="PrerequisitesScholarshipLevel" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="PrerequisitesOtherTitles" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="RecomendedOptionalProgrammeComponents" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="CourseContents" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="RecomendedOrRequiredReading" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="PlanedLearningActivitiesAndTeachingMethod" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="AssesmentMethodsAndCriteria" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="Observations" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- <xs:attribute name="groupID" type="xs:string" use="optional">
- </xs:attribute>
- <xs:attribute name="institutionAdministeringStudiesID" type="xs:string" use="optional" default="DEF-IAS">
- </xs:attribute>
- <xs:attribute name="isRequiredByTheProgramme" type="xs:boolean" default="true">
- </xs:attribute>
- </xs:complexType>
+ <xs:complexType name="CourseUnitType">
+ <xs:sequence>
+ <!--I've marked the course code as optional. Therefore, I had to remove the key that was defined for this field-->
+ <xs:element name="Code" type="gd:PlainTextType" minOccurs="0">
+ </xs:element>
+ <xs:element name="ScientificArea" type="gd:PlainTextType" minOccurs="0"/>
+ <xs:element name="Title" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="Theme" type="gd:PlainTextType" minOccurs="0">
+ </xs:element>
+ <xs:element name="Type" minOccurs="0">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="gd:PlainTextType">
+ <xs:attribute name="type" type="gd:CourseUnitTypeType" use="optional">
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="YearOfStudy" minOccurs="0">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="gd:PlainTextType">
+ <xs:attribute name="year" type="gd:PositiveDecimalType" use="optional">
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Level" minOccurs="0">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="gd:PlainTextType">
+ <xs:attribute name="eheaFramework" type="gd:EHEAFrameworkType" use="optional">
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ECTSCredits" type="gd:PositiveDecimalType" minOccurs="0">
+ </xs:element>
+ <xs:element name="LocalCredits" type="gd:PositiveDecimalType" minOccurs="0">
+ </xs:element>
+ <xs:element name="Hours" type="gd:PositiveDecimalType" minOccurs="0">
+ </xs:element>
+ <xs:element name="LanguagesOfInstruction" type="gd:CourseUnitLanguagesOfInstructionType" minOccurs="0">
+ <xs:unique name="LanguagesOfInstructionUQ">
+ <xs:selector xpath="gd:Language"/>
+ <xs:field xpath="@language"/>
+ </xs:unique>
+ </xs:element>
+ <xs:element name="ModeOfDelivery" minOccurs="0">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="gd:PlainTextType">
+ <xs:attribute name="modeOfDelivery" type="gd:ModeOfDeliveryType" use="optional">
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="WorkPlacements" type="gd:CourseUnitWorkPlacementsType" minOccurs="0">
+ </xs:element>
+ <xs:element name="StudentPerformance" type="gd:CourseUnitStudentPerformanceType" minOccurs="0">
+ </xs:element>
+ <xs:element name="NameOfLecturers" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="LearningOutcomes" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="PrerequisitesAndCorequisites" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="PrerequisitesScholarshipLevel" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="PrerequisitesOtherTitles" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="RecomendedOptionalProgrammeComponents" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="CourseContents" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="RecomendedOrRequiredReading" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="PlanedLearningActivitiesAndTeachingMethod" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="AssesmentMethodsAndCriteria" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="Observations" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="groupID" type="xs:string" use="optional">
+ </xs:attribute>
+ <xs:attribute name="institutionAdministeringStudiesID" type="xs:string" use="optional" default="DEF-IAS">
+ </xs:attribute>
+ <xs:attribute name="isRequiredByTheProgramme" type="xs:boolean" default="true">
+ </xs:attribute>
+ </xs:complexType>
- <xs:complexType name="CourseUnitWorkPlacementsType">
- <xs:sequence>
- <xs:element name="WorkPlacement" type="gd:CourseUnitWorkPlacementType" maxOccurs="unbounded">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
+ <xs:complexType name="CourseUnitWorkPlacementsType">
+ <xs:sequence>
+ <xs:element name="WorkPlacement" type="gd:CourseUnitWorkPlacementType" maxOccurs="unbounded">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
- <xs:complexType name="CourseUnitWorkPlacementType">
- <xs:sequence>
- <xs:element name="CollaboratingInstitution" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="DateFrom" type="gd:DateType" minOccurs="0">
- </xs:element>
- <xs:element name="DateTo" type="gd:DateType" minOccurs="0">
- </xs:element>
- <xs:element name="TrainingHours" type="gd:PositiveDecimalType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
+ <xs:complexType name="CourseUnitWorkPlacementType">
+ <xs:sequence>
+ <xs:element name="CollaboratingInstitution" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="DateFrom" type="gd:DateType" minOccurs="0">
+ </xs:element>
+ <xs:element name="DateTo" type="gd:DateType" minOccurs="0">
+ </xs:element>
+ <xs:element name="TrainingHours" type="gd:PositiveDecimalType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
- <xs:complexType name="CourseUnitLanguageOfInstructionType">
- <xs:simpleContent>
- <xs:extension base="gd:PlainTextType">
- <xs:attribute name="language" type="gd:LanguageType" use="required">
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
-
-
- <!-- Root element type: GeneralDiploma -->
-
- <xs:complexType name="GeneralDiplomaType">
- <xs:sequence>
- <xs:element name="InformationIdentifyingTheHolderOfTheQualification" type="gd:InformationIdentifyingTheHolderOfTheQualificationType">
- </xs:element>
- <xs:element name="InformationIdentifyingTheQualification" type="gd:InformationIdentifyingTheQualificationType">
- </xs:element>
- <xs:element name="InformationOnTheLevelOfTheQualification" type="gd:InformationOnTheLevelOfTheQualificationType" minOccurs="0">
- </xs:element>
- <!--Course and per-course qualifications information. We set it to optional to allow representing diplomas without course info-->
- <xs:element name="InformationOnTheContentsAndResultsGained" type="gd:InformationOnTheContentsAndResultsGainedType" minOccurs="0">
- </xs:element>
- <xs:element name="InformationOnTheFunctionOfTheQualification" type="gd:InformationOnTheFunctionOfTheQualificationType" minOccurs="0">
- </xs:element>
- <xs:element name="AdditionalInformation" type="gd:AdditionalInformationType" minOccurs="0">
- </xs:element>
- <xs:element name="CertificationOfTheSupplement" type="gd:CertificationOfTheSupplementType" minOccurs="0">
- </xs:element>
- <xs:element name="InformationOnTheNationalHigherEducationSystem" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="Attachments" type="gd:AttachmentsType" minOccurs="0">
- </xs:element>
- <xs:element name="ExtensionContent" type="gd:ExtensionContentType" minOccurs="0" maxOccurs="unbounded">
- </xs:element>
- <xs:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded">
- </xs:element>
- </xs:sequence>
- <xs:attribute name="language" type="gd:LanguageType" use="required">
- </xs:attribute>
- <xs:attribute name="isTheOriginalLanguage" type="xs:boolean" use="required">
- </xs:attribute>
- </xs:complexType>
+ <xs:complexType name="CourseUnitLanguageOfInstructionType">
+ <xs:simpleContent>
+ <xs:extension base="gd:PlainTextType">
+ <xs:attribute name="language" type="gd:LanguageType" use="required">
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+
+ <!-- Root element type: GeneralDiploma -->
+
+ <xs:complexType name="GeneralDiplomaType">
+ <xs:sequence>
+ <xs:element name="InformationIdentifyingTheHolderOfTheQualification" type="gd:InformationIdentifyingTheHolderOfTheQualificationType">
+ </xs:element>
+ <xs:element name="InformationIdentifyingTheQualification" type="gd:InformationIdentifyingTheQualificationType">
+ </xs:element>
+ <xs:element name="InformationOnTheLevelOfTheQualification" type="gd:InformationOnTheLevelOfTheQualificationType" minOccurs="0">
+ </xs:element>
+ <!--Course and per-course qualifications information. We set it to optional to allow representing diplomas without course info-->
+ <xs:element name="InformationOnTheContentsAndResultsGained" type="gd:InformationOnTheContentsAndResultsGainedType" minOccurs="0">
+ </xs:element>
+ <xs:element name="InformationOnTheFunctionOfTheQualification" type="gd:InformationOnTheFunctionOfTheQualificationType" minOccurs="0">
+ </xs:element>
+ <xs:element name="AdditionalInformation" type="gd:AdditionalInformationType" minOccurs="0">
+ </xs:element>
+ <xs:element name="CertificationOfTheSupplement" type="gd:CertificationOfTheSupplementType" minOccurs="0">
+ </xs:element>
+ <xs:element name="InformationOnTheNationalHigherEducationSystem" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="Attachments" type="gd:AttachmentsType" minOccurs="0">
+ </xs:element>
+ <xs:element name="ExtensionContent" type="gd:ExtensionContentType" minOccurs="0" maxOccurs="unbounded">
+ </xs:element>
+ <xs:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded">
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="language" type="gd:LanguageType" use="required">
+ </xs:attribute>
+ <xs:attribute name="isTheOriginalLanguage" type="xs:boolean" use="required">
+ </xs:attribute>
+ </xs:complexType>
- <!-- Can hold anything as extension -->
- <xs:complexType name="ExtensionContentType" mixed="true">
- <xs:sequence minOccurs="0" maxOccurs="unbounded">
- <xs:any namespace="##any" processContents="lax"/>
- </xs:sequence>
- <xs:attribute name="id" type="xs:string" use="optional"/>
- </xs:complexType>
-
-
- <xs:complexType name="FamilyNameType">
- <xs:sequence>
- <xs:element name="Surname" type="gd:PlainTextType" maxOccurs="unbounded">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:complexType name="GivenNameType">
- <xs:sequence>
- <xs:element name="Name" type="gd:PlainTextType" maxOccurs="unbounded">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:complexType name="GradingSchemeAndGradeDistributionGuidanceType">
- <xs:sequence>
- <xs:element name="GradingScheme" type="gd:RichTextTagType">
- </xs:element>
- <xs:element name="GradeDistributionGuidance" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:complexType name="CoursesGroupsType">
- <xs:sequence>
- <xs:element name="Name" type="gd:PlainTextType" minOccurs="0">
- </xs:element>
- <xs:element name="HeaderInformation" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="CoursesGroup" type="gd:CoursesGroupType" minOccurs="0" maxOccurs="unbounded">
- </xs:element>
- <xs:element name="FooterInformation" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <!--Allows a hierarchy of course groups, but each ID must be unique regardless the level it is defined-->
- <xs:complexType name="CoursesGroupType">
- <xs:sequence>
- <xs:element name="Name" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="HeaderInformation" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="CoursesGroup" type="gd:CoursesGroupType" minOccurs="0" maxOccurs="unbounded">
- </xs:element>
- <xs:element name="FooterInformation" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- <xs:attribute name="groupID" type="xs:string" use="required">
- </xs:attribute>
- </xs:complexType>
+ <!-- Can hold anything as extension -->
+ <xs:complexType name="ExtensionContentType" mixed="true">
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:any namespace="##any" processContents="lax"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:string" use="optional"/>
+ </xs:complexType>
+
+
+ <xs:complexType name="FamilyNameType">
+ <xs:sequence>
+ <xs:element name="Surname" type="gd:PlainTextType" maxOccurs="unbounded">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="GivenNameType">
+ <xs:sequence>
+ <xs:element name="Name" type="gd:PlainTextType" maxOccurs="unbounded">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="GradingSchemeAndGradeDistributionGuidanceType">
+ <xs:sequence>
+ <xs:element name="GradingScheme" type="gd:RichTextTagType">
+ </xs:element>
+ <xs:element name="GradeDistributionGuidance" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="CoursesGroupsType">
+ <xs:sequence>
+ <xs:element name="Name" type="gd:PlainTextType" minOccurs="0">
+ </xs:element>
+ <xs:element name="HeaderInformation" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="CoursesGroup" type="gd:CoursesGroupType" minOccurs="0" maxOccurs="unbounded">
+ </xs:element>
+ <xs:element name="FooterInformation" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <!--Allows a hierarchy of course groups, but each ID must be unique regardless the level it is defined-->
+ <xs:complexType name="CoursesGroupType">
+ <xs:sequence>
+ <xs:element name="Name" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="HeaderInformation" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="CoursesGroup" type="gd:CoursesGroupType" minOccurs="0" maxOccurs="unbounded">
+ </xs:element>
+ <xs:element name="FooterInformation" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="groupID" type="xs:string" use="required">
+ </xs:attribute>
+ </xs:complexType>
- <xs:complexType name="InformationIdentifyingTheHolderOfTheQualificationType">
- <xs:sequence>
- <xs:element name="FamilyName" type="gd:FamilyNameType">
- </xs:element>
- <xs:element name="GivenName" type="gd:GivenNameType">
- </xs:element>
- <xs:element name="DateOfBirth" type="gd:DateType" minOccurs="0">
- </xs:element>
- <xs:element name="StudentIdentificationNumber" type="gd:PlainTextType" minOccurs="0">
- </xs:element>
- <xs:element name="CountryOfBirth" type="gd:CountryTextCodeType" minOccurs="0">
- </xs:element>
- <xs:element name="PlaceOfBirth" type="gd:PlainTextType" minOccurs="0">
- </xs:element>
- <xs:element name="Gender" minOccurs="0">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="gd:PlainTextType">
- <xs:attribute name="gender" type="gd:GenderType" use="required">
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
+ <xs:complexType name="InformationIdentifyingTheHolderOfTheQualificationType">
+ <xs:sequence>
+ <xs:element name="FamilyName" type="gd:FamilyNameType">
+ </xs:element>
+ <xs:element name="GivenName" type="gd:GivenNameType">
+ </xs:element>
+ <xs:element name="DateOfBirth" type="gd:DateType" minOccurs="0">
+ </xs:element>
+ <xs:element name="StudentIdentificationNumber" type="gd:PlainTextType" minOccurs="0">
+ </xs:element>
+ <xs:element name="CountryOfBirth" type="gd:CountryTextCodeType" minOccurs="0">
+ </xs:element>
+ <xs:element name="PlaceOfBirth" type="gd:PlainTextType" minOccurs="0">
+ </xs:element>
+ <xs:element name="Gender" minOccurs="0">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="gd:PlainTextType">
+ <xs:attribute name="gender" type="gd:GenderType" use="required">
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
- <!--Required at least the name of the awarding institution, institution administering studies and the name of the qualification-->
- <xs:complexType name="InformationIdentifyingTheQualificationType">
- <xs:sequence>
- <xs:element name="Qualification" type="gd:QualificationType">
- </xs:element>
- <xs:element name="TitleConferred" type="gd:TitleConferredType" minOccurs="0">
- </xs:element>
- <xs:element name="MainFieldsOfStudy" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="NameAndStatusOfAwardingInstitution" type="gd:NameAndStatusOfAwardingInstitutionType">
- </xs:element>
- <xs:element name="NameAndStatusOfInstitutionAdministeringStudies" type="gd:NameAndStatusOfInstitutionAdministeringStudiesType">
- </xs:element>
- <xs:element name="LanguagesOfInstructionAndExamination" type="gd:LanguagesOfInstructionAndExaminationType" minOccurs="0">
- <xs:unique name="LanguageOfInstructionAndExaminationUQ">
- <xs:selector xpath="gd:Language"/>
- <xs:field xpath="@language"/>
- </xs:unique>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
-
- <xs:complexType name="InformationOnTheContentsAndResultsGainedType">
- <xs:sequence>
- <xs:element name="ModeOfStudy" minOccurs="0">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="gd:RichTextTagType">
- <xs:attribute name="modeOfStudy" type="gd:ModeOfStudyType" use="optional">
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="ProgrammeRequirements" type="gd:ProgrammeRequirementsType" minOccurs="0">
- </xs:element>
- <xs:element name="ProgrammeDetails" type="gd:ProgrammeDetailsType" minOccurs="0">
- </xs:element>
- <xs:element name="GradingSchemeAndGradeDistributionGuidance" type="gd:GradingSchemeAndGradeDistributionGuidanceType" minOccurs="0">
- </xs:element>
- <xs:element name="OverallClassificationOfTheQualification" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
-
- <xs:complexType name="InformationOnTheFunctionOfTheQualificationType">
- <xs:sequence>
- <xs:element name="AccessToFurtherStudy" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="ProfessionalStatus" minOccurs="0">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="gd:RichTextTagType">
- <xs:attribute name="isRegulatedProfession" type="xs:boolean" use="optional">
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
-
- <xs:complexType name="InformationOnTheLevelOfTheQualificationType">
- <xs:sequence>
- <xs:element name="Level">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="gd:RichTextTagType">
- <xs:attribute name="isced1997" type="gd:ISCED1997Type" use="optional">
- </xs:attribute>
- <xs:attribute name="isced2011" type="gd:ISCED2011Type" use="optional">
- </xs:attribute>
- <xs:attribute name="eheaFramework" type="gd:EHEAFrameworkType" use="optional">
- </xs:attribute>
- <xs:attribute name="nfq" type="gd:NFQType" use="optional">
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="OfficialLengthOfProgramme">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="gd:RichTextTagType">
- <xs:attribute name="ectsCredits" type="gd:PositiveDecimalType" use="optional">
- </xs:attribute>
- <xs:attribute name="years" type="gd:PositiveDecimalType" use="optional">
- </xs:attribute>
- <xs:attribute name="semesters" type="gd:PositiveIntegerType" use="optional">
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="AccessRequirements" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
+ <!--Required at least the name of the awarding institution, institution administering studies and the name of the qualification-->
+ <xs:complexType name="InformationIdentifyingTheQualificationType">
+ <xs:sequence>
+ <xs:element name="Qualification" type="gd:QualificationType">
+ </xs:element>
+ <xs:element name="TitleConferred" type="gd:TitleConferredType" minOccurs="0">
+ </xs:element>
+ <xs:element name="MainFieldsOfStudy" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="NameAndStatusOfAwardingInstitution" type="gd:NameAndStatusOfAwardingInstitutionType">
+ </xs:element>
+ <xs:element name="NameAndStatusOfInstitutionAdministeringStudies" type="gd:NameAndStatusOfInstitutionAdministeringStudiesType">
+ </xs:element>
+ <xs:element name="LanguagesOfInstructionAndExamination" type="gd:LanguagesOfInstructionAndExaminationType" minOccurs="0">
+ <xs:unique name="LanguageOfInstructionAndExaminationUQ">
+ <xs:selector xpath="gd:Language"/>
+ <xs:field xpath="@language"/>
+ </xs:unique>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="InformationOnTheContentsAndResultsGainedType">
+ <xs:sequence>
+ <xs:element name="ModeOfStudy" minOccurs="0">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="gd:RichTextTagType">
+ <xs:attribute name="modeOfStudy" type="gd:ModeOfStudyType" use="optional">
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ProgrammeRequirements" type="gd:ProgrammeRequirementsType" minOccurs="0">
+ </xs:element>
+ <xs:element name="ProgrammeDetails" type="gd:ProgrammeDetailsType" minOccurs="0">
+ </xs:element>
+ <xs:element name="GradingSchemeAndGradeDistributionGuidance" type="gd:GradingSchemeAndGradeDistributionGuidanceType" minOccurs="0">
+ </xs:element>
+ <xs:element name="OverallClassificationOfTheQualification" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="InformationOnTheFunctionOfTheQualificationType">
+ <xs:sequence>
+ <xs:element name="AccessToFurtherStudy" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="ProfessionalStatus" minOccurs="0">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="gd:RichTextTagType">
+ <xs:attribute name="isRegulatedProfession" type="xs:boolean" use="optional">
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="InformationOnTheLevelOfTheQualificationType">
+ <xs:sequence>
+ <xs:element name="Level">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="gd:RichTextTagType">
+ <xs:attribute name="isced1997" type="gd:ISCED1997Type" use="optional">
+ </xs:attribute>
+ <xs:attribute name="isced2011" type="gd:ISCED2011Type" use="optional">
+ </xs:attribute>
+ <xs:attribute name="eheaFramework" type="gd:EHEAFrameworkType" use="optional">
+ </xs:attribute>
+ <xs:attribute name="nfq" type="gd:NFQType" use="optional">
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OfficialLengthOfProgramme">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="gd:RichTextTagType">
+ <xs:attribute name="ectsCredits" type="gd:PositiveDecimalType" use="optional">
+ </xs:attribute>
+ <xs:attribute name="years" type="gd:PositiveDecimalType" use="optional">
+ </xs:attribute>
+ <xs:attribute name="semesters" type="gd:PositiveIntegerType" use="optional">
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AccessRequirements" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
- <xs:complexType name="InstitutionType">
- <xs:sequence>
- <xs:element name="Name" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="Status" type="gd:PlainTextType" minOccurs="0">
- </xs:element>
- <xs:element name="Country" type="gd:CountryTextCodeType" minOccurs="0">
- </xs:element>
- <xs:element name="AdditionalInformation" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- <xs:element name="ContactInformation" type="gd:ContactInformationType" minOccurs="0">
- </xs:element>
- <xs:element name="AttachedImageRef" minOccurs="0">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="gd:PlainTextType">
- <xs:attribute name="attachedID" type="xs:IDREF" use="required">
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="nationalID" type="gd:PlainTextType" use="optional">
- </xs:attribute>
- <xs:attribute name="erasmusID" type="gd:PlainTextType" use="optional">
- </xs:attribute>
- </xs:complexType>
-
-
- <!-- Added optional boolean values to differentiate languages used for instruction and evaluation-->
- <xs:complexType name="LanguagesOfInstructionAndExaminationType">
- <xs:sequence>
- <xs:element name="Language" maxOccurs="unbounded">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="gd:RichTextTagType">
- <xs:attribute name="language" type="gd:LanguageType" use="required">
- </xs:attribute>
- <xs:attribute name="percent" type="gd:PercentType" use="optional">
- </xs:attribute>
- <xs:attribute name="instruction" type="xs:boolean" default="true">
- </xs:attribute>
- <xs:attribute name="examination" type="xs:boolean" use="optional">
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
-
- <xs:complexType name="LocalGradeType">
- <xs:sequence>
- <xs:element name="AcademicYear" type="gd:AcademicYearType" minOccurs="0">
- </xs:element>
- <xs:element name="DateIssued" type="gd:DateType" minOccurs="0">
- </xs:element>
- <xs:element name="Grade" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="Source" minOccurs="0">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="gd:PlainTextType">
- <xs:attribute name="source" type="gd:SourceGradeType" use="optional">
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
-
- <xs:complexType name="MobilityProgrammeCoursesUnitsType">
- <xs:sequence>
- <xs:element name="CourseUnit" type="gd:MobilityProgrammeCourseUnitType" maxOccurs="unbounded">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:complexType name="MobilityProgrammeCourseUnitType">
- <xs:sequence>
- <xs:element name="Code" type="gd:PlainTextType" minOccurs="0">
- </xs:element>
- <xs:element name="Title">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="gd:PlainTextType">
- <xs:attribute name="language" type="gd:LanguageType">
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="ECTSCredits" type="gd:PositiveDecimalType" minOccurs="0">
- </xs:element>
- <xs:element name="AdditionalInformation" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- <xs:attribute name="isInTheLearningAgreement" type="xs:boolean" default="true">
- </xs:attribute>
- </xs:complexType>
+ <xs:complexType name="InstitutionType">
+ <xs:sequence>
+ <xs:element name="Name" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="Status" type="gd:PlainTextType" minOccurs="0">
+ </xs:element>
+ <xs:element name="Country" type="gd:CountryTextCodeType" minOccurs="0">
+ </xs:element>
+ <xs:element name="AdditionalInformation" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ <xs:element name="ContactInformation" type="gd:ContactInformationType" minOccurs="0">
+ </xs:element>
+ <xs:element name="AttachedImageRef" minOccurs="0">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="gd:PlainTextType">
+ <xs:attribute name="attachedID" type="xs:IDREF" use="required">
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="nationalID" type="gd:PlainTextType" use="optional">
+ </xs:attribute>
+ <xs:attribute name="erasmusID" type="gd:PlainTextType" use="optional">
+ </xs:attribute>
+ </xs:complexType>
+
+
+ <!-- Added optional boolean values to differentiate languages used for instruction and evaluation-->
+ <xs:complexType name="LanguagesOfInstructionAndExaminationType">
+ <xs:sequence>
+ <xs:element name="Language" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="gd:RichTextTagType">
+ <xs:attribute name="language" type="gd:LanguageType" use="required">
+ </xs:attribute>
+ <xs:attribute name="percent" type="gd:PercentType" use="optional">
+ </xs:attribute>
+ <xs:attribute name="instruction" type="xs:boolean" default="true">
+ </xs:attribute>
+ <xs:attribute name="examination" type="xs:boolean" use="optional">
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="LocalGradeType">
+ <xs:sequence>
+ <xs:element name="AcademicYear" type="gd:AcademicYearType" minOccurs="0">
+ </xs:element>
+ <xs:element name="DateIssued" type="gd:DateType" minOccurs="0">
+ </xs:element>
+ <xs:element name="Grade" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="Source" minOccurs="0">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="gd:PlainTextType">
+ <xs:attribute name="source" type="gd:SourceGradeType" use="optional">
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="MobilityProgrammeCoursesUnitsType">
+ <xs:sequence>
+ <xs:element name="CourseUnit" type="gd:MobilityProgrammeCourseUnitType" maxOccurs="unbounded">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="MobilityProgrammeCourseUnitType">
+ <xs:sequence>
+ <xs:element name="Code" type="gd:PlainTextType" minOccurs="0">
+ </xs:element>
+ <xs:element name="Title">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="gd:PlainTextType">
+ <xs:attribute name="language" type="gd:LanguageType">
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ECTSCredits" type="gd:PositiveDecimalType" minOccurs="0">
+ </xs:element>
+ <xs:element name="AdditionalInformation" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="isInTheLearningAgreement" type="xs:boolean" default="true">
+ </xs:attribute>
+ </xs:complexType>
- <xs:complexType name="MobilityProgrammeType">
- <xs:sequence>
- <xs:element name="Type" type="gd:PlainTextType" minOccurs="0">
- </xs:element>
- <xs:element name="FieldOfStudy" type="gd:PlainTextType" minOccurs="0">
- </xs:element>
- <xs:element name="Country" type="gd:CountryTextCodeType">
- </xs:element>
- <xs:element name="ReceivingInstitutionName" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="AcademicYear" type="gd:AcademicYearType" minOccurs="0">
- </xs:element>
- <xs:element name="DateFrom" type="gd:DateType" minOccurs="0">
- </xs:element>
- <xs:element name="DateTo" type="gd:DateType" minOccurs="0">
- </xs:element>
- <xs:element name="CoursesUnits" type="gd:MobilityProgrammeCoursesUnitsType">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
-
- <!-- Root element type: MultilingualGeneralDiploma -->
-
- <xs:complexType name="MultilingualGeneralDiplomaType">
- <xs:sequence>
- <xs:element ref="gd:GeneralDiploma" minOccurs="1" maxOccurs="unbounded">
- </xs:element>
- <xs:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <!-- awardingInstitutionID has a default value if only one is added.
- Schema won't validate if two are added without this attr being set-->
- <xs:complexType name="NameAndStatusOfAwardingInstitutionType">
- <xs:sequence>
- <xs:element name="AwardingInstitution" maxOccurs="unbounded">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="gd:InstitutionType">
- <xs:attribute name="awardingInstitutionID" type="xs:string" use="optional" default="DEF-IAW">
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <!-- institutionAdministeringStudiesID has a default value if only one is added.
- Schema won't validate if two are added without this attr being set-->
- <xs:complexType name="NameAndStatusOfInstitutionAdministeringStudiesType">
- <xs:sequence>
- <xs:element name="InstitutionAdministeringStudies" maxOccurs="unbounded">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="gd:InstitutionType">
- <xs:attribute name="institutionAdministeringStudiesID" type="xs:string" use="optional" default="DEF-IAS">
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:complexType name="OfficialCertifyingType">
- <xs:sequence>
- <xs:element name="FamilyName" type="gd:FamilyNameType">
- </xs:element>
- <xs:element name="GivenName" type="gd:GivenNameType">
- </xs:element>
- <xs:element name="Capacity" type="gd:PlainTextType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- <xs:attribute name="awardingInstitutionID" type="xs:string" use="optional" default="DEF-IAW">
- </xs:attribute>
- </xs:complexType>
-
-
- <xs:complexType name="OfficialsCertifyingType">
- <xs:sequence>
- <xs:element name="OfficialCertifying" type="gd:OfficialCertifyingType" maxOccurs="unbounded">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <!--This is intended for printed out diplomas, to set up an area where the document can be physically stamped-->
- <xs:complexType name="OfficialStampType">
- <xs:sequence>
- <xs:element name="Description" type="gd:PlainTextType">
- </xs:element>
- </xs:sequence>
- <xs:attribute name="awardingInstitutionID" type="xs:string" use="optional" default="DEF-IAW">
- </xs:attribute>
- </xs:complexType>
-
-
- <xs:complexType name="ProgrammeDetailsType">
- <xs:sequence>
- <xs:element name="CourseStructureDiagram" type="gd:CourseStructureDiagramType">
- </xs:element>
- <xs:element name="CoursesAttendedInOtherInstitutionInMobilityPrograms" type="gd:CoursesAttendedInOtherInstitutionInMobilityProgramsType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:complexType name="ProgrammeRequirementsType">
- <xs:sequence>
- <xs:element name="Requirements" type="gd:RichTextTagType">
- </xs:element>
- <xs:element name="KeyLearningOutcomes" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
-
- <xs:complexType name="QualificationType">
- <xs:sequence>
- <xs:element name="Name" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="AdditionalInformation" type="gd:RichTextTagType" minOccurs="0">
- </xs:element>
- </xs:sequence>
- <xs:attribute name="localID" type="gd:PlainTextType" use="optional">
- </xs:attribute>
- <xs:attribute name="nationalID" type="gd:PlainTextType" use="optional">
- </xs:attribute>
- </xs:complexType>
-
-
- <xs:complexType name="RichTextTagType" mixed="true">
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="Bold" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="BreakLine" type="gd:EmptyType">
- </xs:element>
- <xs:element name="Italic" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="Underline" type="gd:PlainTextType">
- </xs:element>
- <xs:element name="AttachedRef">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="gd:PlainTextType">
- <xs:attribute name="attachedID" type="xs:IDREF" use="required">
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
-
-
- <xs:complexType name="TitleConferredType">
- <xs:sequence>
- <xs:element name="Name" type="gd:PlainTextType">
- </xs:element>
- </xs:sequence>
- </xs:complexType>
+ <xs:complexType name="MobilityProgrammeType">
+ <xs:sequence>
+ <xs:element name="Type" type="gd:PlainTextType" minOccurs="0">
+ </xs:element>
+ <xs:element name="FieldOfStudy" type="gd:PlainTextType" minOccurs="0">
+ </xs:element>
+ <xs:element name="Country" type="gd:CountryTextCodeType">
+ </xs:element>
+ <xs:element name="ReceivingInstitutionName" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="AcademicYear" type="gd:AcademicYearType" minOccurs="0">
+ </xs:element>
+ <xs:element name="DateFrom" type="gd:DateType" minOccurs="0">
+ </xs:element>
+ <xs:element name="DateTo" type="gd:DateType" minOccurs="0">
+ </xs:element>
+ <xs:element name="CoursesUnits" type="gd:MobilityProgrammeCoursesUnitsType">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <!-- Root element type: MultilingualGeneralDiploma -->
+
+ <xs:complexType name="MultilingualGeneralDiplomaType">
+ <xs:sequence>
+ <xs:element ref="gd:GeneralDiploma" minOccurs="1" maxOccurs="unbounded">
+ </xs:element>
+ <xs:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- awardingInstitutionID has a default value if only one is added.
+ Schema won't validate if two are added without this attr being set-->
+ <xs:complexType name="NameAndStatusOfAwardingInstitutionType">
+ <xs:sequence>
+ <xs:element name="AwardingInstitution" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="gd:InstitutionType">
+ <xs:attribute name="awardingInstitutionID" type="xs:string" use="optional" default="DEF-IAW">
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- institutionAdministeringStudiesID has a default value if only one is added.
+ Schema won't validate if two are added without this attr being set-->
+ <xs:complexType name="NameAndStatusOfInstitutionAdministeringStudiesType">
+ <xs:sequence>
+ <xs:element name="InstitutionAdministeringStudies" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="gd:InstitutionType">
+ <xs:attribute name="institutionAdministeringStudiesID" type="xs:string" use="optional" default="DEF-IAS">
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="OfficialCertifyingType">
+ <xs:sequence>
+ <xs:element name="FamilyName" type="gd:FamilyNameType">
+ </xs:element>
+ <xs:element name="GivenName" type="gd:GivenNameType">
+ </xs:element>
+ <xs:element name="Capacity" type="gd:PlainTextType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="awardingInstitutionID" type="xs:string" use="optional" default="DEF-IAW">
+ </xs:attribute>
+ </xs:complexType>
+
+
+ <xs:complexType name="OfficialsCertifyingType">
+ <xs:sequence>
+ <xs:element name="OfficialCertifying" type="gd:OfficialCertifyingType" maxOccurs="unbounded">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <!--This is intended for printed out diplomas, to set up an area where the document can be physically stamped-->
+ <xs:complexType name="OfficialStampType">
+ <xs:sequence>
+ <xs:element name="Description" type="gd:PlainTextType">
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="awardingInstitutionID" type="xs:string" use="optional" default="DEF-IAW">
+ </xs:attribute>
+ </xs:complexType>
+
+
+ <xs:complexType name="ProgrammeDetailsType">
+ <xs:sequence>
+ <xs:element name="CourseStructureDiagram" type="gd:CourseStructureDiagramType">
+ </xs:element>
+ <xs:element name="CoursesAttendedInOtherInstitutionInMobilityPrograms" type="gd:CoursesAttendedInOtherInstitutionInMobilityProgramsType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="ProgrammeRequirementsType">
+ <xs:sequence>
+ <xs:element name="Requirements" type="gd:RichTextTagType">
+ </xs:element>
+ <xs:element name="KeyLearningOutcomes" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="QualificationType">
+ <xs:sequence>
+ <xs:element name="Name" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="AdditionalInformation" type="gd:RichTextTagType" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="localID" type="gd:PlainTextType" use="optional">
+ </xs:attribute>
+ <xs:attribute name="nationalID" type="gd:PlainTextType" use="optional">
+ </xs:attribute>
+ </xs:complexType>
+
+
+ <xs:complexType name="RichTextTagType" mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="Bold" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="BreakLine" type="gd:EmptyType">
+ </xs:element>
+ <xs:element name="Italic" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="Underline" type="gd:PlainTextType">
+ </xs:element>
+ <xs:element name="AttachedRef">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="gd:PlainTextType">
+ <xs:attribute name="attachedID" type="xs:IDREF" use="required">
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+
+
+ <xs:complexType name="TitleConferredType">
+ <xs:sequence>
+ <xs:element name="Name" type="gd:PlainTextType">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
- <!-- Root element: GeneralDiploma -->
-
- <xs:element name="GeneralDiploma" type="gd:GeneralDiplomaType">
- <!--Primary Keys--> <!-- TODO: revisar estas restricciones que tengan sentido y deban seguir existiendo -->
- <xs:key name="GroupIDPK">
- <xs:selector xpath=".//gd:CoursesGroup"/>
- <xs:field xpath="@groupID"/>
- </xs:key>
- <xs:key name="AwardingInstitutionIDPK">
- <xs:selector xpath=".//gd:AwardingInstitution"/>
- <xs:field xpath="@awardingInstitutionID"/>
- </xs:key>
- <xs:key name="InstitutionAdministeringStudiesIDPK">
- <xs:selector xpath=".//gd:InstitutionAdministeringStudies"/>
- <xs:field xpath="@institutionAdministeringStudiesID"/>
- </xs:key>
- <!--Foreign Keys-->
- <xs:keyref name="GroupFK" refer="gd:GroupIDPK">
- <xs:selector xpath=".//gd:CourseStructureDiagram/gd:CoursesUnits/gd:CourseUnit"/>
- <xs:field xpath="@groupID"/>
- </xs:keyref>
- <xs:keyref name="AwardingInstitutionOfficialCertifyingFK" refer="gd:AwardingInstitutionIDPK">
- <xs:selector xpath=".//gd:OfficialCertifying"/>
- <xs:field xpath="@awardingInstitutionID"/>
- </xs:keyref>
- <xs:keyref name="AwardingInstitutionOfficialStampFK" refer="gd:AwardingInstitutionIDPK">
- <xs:selector xpath=".//gd:OfficialStamp"/>
- <xs:field xpath="@awardingInstitutionID"/>
- </xs:keyref>
- <xs:keyref name="InstitutionAdministeringStudiesFK" refer="gd:InstitutionAdministeringStudiesIDPK">
- <xs:selector xpath=".//gd:ProgrammeDetails/gd:CourseStructureDiagram/gd:CoursesUnits/gd:CourseUnit"/>
- <xs:field xpath="@institutionAdministeringStudiesID"/>
- </xs:keyref>
- </xs:element>
+ <!-- Root element: GeneralDiploma -->
+
+ <xs:element name="GeneralDiploma" type="gd:GeneralDiplomaType">
+ <!--Primary Keys--> <!-- TODO: revisar estas restricciones que tengan sentido y deban seguir existiendo -->
+ <xs:key name="GroupIDPK">
+ <xs:selector xpath=".//gd:CoursesGroup"/>
+ <xs:field xpath="@groupID"/>
+ </xs:key>
+ <xs:key name="AwardingInstitutionIDPK">
+ <xs:selector xpath=".//gd:AwardingInstitution"/>
+ <xs:field xpath="@awardingInstitutionID"/>
+ </xs:key>
+ <xs:key name="InstitutionAdministeringStudiesIDPK">
+ <xs:selector xpath=".//gd:InstitutionAdministeringStudies"/>
+ <xs:field xpath="@institutionAdministeringStudiesID"/>
+ </xs:key>
+ <!--Foreign Keys-->
+ <xs:keyref name="GroupFK" refer="gd:GroupIDPK">
+ <xs:selector xpath=".//gd:CourseStructureDiagram/gd:CoursesUnits/gd:CourseUnit"/>
+ <xs:field xpath="@groupID"/>
+ </xs:keyref>
+ <xs:keyref name="AwardingInstitutionOfficialCertifyingFK" refer="gd:AwardingInstitutionIDPK">
+ <xs:selector xpath=".//gd:OfficialCertifying"/>
+ <xs:field xpath="@awardingInstitutionID"/>
+ </xs:keyref>
+ <xs:keyref name="AwardingInstitutionOfficialStampFK" refer="gd:AwardingInstitutionIDPK">
+ <xs:selector xpath=".//gd:OfficialStamp"/>
+ <xs:field xpath="@awardingInstitutionID"/>
+ </xs:keyref>
+ <xs:keyref name="InstitutionAdministeringStudiesFK" refer="gd:InstitutionAdministeringStudiesIDPK">
+ <xs:selector xpath=".//gd:ProgrammeDetails/gd:CourseStructureDiagram/gd:CoursesUnits/gd:CourseUnit"/>
+ <xs:field xpath="@institutionAdministeringStudiesID"/>
+ </xs:keyref>
+ </xs:element>
- <!-- Root element: MultilingualGeneralDiploma -->
-
- <xs:element name="MultilingualGeneralDiploma" type="gd:MultilingualGeneralDiplomaType">
- <!--Unique Keys--> <!-- Language codes of each Diploma must be unique -->
- <xs:unique name="GeneralDiplomaLanguageUQ">
- <xs:selector xpath="gd:GeneralDiploma"/>
- <xs:field xpath="@language"/>
- </xs:unique>
- </xs:element>
+ <!-- Root element: MultilingualGeneralDiploma -->
+
+ <xs:element name="MultilingualGeneralDiploma" type="gd:MultilingualGeneralDiplomaType">
+ <!--Unique Keys--> <!-- Language codes of each Diploma must be unique -->
+ <xs:unique name="GeneralDiplomaLanguageUQ">
+ <xs:selector xpath="gd:GeneralDiploma"/>
+ <xs:field xpath="@language"/>
+ </xs:unique>
+ </xs:element>
</xs:schema>
diff --git a/id/server/stork2-commons/src/main/resources/schema/xmldsig-core-schema.xsd b/id/server/stork2-commons/src/main/resources/schema/xmldsig-core-schema.xsd
index e75c806e0..54527e0bc 100644
--- a/id/server/stork2-commons/src/main/resources/schema/xmldsig-core-schema.xsd
+++ b/id/server/stork2-commons/src/main/resources/schema/xmldsig-core-schema.xsd
@@ -22,288 +22,288 @@
targetNamespace="http://www.w3.org/2000/09/xmldsig#"
version="0.1" elementFormDefault="qualified">
-<!-- Basic Types Defined for Signatures -->
-
-<simpleType name="CryptoBinary">
- <restriction base="base64Binary">
- </restriction>
-</simpleType>
-
-<!-- Start Signature -->
-
-<element name="Signature" type="ds:SignatureType"/>
-<complexType name="SignatureType">
- <sequence>
- <element ref="ds:SignedInfo"/>
- <element ref="ds:SignatureValue"/>
- <element ref="ds:KeyInfo" minOccurs="0"/>
- <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="Id" type="ID" use="optional"/>
-</complexType>
-
- <element name="SignatureValue" type="ds:SignatureValueType"/>
- <complexType name="SignatureValueType">
- <simpleContent>
- <extension base="base64Binary">
+ <!-- Basic Types Defined for Signatures -->
+
+ <simpleType name="CryptoBinary">
+ <restriction base="base64Binary">
+ </restriction>
+ </simpleType>
+
+ <!-- Start Signature -->
+
+ <element name="Signature" type="ds:SignatureType"/>
+ <complexType name="SignatureType">
+ <sequence>
+ <element ref="ds:SignedInfo"/>
+ <element ref="ds:SignatureValue"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
<attribute name="Id" type="ID" use="optional"/>
- </extension>
- </simpleContent>
- </complexType>
-
-<!-- Start SignedInfo -->
-
-<element name="SignedInfo" type="ds:SignedInfoType"/>
-<complexType name="SignedInfoType">
- <sequence>
- <element ref="ds:CanonicalizationMethod"/>
- <element ref="ds:SignatureMethod"/>
- <element ref="ds:Reference" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="Id" type="ID" use="optional"/>
-</complexType>
-
- <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
- <complexType name="CanonicalizationMethodType" mixed="true">
- <sequence>
- <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
- <!-- (0,unbounded) elements from (1,1) namespace -->
- </sequence>
- <attribute name="Algorithm" type="anyURI" use="required"/>
- </complexType>
-
- <element name="SignatureMethod" type="ds:SignatureMethodType"/>
- <complexType name="SignatureMethodType" mixed="true">
- <sequence>
- <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
- <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
- <!-- (0,unbounded) elements from (1,1) external namespace -->
- </sequence>
- <attribute name="Algorithm" type="anyURI" use="required"/>
- </complexType>
-
-<!-- Start Reference -->
-
-<element name="Reference" type="ds:ReferenceType"/>
-<complexType name="ReferenceType">
- <sequence>
- <element ref="ds:Transforms" minOccurs="0"/>
- <element ref="ds:DigestMethod"/>
- <element ref="ds:DigestValue"/>
- </sequence>
- <attribute name="Id" type="ID" use="optional"/>
- <attribute name="URI" type="anyURI" use="optional"/>
- <attribute name="Type" type="anyURI" use="optional"/>
-</complexType>
-
- <element name="Transforms" type="ds:TransformsType"/>
- <complexType name="TransformsType">
- <sequence>
- <element ref="ds:Transform" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <element name="Transform" type="ds:TransformType"/>
- <complexType name="TransformType" mixed="true">
- <choice minOccurs="0" maxOccurs="unbounded">
- <any namespace="##other" processContents="lax"/>
- <!-- (1,1) elements from (0,unbounded) namespaces -->
- <element name="XPath" type="string"/>
- </choice>
- <attribute name="Algorithm" type="anyURI" use="required"/>
- </complexType>
-
-<!-- End Reference -->
-
-<element name="DigestMethod" type="ds:DigestMethodType"/>
-<complexType name="DigestMethodType" mixed="true">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="Algorithm" type="anyURI" use="required"/>
-</complexType>
-
-<element name="DigestValue" type="ds:DigestValueType"/>
-<simpleType name="DigestValueType">
- <restriction base="base64Binary"/>
-</simpleType>
-
-<!-- End SignedInfo -->
-
-<!-- Start KeyInfo -->
-
-<element name="KeyInfo" type="ds:KeyInfoType"/>
-<complexType name="KeyInfoType" mixed="true">
- <choice maxOccurs="unbounded">
- <element ref="ds:KeyName"/>
- <element ref="ds:KeyValue"/>
- <element ref="ds:RetrievalMethod"/>
- <element ref="ds:X509Data"/>
- <element ref="ds:PGPData"/>
- <element ref="ds:SPKIData"/>
- <element ref="ds:MgmtData"/>
- <any processContents="lax" namespace="##other"/>
- <!-- (1,1) elements from (0,unbounded) namespaces -->
- </choice>
- <attribute name="Id" type="ID" use="optional"/>
-</complexType>
-
- <element name="KeyName" type="string"/>
- <element name="MgmtData" type="string"/>
-
- <element name="KeyValue" type="ds:KeyValueType"/>
- <complexType name="KeyValueType" mixed="true">
- <choice>
- <element ref="ds:DSAKeyValue"/>
- <element ref="ds:RSAKeyValue"/>
- <any namespace="##other" processContents="lax"/>
- </choice>
- </complexType>
-
- <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
- <complexType name="RetrievalMethodType">
- <sequence>
- <element ref="ds:Transforms" minOccurs="0"/>
- </sequence>
- <attribute name="URI" type="anyURI"/>
- <attribute name="Type" type="anyURI" use="optional"/>
- </complexType>
-
-<!-- Start X509Data -->
-
-<element name="X509Data" type="ds:X509DataType"/>
-<complexType name="X509DataType">
- <sequence maxOccurs="unbounded">
- <choice>
- <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
- <element name="X509SKI" type="base64Binary"/>
- <element name="X509SubjectName" type="string"/>
- <element name="X509Certificate" type="base64Binary"/>
- <element name="X509CRL" type="base64Binary"/>
- <any namespace="##other" processContents="lax"/>
- </choice>
- </sequence>
-</complexType>
-
-<complexType name="X509IssuerSerialType">
- <sequence>
- <element name="X509IssuerName" type="string"/>
- <element name="X509SerialNumber" type="integer"/>
- </sequence>
-</complexType>
-
-<!-- End X509Data -->
-
-<!-- Begin PGPData -->
-
-<element name="PGPData" type="ds:PGPDataType"/>
-<complexType name="PGPDataType">
- <choice>
- <sequence>
- <element name="PGPKeyID" type="base64Binary"/>
- <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
- <any namespace="##other" processContents="lax" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- <sequence>
- <element name="PGPKeyPacket" type="base64Binary"/>
- <any namespace="##other" processContents="lax" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </choice>
-</complexType>
-
-<!-- End PGPData -->
-
-<!-- Begin SPKIData -->
-
-<element name="SPKIData" type="ds:SPKIDataType"/>
-<complexType name="SPKIDataType">
- <sequence maxOccurs="unbounded">
- <element name="SPKISexp" type="base64Binary"/>
- <any namespace="##other" processContents="lax" minOccurs="0"/>
- </sequence>
-</complexType>
-
-<!-- End SPKIData -->
-
-<!-- End KeyInfo -->
-
-<!-- Start Object (Manifest, SignatureProperty) -->
-
-<element name="Object" type="ds:ObjectType"/>
-<complexType name="ObjectType" mixed="true">
- <sequence minOccurs="0" maxOccurs="unbounded">
- <any namespace="##any" processContents="lax"/>
- </sequence>
- <attribute name="Id" type="ID" use="optional"/>
- <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->
- <attribute name="Encoding" type="anyURI" use="optional"/>
-</complexType>
-
-<element name="Manifest" type="ds:ManifestType"/>
-<complexType name="ManifestType">
- <sequence>
- <element ref="ds:Reference" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="Id" type="ID" use="optional"/>
-</complexType>
-
-<element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
-<complexType name="SignaturePropertiesType">
- <sequence>
- <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="Id" type="ID" use="optional"/>
-</complexType>
-
- <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
- <complexType name="SignaturePropertyType" mixed="true">
- <choice maxOccurs="unbounded">
- <any namespace="##other" processContents="lax"/>
- <!-- (1,1) elements from (1,unbounded) namespaces -->
- </choice>
- <attribute name="Target" type="anyURI" use="required"/>
- <attribute name="Id" type="ID" use="optional"/>
- </complexType>
-
-<!-- End Object (Manifest, SignatureProperty) -->
-
-<!-- Start Algorithm Parameters -->
-
-<simpleType name="HMACOutputLengthType">
- <restriction base="integer"/>
-</simpleType>
-
-<!-- Start KeyValue Element-types -->
-
-<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
-<complexType name="DSAKeyValueType">
- <sequence>
- <sequence minOccurs="0">
- <element name="P" type="ds:CryptoBinary"/>
- <element name="Q" type="ds:CryptoBinary"/>
- </sequence>
- <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
- <element name="Y" type="ds:CryptoBinary"/>
- <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
- <sequence minOccurs="0">
- <element name="Seed" type="ds:CryptoBinary"/>
- <element name="PgenCounter" type="ds:CryptoBinary"/>
- </sequence>
- </sequence>
-</complexType>
-
-<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
-<complexType name="RSAKeyValueType">
- <sequence>
- <element name="Modulus" type="ds:CryptoBinary"/>
- <element name="Exponent" type="ds:CryptoBinary"/>
- </sequence>
-</complexType>
-
-<!-- End KeyValue Element-types -->
-
-<!-- End Signature -->
+ </complexType>
+
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
+ <complexType name="SignatureValueType">
+ <simpleContent>
+ <extension base="base64Binary">
+ <attribute name="Id" type="ID" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <!-- Start SignedInfo -->
+
+ <element name="SignedInfo" type="ds:SignedInfoType"/>
+ <complexType name="SignedInfoType">
+ <sequence>
+ <element ref="ds:CanonicalizationMethod"/>
+ <element ref="ds:SignatureMethod"/>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
+ <complexType name="CanonicalizationMethodType" mixed="true">
+ <sequence>
+ <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+ <complexType name="SignatureMethodType" mixed="true">
+ <sequence>
+ <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) external namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+
+ <!-- Start Reference -->
+
+ <element name="Reference" type="ds:ReferenceType"/>
+ <complexType name="ReferenceType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ <element ref="ds:DigestMethod"/>
+ <element ref="ds:DigestValue"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="URI" type="anyURI" use="optional"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+
+ <element name="Transforms" type="ds:TransformsType"/>
+ <complexType name="TransformsType">
+ <sequence>
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <element name="Transform" type="ds:TransformType"/>
+ <complexType name="TransformType" mixed="true">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ <element name="XPath" type="string"/>
+ </choice>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+
+ <!-- End Reference -->
+
+ <element name="DigestMethod" type="ds:DigestMethodType"/>
+ <complexType name="DigestMethodType" mixed="true">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+
+ <element name="DigestValue" type="ds:DigestValueType"/>
+ <simpleType name="DigestValueType">
+ <restriction base="base64Binary"/>
+ </simpleType>
+
+ <!-- End SignedInfo -->
+
+ <!-- Start KeyInfo -->
+
+ <element name="KeyInfo" type="ds:KeyInfoType"/>
+ <complexType name="KeyInfoType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <element ref="ds:KeyName"/>
+ <element ref="ds:KeyValue"/>
+ <element ref="ds:RetrievalMethod"/>
+ <element ref="ds:X509Data"/>
+ <element ref="ds:PGPData"/>
+ <element ref="ds:SPKIData"/>
+ <element ref="ds:MgmtData"/>
+ <any processContents="lax" namespace="##other"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+
+ <element name="KeyName" type="string"/>
+ <element name="MgmtData" type="string"/>
+
+ <element name="KeyValue" type="ds:KeyValueType"/>
+ <complexType name="KeyValueType" mixed="true">
+ <choice>
+ <element ref="ds:DSAKeyValue"/>
+ <element ref="ds:RSAKeyValue"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
+ <complexType name="RetrievalMethodType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ </sequence>
+ <attribute name="URI" type="anyURI"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+
+ <!-- Start X509Data -->
+
+ <element name="X509Data" type="ds:X509DataType"/>
+ <complexType name="X509DataType">
+ <sequence maxOccurs="unbounded">
+ <choice>
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+ <element name="X509SKI" type="base64Binary"/>
+ <element name="X509SubjectName" type="string"/>
+ <element name="X509Certificate" type="base64Binary"/>
+ <element name="X509CRL" type="base64Binary"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </sequence>
+ </complexType>
+
+ <complexType name="X509IssuerSerialType">
+ <sequence>
+ <element name="X509IssuerName" type="string"/>
+ <element name="X509SerialNumber" type="integer"/>
+ </sequence>
+ </complexType>
+
+ <!-- End X509Data -->
+
+ <!-- Begin PGPData -->
+
+ <element name="PGPData" type="ds:PGPDataType"/>
+ <complexType name="PGPDataType">
+ <choice>
+ <sequence>
+ <element name="PGPKeyID" type="base64Binary"/>
+ <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <sequence>
+ <element name="PGPKeyPacket" type="base64Binary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </choice>
+ </complexType>
+
+ <!-- End PGPData -->
+
+ <!-- Begin SPKIData -->
+
+ <element name="SPKIData" type="ds:SPKIDataType"/>
+ <complexType name="SPKIDataType">
+ <sequence maxOccurs="unbounded">
+ <element name="SPKISexp" type="base64Binary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <!-- End SPKIData -->
+
+ <!-- End KeyInfo -->
+
+ <!-- Start Object (Manifest, SignatureProperty) -->
+
+ <element name="Object" type="ds:ObjectType"/>
+ <complexType name="ObjectType" mixed="true">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##any" processContents="lax"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->
+ <attribute name="Encoding" type="anyURI" use="optional"/>
+ </complexType>
+
+ <element name="Manifest" type="ds:ManifestType"/>
+ <complexType name="ManifestType">
+ <sequence>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+
+ <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
+ <complexType name="SignaturePropertiesType">
+ <sequence>
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
+ <complexType name="SignaturePropertyType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (1,unbounded) namespaces -->
+ </choice>
+ <attribute name="Target" type="anyURI" use="required"/>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+
+ <!-- End Object (Manifest, SignatureProperty) -->
+
+ <!-- Start Algorithm Parameters -->
+
+ <simpleType name="HMACOutputLengthType">
+ <restriction base="integer"/>
+ </simpleType>
+
+ <!-- Start KeyValue Element-types -->
+
+ <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+ <complexType name="DSAKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="Y" type="ds:CryptoBinary"/>
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+ <sequence minOccurs="0">
+ <element name="Seed" type="ds:CryptoBinary"/>
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+ </complexType>
+
+ <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+ <complexType name="RSAKeyValueType">
+ <sequence>
+ <element name="Modulus" type="ds:CryptoBinary"/>
+ <element name="Exponent" type="ds:CryptoBinary"/>
+ </sequence>
+ </complexType>
+
+ <!-- End KeyValue Element-types -->
+
+ <!-- End Signature -->
</schema>
diff --git a/id/server/stork2-commons/src/test/.svn/all-wcprops b/id/server/stork2-commons/src/test/.svn/all-wcprops
deleted file mode 100644
index 20c6abf40..000000000
--- a/id/server/stork2-commons/src/test/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 54
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/test
-END
diff --git a/id/server/stork2-commons/src/test/.svn/entries b/id/server/stork2-commons/src/test/.svn/entries
deleted file mode 100644
index 2340f1ba0..000000000
--- a/id/server/stork2-commons/src/test/.svn/entries
+++ /dev/null
@@ -1,34 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-resources
-dir
-
-java
-dir
-
diff --git a/id/server/stork2-commons/src/test/java/.svn/all-wcprops b/id/server/stork2-commons/src/test/java/.svn/all-wcprops
deleted file mode 100644
index 0539c7776..000000000
--- a/id/server/stork2-commons/src/test/java/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 59
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/test/java
-END
diff --git a/id/server/stork2-commons/src/test/java/.svn/entries b/id/server/stork2-commons/src/test/java/.svn/entries
deleted file mode 100644
index 022ccbba6..000000000
--- a/id/server/stork2-commons/src/test/java/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test/java
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-eu
-dir
-
diff --git a/id/server/stork2-commons/src/test/java/eu/.svn/all-wcprops b/id/server/stork2-commons/src/test/java/eu/.svn/all-wcprops
deleted file mode 100644
index 1074db391..000000000
--- a/id/server/stork2-commons/src/test/java/eu/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 62
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/test/java/eu
-END
diff --git a/id/server/stork2-commons/src/test/java/eu/.svn/entries b/id/server/stork2-commons/src/test/java/eu/.svn/entries
deleted file mode 100644
index b692975a3..000000000
--- a/id/server/stork2-commons/src/test/java/eu/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test/java/eu
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-stork
-dir
-
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/.svn/all-wcprops b/id/server/stork2-commons/src/test/java/eu/stork/.svn/all-wcprops
deleted file mode 100644
index 7b9321684..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 68
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/test/java/eu/stork
-END
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/.svn/entries b/id/server/stork2-commons/src/test/java/eu/stork/.svn/entries
deleted file mode 100644
index 1b9026249..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test/java/eu/stork
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-peps
-dir
-
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/.svn/all-wcprops b/id/server/stork2-commons/src/test/java/eu/stork/peps/.svn/all-wcprops
deleted file mode 100644
index 1a4a3889b..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/.svn/all-wcprops
+++ /dev/null
@@ -1,5 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 73
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/test/java/eu/stork/peps
-END
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/.svn/entries b/id/server/stork2-commons/src/test/java/eu/stork/peps/.svn/entries
deleted file mode 100644
index 568fa8c62..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/.svn/entries
+++ /dev/null
@@ -1,31 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test/java/eu/stork/peps
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-tests
-dir
-
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/all-wcprops b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/all-wcprops
deleted file mode 100644
index fd0288d3a..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/all-wcprops
+++ /dev/null
@@ -1,59 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 79
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/test/java/eu/stork/peps/tests
-END
-AttributeSourceTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 108
-/CITnet/svn/STORK2/!svn/ver/712/trunk/Commons/src/test/java/eu/stork/peps/tests/AttributeSourceTestCase.java
-END
-ComplexAttributesMarshalling.java
-K 25
-svn:wc:ra_dav:version-url
-V 113
-/CITnet/svn/STORK2/!svn/ver/721/trunk/Commons/src/test/java/eu/stork/peps/tests/ComplexAttributesMarshalling.java
-END
-PEPSUtilTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 100
-/CITnet/svn/STORK2/!svn/ver/96/trunk/Commons/src/test/java/eu/stork/peps/tests/PEPSUtilTestCase.java
-END
-PersonalAttributeTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 109
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/test/java/eu/stork/peps/tests/PersonalAttributeTestCase.java
-END
-package-info.java
-K 25
-svn:wc:ra_dav:version-url
-V 96
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/test/java/eu/stork/peps/tests/package-info.java
-END
-DateUtilTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 100
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/test/java/eu/stork/peps/tests/DateUtilTestCase.java
-END
-AttributeProvidersMapTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 114
-/CITnet/svn/STORK2/!svn/ver/712/trunk/Commons/src/test/java/eu/stork/peps/tests/AttributeProvidersMapTestCase.java
-END
-AttributeUtilTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 105
-/CITnet/svn/STORK2/!svn/ver/96/trunk/Commons/src/test/java/eu/stork/peps/tests/AttributeUtilTestCase.java
-END
-PersonalAttributeListTestCase.java
-K 25
-svn:wc:ra_dav:version-url
-V 114
-/CITnet/svn/STORK2/!svn/ver/484/trunk/Commons/src/test/java/eu/stork/peps/tests/PersonalAttributeListTestCase.java
-END
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/entries b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/entries
deleted file mode 100644
index 7c5cf8a9d..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/entries
+++ /dev/null
@@ -1,334 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test/java/eu/stork/peps/tests
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-PersonalAttributeTestCase.java
-file
-
-
-
-
-2013-12-20T12:27:56.518475Z
-77386880d5ffadd21c9b3a3c7d51b990
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-5449
-
-package-info.java
-file
-
-
-
-
-2013-12-20T12:27:56.518475Z
-04f136539bda0caa3d5ccdfee912cfce
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-92
-
-DateUtilTestCase.java
-file
-
-
-
-
-2013-12-20T12:27:56.518475Z
-244cc6104660a7835dbf72dadb305d71
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-8907
-
-AttributeProvidersMapTestCase.java
-file
-
-
-
-
-2014-03-05T09:36:07.758515Z
-1490c44149a87308c4a6cc0e2af88a85
-2014-03-03T15:10:40.224759Z
-712
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3995
-
-AttributeUtilTestCase.java
-file
-
-
-
-
-2013-12-20T12:27:56.518475Z
-6037f125adf7f4c2f6873a0d99ab0705
-2013-11-01T20:35:30.927048Z
-96
-emferreri
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-16318
-
-PersonalAttributeListTestCase.java
-file
-
-
-
-
-2014-01-21T08:38:55.140702Z
-ae552dce95a6b83d15e381306e2f5e59
-2014-01-15T09:44:59.969756Z
-484
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-24508
-
-AttributeSourceTestCase.java
-file
-
-
-
-
-2014-03-05T09:36:07.758515Z
-1505085e4fd6c684d4f6a8db3d5ba233
-2014-03-03T15:10:40.224759Z
-712
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2465
-
-ComplexAttributesMarshalling.java
-file
-
-
-
-
-2014-03-05T09:36:07.758515Z
-aca1d76d312b0dc5026f852bb14ab5a5
-2014-03-04T14:10:03.192908Z
-721
-emrepisja
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-6363
-
-PEPSUtilTestCase.java
-file
-
-
-
-
-2013-12-20T12:27:56.518475Z
-f54beadeab9af936f44af326eb1116d2
-2013-11-01T20:35:30.927048Z
-96
-emferreri
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-16714
-
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeProvidersMapTestCase.java.svn-base b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeProvidersMapTestCase.java.svn-base
deleted file mode 100644
index 89f5adbed..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeProvidersMapTestCase.java.svn-base
+++ /dev/null
@@ -1,134 +0,0 @@
-package eu.stork.peps.tests;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.AttributeProvider;
-import eu.stork.peps.auth.commons.AttributeProvidersMap;
-import eu.stork.peps.auth.commons.AttributeSource;
-import eu.stork.peps.auth.commons.Country;
-import eu.stork.peps.auth.commons.IAttributeProvidersMap;
-import eu.stork.peps.auth.commons.IPersonalAttributeList;
-import eu.stork.peps.auth.commons.PersonalAttributeList;
-
-/**
- * The AttributeSource's Test Case.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: $, $Date: $
- */
-public class AttributeProvidersMapTestCase {
-
- @Test
- public void testObjectOK1() {
- final IAttributeProvidersMap map = new AttributeProvidersMap();
- final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(source) ) {
- outcome = true;
- }
-
- assertTrue(outcome);
- }
-
- @Test
- public void testObjectOK2() {
- final IAttributeProvidersMap map = new AttributeProvidersMap();
- final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(source) ) {
- if ( map.get(source)!=null ) {
- outcome = true;
- }
- }
-
- assertTrue(outcome);
- }
-
- @Test
- public void testObjectOK3() {
- final IAttributeProvidersMap map = new AttributeProvidersMap();
- final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final AttributeSource target = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(target) ) {
- outcome = true;
- }
-
- assertTrue(outcome);
- }
-
- @Test
- public void testObjectOK4() {
- final IAttributeProvidersMap map = new AttributeProvidersMap();
- final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final AttributeSource target = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(target) ) {
- if ( map.get(target)!=null ) {
- outcome = true;
- }
- }
-
- assertTrue(outcome);
- }
-
- @Test
- public void testObjectNOK1() {
- final IAttributeProvidersMap map = new AttributeProvidersMap();
- final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final AttributeSource target = new AttributeSource(new Country("ID1", "Name 1"), "URL");
- final IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(target) ) {
- outcome = true;
- }
-
- assertFalse(outcome);
- }
-
- @Test
- public void testObjectNOK2() {
- final IAttributeProvidersMap map = new AttributeProvidersMap();
- final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final AttributeSource target = new AttributeSource(new AttributeProvider("ID2", "Name 1", null), "URL");
- final IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(target) ) {
- outcome = true;
- }
-
- assertFalse(outcome);
- }
-}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeSourceTestCase.java.svn-base b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeSourceTestCase.java.svn-base
deleted file mode 100644
index e0f685ade..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeSourceTestCase.java.svn-base
+++ /dev/null
@@ -1,88 +0,0 @@
-package eu.stork.peps.tests;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.AttributeProvider;
-import eu.stork.peps.auth.commons.AttributeSource;
-import eu.stork.peps.auth.commons.Country;
-
-/**
- * The AttributeSource's Test Case.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
- * @version $Revision: $, $Date: $
- */
-public final class AttributeSourceTestCase {
- private final AttributeSource ap1 = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL1");
- private final AttributeSource ap2 = new AttributeSource(new AttributeProvider("ID2", "Name 2", null), "URL2");
- private final AttributeSource ap3 = new AttributeSource(new AttributeProvider("ID1", "Name 2", null), "URL2");
- private final AttributeSource ap4 = new AttributeSource(new AttributeProvider("ID1", "Name 2", null), "URL1");
- private final AttributeSource ap5 = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL1");
-
- private final AttributeSource c1 = new AttributeSource(new Country("ID1", "Name 1"), "URL1");
- private final AttributeSource c2 = new AttributeSource(new Country("ID2", "Name 2"), "URL2");
- private final AttributeSource c3 = new AttributeSource(new Country("ID1", "Name 2"), "URL2");
- private final AttributeSource c4 = new AttributeSource(new Country("ID1", "Name 2"), "URL1");
- private final AttributeSource c5 = new AttributeSource(new Country("ID1", "Name 1"), "URL1");
-
- @Test
- public void testNotEquals1() {
- assertFalse(ap1.equals(ap2));
- }
-
- @Test
- public void testNotEquals2() {
- assertFalse(ap1.equals(c1));
- }
-
- @Test
- public void testNotEquals3() {
- assertFalse(c1.equals(c2));
- }
-
- @Test
- public void testEquals1() {
- assertTrue(ap1.equals(ap3));
- }
-
- @Test
- public void testEquals2() {
- assertTrue(ap1.equals(ap4));
- }
-
- @Test
- public void testEquals3() {
- assertTrue(ap1.equals(ap5));
- }
-
- @Test
- public void testEquals4() {
- assertTrue(c1.equals(c3));
- }
-
- @Test
- public void testEquals5() {
- assertTrue(c1.equals(c4));
- }
-
- @Test
- public void testEquals6() {
- assertTrue(c1.equals(c5));
- }
-
- @Test
- public void testEquals7() {
- final Object obj = ap5;
- assertTrue(ap1.equals(obj));
- }
-
- @Test
- public void testEquals8() {
- final Object obj = c5;
- assertTrue(c1.equals(obj));
- }
-}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeUtilTestCase.java.svn-base b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeUtilTestCase.java.svn-base
deleted file mode 100644
index 77fc4b9c2..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/AttributeUtilTestCase.java.svn-base
+++ /dev/null
@@ -1,537 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.tests;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertEquals;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.AttributeUtil;
-import eu.stork.peps.auth.commons.IPersonalAttributeList;
-import eu.stork.peps.auth.commons.PEPSValues;
-import eu.stork.peps.auth.commons.PersonalAttributeList;
-
-/**
- * The AttributeUtil's Test Case.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com
- *
- * @version $Revision: $, $Date: $
- */
-public final class AttributeUtilTestCase {
-
- /**
- * Empty String to be used on the tests.
- */
- private static final String EMPTY_STRING = "";
-
- /**
- * Tuple value sample to be used on the tests.
- */
- private static final String[] TUPLE_STRING = new String[] { "age", "true",
- "[18]", "Available" };
-
- /**
- * Complex value to be used on escape/unescape tests.
- */
- private static final String COMPLEX_VAL = "postalCode=4100,"
- + "apartmentNumber=A,state=Porto,countryCodeAddress=PT,streetNumber=379,"
- + "streetName=Avenida Sidonio Pais,town=Porto,";
-
- /**
- * Escaped Complex value to be used on escape/unescape tests.
- */
- private static final String ESC_COMPLEX_VAL = "postalCode=4100%44"
- + "apartmentNumber=A%44state=Porto%44countryCodeAddress=PT%44"
- + "streetNumber=379%44streetName=Avenida Sidonio Pais%44town=Porto%44";
-
- /**
- * Simple value to be used on escape/unescape tests.
- */
- private static final String SIMPLE_VAL = "Avenida da Boavista, Porto";
-
- /**
- * Escaped simple value to be used on escape/unescape tests.
- */
- private static final String ESC_SIMPLE_VAL = "Avenida da Boavista%44 Porto";
-
- /**
- * Simple text to be used on escape/unescape tests. Must match the escaped
- * text.
- */
- private static final String SIMPLE_TEXT = "John Doe";
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given complex
- * attribute value (canonical address' example attribute value).
- */
- @Test
- public void testEscapeSpecialCharsComplexVal() {
- assertEquals(AttributeUtil.escape(COMPLEX_VAL), ESC_COMPLEX_VAL);
- }
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given
- * attribute value.
- */
- @Test
- public void testEscapeSpecialCharsVal() {
- assertEquals(AttributeUtil.escape(SIMPLE_VAL), ESC_SIMPLE_VAL);
- }
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given simple
- * text: no special characters to escape.
- */
- @Test
- public void testEscapeNormalChars() {
- assertEquals(AttributeUtil.escape(SIMPLE_TEXT), SIMPLE_TEXT);
- }
-
- /**
- * Tests the {@link AttributeUtil#unescape(String)} method for the given
- * escape complex attribute value (canonical address' example attribute
- * value).
- */
- @Test
- public void testUnescapeSpecialCharsComplexVal() {
- assertEquals(AttributeUtil.unescape(ESC_COMPLEX_VAL), COMPLEX_VAL);
- }
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given escape
- * attribute value.
- */
- @Test
- public void testUnescapeSpecialCharsVal() {
- assertEquals(AttributeUtil.unescape(ESC_SIMPLE_VAL), SIMPLE_VAL);
- }
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given simple
- * text: no special characters to unescape.
- */
- @Test
- public void testUnescapeNormalChars() {
- assertEquals(AttributeUtil.unescape(SIMPLE_TEXT), SIMPLE_TEXT);
- }
-
- /**
- * Tests the {@link AttributeUtil#appendIfNotNull(StringBuilder, Object)}
- * method for the given empty string.
- */
- @Test
- public void testAppendIfNotNullEmptyStr() {
- final StringBuilder strBuilder = new StringBuilder(SIMPLE_TEXT);
- AttributeUtil.appendIfNotNull(strBuilder, EMPTY_STRING);
- assertEquals(strBuilder.toString(), SIMPLE_TEXT);
- }
-
- /**
- * Tests the {@link AttributeUtil#appendIfNotNull(StringBuilder, Object)}
- * method for the given string.
- */
- @Test
- public void testAppendIfNotNullStr() {
- final StringBuilder strBuilder = new StringBuilder();
- AttributeUtil.appendIfNotNull(strBuilder, SIMPLE_TEXT);
- assertEquals(strBuilder.toString(), SIMPLE_TEXT);
- }
-
- /**
- * Tests the {@link AttributeUtil#appendIfNotNull(StringBuilder, Object)}
- * method for the given null value.
- */
- @Test
- public void testAppendIfNotNull() {
- final StringBuilder strBuilder = new StringBuilder();
- AttributeUtil.appendIfNotNull(strBuilder, null);
- assertEquals(strBuilder.toString(), EMPTY_STRING);
- }
-
- /**
- * Tests the {@link AttributeUtil#listToString(List, String)} method for the
- * given List with two values.
- */
- @Test
- public void testListToStringTwoVals() {
- final List<String> vals = new ArrayList<String>();
- vals.add(SIMPLE_VAL);
- vals.add(SIMPLE_TEXT);
-
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append(SIMPLE_TEXT);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- assertEquals(
- AttributeUtil.listToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#listToString(List, String)} method for the
- * given List with one values.
- */
- @Test
- public void testListToStringOneVal() {
- final List<String> vals = new ArrayList<String>();
- vals.add(SIMPLE_VAL);
-
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- assertEquals(
- AttributeUtil.listToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#listToString(List, String)} method for the
- * given List with one value.
- */
- @Test
- public void testListToStringEmptyVal() {
- final List<String> vals = new ArrayList<String>();
-
- final StringBuilder strBuilder = new StringBuilder();
-
- assertEquals(
- AttributeUtil.listToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#mapToString(java.util.Map, String)} method
- * for the given Map with one value.
- */
- @Test
- public void testMapToStringOneVal() {
- final Map<String, String> vals = new HashMap<String, String>();
- vals.put("CanonicalAddress", COMPLEX_VAL);
-
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("CanonicalAddress=");
- strBuilder.append(ESC_COMPLEX_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- assertEquals(AttributeUtil.mapToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#mapToString(java.util.Map, String)} method
- * for the given empty Map.
- */
- @Test
- public void testMapToStringEmptyVal() {
- final Map<String, String> vals = new HashMap<String, String>();
-
- final StringBuilder strBuilder = new StringBuilder();
-
- assertEquals(AttributeUtil.mapToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * invalid List.
- */
- @Test
- public void testIsValidValueInvalidList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append("]");
- assertFalse(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * null value.
- */
- @Test
- public void testIsValidValueNullList() {
- assertFalse(AttributeUtil.isValidValue(null));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * empty List.
- */
- @Test
- public void testIsValidValueEmptyList() {
- assertTrue(AttributeUtil.isValidValue("[]"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * empty List.
- */
- @Test
- public void testIsValidValueEmptyCommaList() {
- assertTrue(AttributeUtil.isValidValue("[,]"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * one simple value List.
- */
- @Test
- public void testIsValidValueOneValueList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * one simple value List.
- */
- @Test
- public void testIsValidValueOneValueCommaList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * one complex value List.
- */
- @Test
- public void testIsValidValueOneComplexValueList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_COMPLEX_VAL);
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * one complex value List.
- */
- @Test
- public void testIsValidValueOneComplexValueCommaList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_COMPLEX_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * multi value List.
- */
- @Test
- public void testIsValidValueMultiValueList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append(SIMPLE_TEXT);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * invalid multi value List.
- */
- @Test
- public void testIsValidValueInvalidMultiValueList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append(SIMPLE_TEXT);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append("]");
- assertFalse(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * true type.
- */
- @Test
- public void testIsValidTypetrue() {
- assertTrue(AttributeUtil.isValidType("true"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * True type.
- */
- @Test
- public void testIsValidTypeTrue() {
- assertTrue(AttributeUtil.isValidType("True"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * TRUE type.
- */
- @Test
- public void testIsValidTypeTRUE() {
- assertTrue(AttributeUtil.isValidType("TRUE"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * invalid type.
- */
- @Test
- public void testIsValidTypeInvalidType() {
- assertFalse(AttributeUtil.isValidType("str"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * false type.
- */
- @Test
- public void testIsValidTypefalse() {
- assertTrue(AttributeUtil.isValidType("false"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * False type.
- */
- @Test
- public void testIsValidTypeFalse() {
- assertTrue(AttributeUtil.isValidType("False"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * FALSE type.
- */
- @Test
- public void testIsValidTypeFALSEVal() {
- assertTrue(AttributeUtil.isValidType("False"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * null.
- */
- @Test
- public void testIsValidTypeNullVal() {
- assertFalse(AttributeUtil.isValidType(null));
- }
-
- /**
- * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
- * given valid tuple.
- */
- @Test
- public void testHasValidTuples() {
- assertTrue(AttributeUtil.hasValidTuples(TUPLE_STRING));
- }
-
- /**
- * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
- * given invalid tuple.
- */
- @Test
- public void testHasValidTuplesInvalid() {
- final String[] tuple = new String[]{"name", "type"};
- assertFalse(AttributeUtil.hasValidTuples(tuple));
- }
-
- /**
- * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
- * given invalid tuple with valid size.
- */
- @Test
- public void testHasValidTuplesSameSizeInvalidValues() {
- final String[] tuple = new String[] { "age", "type", "[18]", "Available"};
- assertFalse(AttributeUtil.hasValidTuples(tuple));
- }
-
- /**
- * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
- * given null value.
- */
- @Test
- public void testHasValidTuplesNull() {
- assertFalse(AttributeUtil.hasValidTuples(null));
- }
-
- /**
- * Tests the
- * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
- * method for the given attribute list..
- */
- @Test
- public void testCheckMandatoryAttributes() {
- final IPersonalAttributeList attrList = new PersonalAttributeList();
- attrList.populate("isAgeOver:true:[18,]:Available;");
- assertTrue(AttributeUtil.checkMandatoryAttributes(attrList));
-
- }
-
- /**
- * Tests the
- * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
- * method for the given null value.
- */
- @Test(expected = NullPointerException.class)
- public void testCheckMandatoryAttributesNullAttrList() {
- assertTrue(AttributeUtil.checkMandatoryAttributes(null));
- }
-
- /**
- * Tests the
- * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
- * method for the given empty attribute list.
- */
- @Test
- public void testCheckMandatoryAttributesEmptyAttrList() {
- final IPersonalAttributeList attrList = new PersonalAttributeList();
- assertTrue(AttributeUtil.checkMandatoryAttributes(attrList));
- }
-
- /**
- * Tests the
- * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
- * method for the given attribute list (missing mandatory attribute).
- */
- @Test
- public void testCheckMandatoryAttributesMissingAttr() {
- final IPersonalAttributeList attrList = new PersonalAttributeList();
- attrList.populate("isAgeOver:true:[]:NotAvailable;");
- assertFalse(AttributeUtil.checkMandatoryAttributes(attrList));
- }
-
-}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/ComplexAttributesMarshalling.java.svn-base b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/ComplexAttributesMarshalling.java.svn-base
deleted file mode 100644
index c7e195fa6..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/ComplexAttributesMarshalling.java.svn-base
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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.
- *
- * ---
- *
- * Test cases for marshalling complex attributes.
- *
- * Implemented are two testcases for marshalling and unmarshalling. These testcases are
- * for canonical residenc address and has bank account.
- */
-
-package eu.stork.peps.tests;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.transform.stream.StreamSource;
-
-import org.junit.Test;
-
-import eu.stork.peps.complex.attributes.CanonicalAddressType;
-import eu.stork.peps.complex.attributes.HasAccountInBankType;
-import eu.stork.peps.complex.attributes.ObjectFactory;
-
-/**
- * @author Advania
- *
- * Examples on how to use the jaxb marshaller.
- *
- * The classes are created from the StorkcomplexAttributes.xsd schema located in resources.
- *
- * @version $Revision: 1.00 $, $Date: 2014-17-02 11:15:00 $
- *
- */
-
-public class ComplexAttributesMarshalling {
-
- /**
- * Test marshalling canonical address
- * <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- * <canonicalResidenceAddress xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion">
- * <countryCodeAddress>IS</countryCodeAddress>
- * <state>Reykjavik</state>
- * <municipalityCode>RVK</municipalityCode>
- * <town>Reykjavik</town>
- * <postalCode>101</postalCode>
- * <streetName>Laugavegur</streetName>
- * <streetNumber>1</streetNumber>
- * <apartmentNumber>10</apartmentNumber>
- * </canonicalResidenceAddress>
- */
- @Test
- public void testMarshallCanonicalResidencAddress()
- {
- try
- {
- final CanonicalAddressType object = new CanonicalAddressType();
- object.setApartmentNumber("10");
- object.setCountryCodeAddress("IS");
- object.setMunicipalityCode("RVK");
- object.setPostalCode("101");
- object.setState("Reykjavik");
- object.setStreetName("Laugavegur");
- object.setStreetNumber("1");
- object.setTown("Reykjavik");
-
- final JAXBContext context = JAXBContext.newInstance(CanonicalAddressType.class);
- final Marshaller m = context.createMarshaller();
- m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
- final ObjectFactory objf = new ObjectFactory();
-
- m.marshal(objf.createCanonicalResidenceAddress(object), new FileOutputStream("CanonicalAddressType.xml"));
- m.marshal(objf.createCanonicalResidenceAddress(object), System.out);
- }
- catch (JAXBException | FileNotFoundException e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Test unmarshalling canonical address
- * <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- * <canonicalResidenceAddress xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion">
- * <countryCodeAddress>IS</countryCodeAddress>
- * <state>Reykjavik</state>
- * <municipalityCode>RVK</municipalityCode>
- * <town>Reykjavik</town>
- * <postalCode>101</postalCode>
- * <streetName>Laugavegur</streetName>
- * <streetNumber>1</streetNumber>
- * <apartmentNumber>10</apartmentNumber>
- * </canonicalResidenceAddress>
- */
- @Test
- public void testUnmarshallCanonicalAddress()
- {
- JAXBContext uContext;
- try
- {
- uContext = JAXBContext.newInstance(CanonicalAddressType.class);
- final Unmarshaller u = uContext.createUnmarshaller();
- final File file = new File("CanonicalAddressType.xml");
-
- final JAXBElement<CanonicalAddressType> root = u.unmarshal(new StreamSource(file), CanonicalAddressType.class);
- final CanonicalAddressType foo = root.getValue();
-
- final String A = foo.getStreetName();
- final String B = foo.getStreetNumber();
-
- System.out.println("Streetname: " + A);
- System.out.println("Streetnumber: " + B);
-
- }
- catch (final JAXBException e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * Test marshalling has bank account
- * <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- * <hasAccountInBank xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion">
- * <bankName>Arion</bankName>
- * <AQAA>3</AQAA>
- * </hasAccountInBank>
- */
- @Test
- public void testMarshallHasBankAccount()
- {
- try
- {
- final HasAccountInBankType object = new HasAccountInBankType();
- object.setAQAA(3);
- object.setBankName("Arion Bank");
- final JAXBContext context = JAXBContext.newInstance(HasAccountInBankType.class);
- final Marshaller m = context.createMarshaller();
- final ObjectFactory o = new ObjectFactory();
- m.marshal(o.createHasAccountInBank(object), new FileOutputStream ("hasbankaccount.xml"));
- m.marshal(o.createHasAccountInBank(object), System.out);
-
- } catch (JAXBException | FileNotFoundException e) {
- e.printStackTrace();
- }
- }
- /**
- * Test unmarshalling has bank account
- * <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- * <hasAccountInBank xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion">
- * <bankName>Arion</bankName>
- * <AQAA>3</AQAA>
- * </hasAccountInBank>
- */
- @Test
- public void testUnmarshallHasBankAccount()
- {
- try
- {
- final JAXBContext context = JAXBContext.newInstance(HasAccountInBankType.class);
- final Unmarshaller um = context.createUnmarshaller();
- final File file = new File("hasbankaccount.xml");
- final JAXBElement<HasAccountInBankType> root = um.unmarshal(new StreamSource(file), HasAccountInBankType.class);
- final HasAccountInBankType foo = root.getValue();
- System.out.println(foo.getBankName());
- } catch (final JAXBException e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/DateUtilTestCase.java.svn-base b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/DateUtilTestCase.java.svn-base
deleted file mode 100644
index 5d2296997..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/DateUtilTestCase.java.svn-base
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.tests;
-
-import java.sql.Timestamp;
-import java.util.Properties;
-
-import org.joda.time.DateTime;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.DateUtil;
-import eu.stork.peps.auth.commons.PEPSUtil;
-import eu.stork.peps.auth.commons.exceptions.SecurityPEPSException;
-
-/**
- * The PersonalAttribute's Test Case.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.2 $, $Date: 2010-11-17 05:17:03 $
- */
-public final class DateUtilTestCase {
-
- /**
- * Stork Format date.
- */
- private static final String FORMAT = "yyyyMMdd";
-
- /**
- * Expected 10 value.
- */
- private static final int TEN = 10;
-
- /**
- * Expected 11 value.
- */
- private static final int ELEVEN = 11;
-
- /**
- * The testing Date ("current" date).
- */
- private static final DateTime TESTDATE = new DateTime(2011, 10, 10, 15, 20,
- 0, 0);
-
- /**
- * Init DateUtilTestCase class.
- */
- @BeforeClass
- public static void runsBeforeTheTestSuite() {
- final Properties configs = new Properties();
- configs.setProperty("invalidAgeDateValue.code", "35");
- configs.setProperty("invalidAttributeValue.code", "34");
- configs
- .setProperty(
- "invalidAttributeValue.message",
- "Unexpected or invalid content was encountered within a "
- + "<saml:Attribute> or <saml:AttributeValue> element.");
- PEPSUtil.createInstance(configs);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given year against
- * the testDate: 2011-10-10 15:20:00.0. Must return 10.
- */
- @Test
- public void calculateAgeFromYear() {
- Assert.assertTrue(TEN == DateUtil.calculateAge("2000", TESTDATE, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given year and month
- * against the testDate: 2011-10-10 15:20:00.0. Must return 11.
- */
- @Test
- public void calculateAgeFromEarlyMonth() {
- Assert.assertTrue(ELEVEN == DateUtil.calculateAge("200001", TESTDATE,
- FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given year and month
- * against the testDate: 2011-10-10 15:20:00.0. Must return 10.
- */
- @Test
- public void calculateAgeFromSameMonth() {
- Assert.assertTrue(TEN == DateUtil.calculateAge("200010", TESTDATE, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given year and month
- * against the testDate: 2011-10-10 15:20:00.0. Must return 10.
- */
- @Test
- public void calculateAgeFromLaterMonth() {
- Assert.assertTrue(TEN == DateUtil.calculateAge("200011", TESTDATE, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return 11.
- */
- @Test
- public void calculateAgeFromEarlyFullDate() {
- Assert.assertTrue(ELEVEN == DateUtil.calculateAge("20000101", TESTDATE,
- FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return 11.
- */
- @Test
- public void calculateAgeFromSameDay() {
- Assert.assertTrue(ELEVEN == DateUtil.calculateAge("20001010", TESTDATE,
- FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return 10.
- */
- @Test
- public void calculateAgeFromLaterFullDate() {
- Assert.assertTrue(TEN == DateUtil
- .calculateAge("20001011", TESTDATE, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromInvalidDate() {
- DateUtil.calculateAge("200", TESTDATE, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromInvalidMonth() {
- DateUtil.calculateAge("200013", TESTDATE, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromInvalidDay() {
- DateUtil.calculateAge("20000230", TESTDATE, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromNullDate() {
- DateUtil.calculateAge(null, TESTDATE, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromNullCurDate() {
- DateUtil.calculateAge("2000", null, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromNullFormat() {
- DateUtil.calculateAge("2000", TESTDATE, null);
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return true
- */
- @Test
- public void isValidFormatDateFromYear() {
- Assert.assertTrue(DateUtil.isValidFormatDate("2000", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year and
- * month. Must return true.
- */
- @Test
- public void isValidFormatDateFromMonth() {
- Assert.assertTrue(DateUtil.isValidFormatDate("200001", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDate() {
- Assert.assertTrue(DateUtil.isValidFormatDate("20000101", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateInvalidYear() {
- Assert.assertFalse(DateUtil.isValidFormatDate("200", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateInvalidMonth() {
- Assert.assertFalse(DateUtil.isValidFormatDate("200013", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateInvalidDate() {
- Assert.assertFalse(DateUtil.isValidFormatDate("20010229", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateNullDate() {
- Assert.assertFalse(DateUtil.isValidFormatDate(null, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateNullFormat() {
- Assert.assertFalse(DateUtil.isValidFormatDate("2000", null));
- }
-
- /**
- * Tests the {@link DateUtil#currentTimeStamp()} method for the current
- * TimeStamp (TS). Must return true.
- */
- @Test
- public void testCurrentTimeStampBefore() {
- Timestamp ts = DateUtil.currentTimeStamp();
- Assert.assertNotSame(ts, DateUtil.currentTimeStamp());
- }
-
- /**
- * Tests the {@link DateUtil#currentTimeStamp()} method for the current
- * TimeStamp (TS). Must return true.
- */
- @Test
- public void testCurrentTimeStampAfter() {
- Timestamp ts = DateUtil.currentTimeStamp();
- Assert.assertEquals(DateUtil.currentTimeStamp(), ts);
- }
-
-}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PEPSUtilTestCase.java.svn-base b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PEPSUtilTestCase.java.svn-base
deleted file mode 100644
index d4841ed43..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PEPSUtilTestCase.java.svn-base
+++ /dev/null
@@ -1,553 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.tests;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
-
-import java.util.Properties;
-
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.IPersonalAttributeList;
-import eu.stork.peps.auth.commons.PEPSErrors;
-import eu.stork.peps.auth.commons.PEPSParameters;
-import eu.stork.peps.auth.commons.PEPSUtil;
-import eu.stork.peps.auth.commons.PersonalAttributeList;
-import eu.stork.peps.auth.commons.exceptions.InternalErrorPEPSException;
-import eu.stork.peps.auth.commons.exceptions.InvalidParameterPEPSException;
-
-/**
- * The PEPSUtil's Test Case.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com
- *
- * @version $Revision: $, $Date: $
- */
-public final class PEPSUtilTestCase {
-
- /**
- * Message example.
- */
- private static final String MESSAGE_SAMPLE = "003002 - Authentication Failed";
-
- /**
- * Error message example.
- */
- private static final String ERROR_MESSAGE_SAMPLE = "Authentication Failed";
-
- /**
- * Error code example.
- */
- private static final String ERROR_CODE_SAMPLE = "003002";
-
- /**
- * Properties values for testing proposes.
- */
- private static final Properties CONFIGS1 = new Properties();
-
- /**
- * Properties values for testing proposes.
- */
- private static final Properties CONFIGS2 = new Properties();
-
- /**
- * The empty string value: "".
- */
- private static final String EMPTY_STRING = "";
-
- /**
- * The empty byte value: [].
- */
- private static final byte[] EMPTY_BYTE = new byte[] {};
-
- /**
- * The empty byte hash value.
- */
- private static final byte[] EMPTY_HASH_BYTE = new byte[] { -49, -125, -31,
- 53, 126, -17, -72, -67, -15, 84, 40, 80, -42, 109, -128, 7, -42, 32, -28,
- 5, 11, 87, 21, -36, -125, -12, -87, 33, -45, 108, -23, -50, 71, -48, -47,
- 60, 93, -123, -14, -80, -1, -125, 24, -46, -121, 126, -20, 47, 99, -71, 49,
- -67, 71, 65, 122, -127, -91, 56, 50, 122, -7, 39, -38, 62 };
-
- /**
- * The SAML example byte[] value.
- */
- private static final byte[] SAML_BYTE_SAMPLE = new byte[] { 60, 115, 97, 109,
- 108, 62, 46, 46, 46, 60, 47, 115, 97, 109, 108 };
-
- /**
- * The SAML's Base64 example value.
- */
- private static final String SAML_BASE64_SAMPLE = "PHNhbWw+Li4uPC9zYW1s";
-
- /**
- * The SAML's Base64 byte[] example value.
- */
- private static byte[] SAML_BASE64_BYTE_SAMPLE = new byte[] { 80, 72, 78, 104,
- 98, 87, 119, 43, 76, 105, 52, 117, 80, 67, 57, 122, 89, 87, 49, 115 };
-
- /**
- * The SAML's Base64 Hash byte[] example value.
- */
- private static byte[] HASH_BYTE_SAMPLE = new byte[] { 67, 38, 11, 115, 49,
- -5, 54, -85, 38, 43, -99, 96, 71, -41, 50, -96, 71, -86, 90, -97, 66, -67,
- 90, 101, 30, 82, -13, 60, -106, -72, -103, -75, 19, 2, -107, 107, -6, -56,
- 34, -111, -44, -57, -26, -5, 33, 78, -1, 30, 21, 74, -26, 118, -46, -12,
- -102, 12, -56, 30, -59, -104, -21, -42, -103, 82 };
-
- /**
- * Init PEPSUtilTestCase class.
- */
- @BeforeClass
- public static void runsBeforeTheTestSuite() {
-
- CONFIGS1.setProperty("max.attrList.size", "20000");
- CONFIGS1.setProperty("attrList.code", "202005");
- CONFIGS1.setProperty("attrList.message", "invalid.attrList.parameter");
-
- CONFIGS1.setProperty("max.qaaLevel.size", "1");
- CONFIGS1.setProperty("max.spUrl.size", "inv");
- CONFIGS1.setProperty("validation.active", "true");
- CONFIGS1.setProperty("hashDigest.className",
- "org.bouncycastle.crypto.digests.SHA512Digest");
- CONFIGS1.setProperty("invalidAgeDateValue.code", "35");
- CONFIGS1.setProperty("invalidAttributeValue.code", "34");
- CONFIGS1.setProperty("invalidAttributeValue.message",
- "Unexpected or invalid content was encountered within a "
- + "<saml:Attribute> or <saml:AttributeValue> element.");
- }
-
- /**
- * Tests the {@link PEPSUtil#createInstance(Properties)} method for the given
- * properties object.
- */
- @Test
- public void testCreateInstance() {
- Assert.assertNotNull(PEPSUtil.createInstance(CONFIGS2));
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfigs()}.
- */
- @Test
- public void testGetConfigs() {
- final PEPSUtil pepsUtils = PEPSUtil.createInstance(CONFIGS1);
- assertEquals(pepsUtils.getConfigs(), CONFIGS1);
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfigs()}.
- */
- @Test
- public void testGetConfigsDifferent() {
- final PEPSUtil pepsUtils = PEPSUtil.createInstance(CONFIGS1);
- assertNotSame(pepsUtils.getConfigs(), CONFIGS2);
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfig(String)} method for the given existing
- * config.
- */
- @Test
- public void testGetConfigExists() {
- assertEquals(PEPSUtil.getConfig("hashDigest.className"),
- "org.bouncycastle.crypto.digests.SHA512Digest");
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfig(String)} method for the given not
- * existing config.
- */
- @Test
- public void testGetConfigNoExists() {
- assertNull(PEPSUtil.getConfig("doesnt.exists"));
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfig(String)} method for the given null
- * value.
- */
- @Test(expected = NullPointerException.class)
- public void testGetConfigNull() {
- assertNull(PEPSUtil.getConfig(null));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterExists() {
- assertTrue(PEPSUtil.isValidParameter("qaaLevel", "1"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterExistsGreat() {
- assertFalse(PEPSUtil.isValidParameter("qaaLevel", "12"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterExistsIvalidConf() {
- assertFalse(PEPSUtil
- .isValidParameter("spUrl", "http://localhost:8080/SP/"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterNotExists() {
- assertFalse(PEPSUtil.isValidParameter("doesntexists",
- "http://localhost:8080/SP/"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterNullParamName() {
- assertFalse(PEPSUtil.isValidParameter(null, "http://localhost:8080/SP/"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterNullParamValue() {
- assertFalse(PEPSUtil.isValidParameter("spUrl", null));
- }
-
- /**
- * Tests the {@link PEPSUtil#validateParameter(String, String, Object)} method
- * for the given object values.
- */
- @Test
- public void testValidateParameterValid() {
- final IPersonalAttributeList persAttrList = new PersonalAttributeList();
- persAttrList.populate("isAgeOver:true:[15,]:Available;");
- PEPSUtil.validateParameter("ServiceProviderAction",
- PEPSParameters.ATTRIBUTE_LIST.toString(), persAttrList);
- }
-
- /**
- * Tests the {@link PEPSUtil#validateParameter(String, String, Object)} method
- * for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterNull() {
- PEPSUtil.validateParameter("ServiceProviderAction",
- PEPSParameters.ATTRIBUTE_LIST.toString(), null);
- }
-
- /**
- * Tests the {@link PEPSUtil#validateParameter(String, String, String)} method
- * for the given string values.
- *
- * The tested class just invokes
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * so further tests will be later.
- */
- @Test
- public void testValidateParameter() {
- PEPSUtil.validateParameter("ServiceProviderAction",
- PEPSParameters.ATTRIBUTE_LIST.toString(),
- "isAgeOver:true:[15,]:Available;");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, PEPSErrors)}
- * method for the given string value and {@link PEPSErrors} enum.
- *
- * The tested class just invokes
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * so further tests will be later.
- */
- @Test
- public void testValidateParameterPEPSErrors() {
- PEPSUtil.validateParameter("CountrySelectorAction",
- PEPSParameters.ATTRIBUTE_LIST.toString(),
- "isAgeOver:true:[15,]:Available;",
- PEPSErrors.SP_COUNTRY_SELECTOR_INVALID_ATTR);
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test
- public void testValidateParameterValidParams() {
- PEPSUtil.validateParameter("ServiceProviderAction", "qaaLevel", "1",
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterInvalidParamValue() {
- PEPSUtil.validateParameter("ServiceProviderAction", "qaaLevel", "10",
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterInvalidParamName() {
- PEPSUtil.validateParameter("ServiceProviderAction", "doesnt.exists", "1",
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterNullParamName() {
- PEPSUtil.validateParameter("ServiceProviderAction", null, "1",
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterNullParamValue() {
- PEPSUtil.validateParameter("ServiceProviderAction", "qaaLevel", null,
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the {@link PEPSUtil#encodeSAMLToken(byte[])} method for the given
- * string value.
- */
- @Test
- public void testEncodeSAMLToken() {
- assertEquals(PEPSUtil.encodeSAMLToken(SAML_BYTE_SAMPLE), SAML_BASE64_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#encodeSAMLToken(byte[])} method for the given
- * null.
- */
- @Test(expected = NullPointerException.class)
- public void testEncodeSAMLTokenNull() {
- assertNotSame(PEPSUtil.encodeSAMLToken(null), SAML_BASE64_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#encodeSAMLToken(byte[])} method for the given
- * empty byte[] value.
- */
- @Test
- public void testEncodeSAMLTokenEmpty() {
- assertEquals(PEPSUtil.encodeSAMLToken(EMPTY_BYTE), EMPTY_STRING);
- }
-
- /**
- * Tests the {@link PEPSUtil#decodeSAMLToken(byte[])} method for the given
- * byte[] value.
- */
- @Test
- public void testDecodeSAMLToken() {
- assertArrayEquals(PEPSUtil.decodeSAMLToken(SAML_BASE64_SAMPLE),
- SAML_BYTE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#decodeSAMLToken(byte[])} method for the given
- * null value.
- */
- @Test(expected = NullPointerException.class)
- public void testDecodeSAMLTokenNull() {
- assertNotSame(PEPSUtil.decodeSAMLToken(null), SAML_BYTE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#decodeSAMLToken(byte[])} method for the given
- * empty string value.
- */
- @Test(expected = StringIndexOutOfBoundsException.class)
- public void testDecodeSAMLTokenEmpty() {
- assertTrue(PEPSUtil.decodeSAMLToken(EMPTY_STRING) == EMPTY_BYTE);
- }
-
- /**
- * Tests the {@link PEPSUtil#hashPersonalToken(byte[])} method for the given
- * byte[] value.
- */
- @Test
- public void testHashPersonalToken() {
- assertArrayEquals(PEPSUtil.hashPersonalToken(SAML_BASE64_BYTE_SAMPLE),
- HASH_BYTE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#hashPersonalToken(byte[])} method for the given
- * null value.
- */
- @Test(expected = InternalErrorPEPSException.class)
- public void testHashPersonalTokenNull() {
- assertNull(PEPSUtil.hashPersonalToken(null));
- }
-
- /**
- * Tests the {@link PEPSUtil#hashPersonalToken(byte[])} method for the given
- * empty value.
- */
- @Test
- public void testHashPersonalTokenEmpty() {
- assertArrayEquals(PEPSUtil.hashPersonalToken(EMPTY_BYTE), EMPTY_HASH_BYTE);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * correct message.
- */
- @Test
- public void testGetStorkErrorCodeExists() {
- assertEquals(PEPSUtil.getStorkErrorCode(MESSAGE_SAMPLE), ERROR_CODE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * invalid message.
- */
- @Test
- public void testGetStorkErrorCodeNoExists() {
- assertNull(PEPSUtil.getStorkErrorCode(ERROR_MESSAGE_SAMPLE));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * empty message.
- */
- @Test
- public void testGetStorkErrorCodeEmpty() {
- assertNull(PEPSUtil.getStorkErrorCode(EMPTY_STRING));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * null message.
- */
- @Test
- public void testGetStorkErrorCodeNull() {
- assertNull(PEPSUtil.getStorkErrorCode(null));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * invalid message.
- */
- @Test
- public void testGetStorkErrorCodeWithSepFake() {
- assertNull(PEPSUtil.getStorkErrorCode("-"));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * invalid message.
- */
- @Test
- public void testGetStorkErrorCodeWithSepAndCodeFake() {
- assertNull(PEPSUtil.getStorkErrorCode("000001 -"));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given correct message.
- */
- @Test
- public void testGetStorkErrorMessageExists() {
- assertEquals(PEPSUtil.getStorkErrorMessage(MESSAGE_SAMPLE),
- ERROR_MESSAGE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given invalid message.
- */
- @Test
- public void testGetStorkErrorMessageNoExists() {
- assertEquals(PEPSUtil.getStorkErrorMessage(ERROR_MESSAGE_SAMPLE),
- ERROR_MESSAGE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given empty message.
- */
- @Test
- public void testGetStorkErrorMessageEmpty() {
- assertEquals(PEPSUtil.getStorkErrorMessage(EMPTY_STRING),
- EMPTY_STRING);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given null message.
- */
- @Test
- public void testGetStorkErrorMessageNull() {
- assertNull(PEPSUtil.getStorkErrorMessage(null));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given invalid message.
- */
- @Test
- public void testGetStorkErrorMessageWithSepFake() {
- assertEquals(PEPSUtil.getStorkErrorMessage("-"),"-");
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given invalid message.
- */
- @Test
- public void testGetStorkErrorMessageWithSepAndCodeFake() {
- assertEquals(PEPSUtil.getStorkErrorMessage("000001 -"),"000001 -");
- }
-
-}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeListTestCase.java.svn-base b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeListTestCase.java.svn-base
deleted file mode 100644
index 7052b320a..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeListTestCase.java.svn-base
+++ /dev/null
@@ -1,747 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.tests;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.PersonalAttribute;
-import eu.stork.peps.auth.commons.PersonalAttributeList;
-import eu.stork.peps.auth.commons.STORKStatusCode;
-
-/**
- * The PersonalAttributeList's Test Case.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.5 $, $Date: 2010-11-17 05:17:02 $
- */
-public final class PersonalAttributeListTestCase {
-
- /**
- * isAgeOver constant value.
- */
- private static final String ISAGEOVER_CONS = "isAgeOver";
-
- /**
- * 1 constant value.
- */
- private static final int ONE_CONS = 1;
-
- /**
- * 2 constant value.
- */
- private static final int TWO_CONS = 2;
-
- /**
- * An empty attribute.
- */
- @SuppressWarnings("unused")
- private static final PersonalAttributeList EMPTY_ATTR_LIST =
- new PersonalAttributeList(0);
-
- /**
- * An attribute with a complex value (canonicalResidenceAddress).
- */
- private static PersonalAttribute complexAttrValue = null;
-
- /**
- * Simple attribute value list string.
- */
- private static final String SIMPLE_ATTRLIST =
- "isAgeOver:true:[15,]:Available;";
-
- /**
- * Simple attribute value list string.
- */
- private static final String SIMPLE_ATTRLIST2 =
- "isAgeOver:true:[18,]:Available;";
-
- /**
- * Simple attribute value list string.
- */
- private static final String SIMPLE_ATTRLIST3 =
- "isAgeOver:true:[15,]:Available;isAgeOver:true:[18,]:Available;";
-
- /**
- * Simple attribute value list string.
- */
- private static final String SIMPLE_ATTRLIST3_REVERSE =
- "isAgeOver:true:[18,]:Available;isAgeOver:true:[15,]:Available;";
- /**
- * Simple attribute value list string.
- */
- private static final String COMPLEX_ATTRLIST =
- "canonicalResidenceAddress:true:[postalCode=4100,apartmentNumber=Ed. B,"
- + "state=Porto,countryCodeAddress=PT,streetNumber=379,"
- + "streetName=Avenida Sidonio Pais,town=Porto,]:Available;";
- /**
- * Mix attribute list string.
- */
- private static final String STR_MIX_ATTR_LIST =
- "isAgeOver:true:[15,]:Available;canonicalResidenceAddress:true:["
- + "postalCode=4100,apartmentNumber=Ed.B,state=Porto,countryCodeAddress=PT,"
- + "streetNumber=379,streetName=Avenida Sidonio Pais,town=Porto,]:"
- + "Available;";
-
- /**
- * Mix attribute list 2 string.
- */
- private static final String STR_MIX_ATTR_LIST2 =
- "isAgeOver:true:[15,]:Available;canonicalResidenceAddress:true:["
- + "postalCode=4100,apartmentNumber=Ed.B,state=Porto,countryCodeAddress=PT,"
- + "streetNumber=379,streetName=Avenida Sidonio Pais,town=Porto,]:Available;"
- + "mandateContent:true:["
- + "isJoint=\"isjoint\",typeOfPower=\"power\",ValidTo=\"validto\",validfrom=\"validfrom\",AQAA=\"3\",isChained=\"ischained\",]:"
- + "Available;";
-
- /**
- * Attribute List example.
- */
- @SuppressWarnings({ "serial" })
- private static final PersonalAttribute ATTR_VALUE = new PersonalAttribute(
- "age", true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- /**
- * Init PersonalAttributeListTestCase class.
- */
- @SuppressWarnings("serial")
- @BeforeClass
- public static void runsBeforeTheTestSuite() {
- final Map<String, String> values = new HashMap<String, String>() {
- {
- put("countryCodeAddress", "PT");
- put("state", "Porto");
- put("town", "Porto");
- put("postalCode", "4100");
- put("streetName", "Avenida Sidonio Pais");
- put("streetNumber", "379");
- put("apartmentNumber", "Ed. B");
- }
- };
-
- complexAttrValue =
- new PersonalAttribute("canonicalResidenceAddress", true, values,
- STORKStatusCode.STATUS_AVAILABLE.toString());
-
- }
-
- /**
- * Testing Personal Attribute List add method. Personal Attribute list must be
- * size 1 - Simple attribute.
- */
- @Test
- public void testAddSimpleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(ATTR_VALUE);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List add method. Personal Attribute list must be
- * size 1 - Complex attribute.
- */
- @Test
- public void testAddCompleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(complexAttrValue);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List add method. Personal Attribute list must be
- * size 0 - no attribute.
- */
- @Test
- public void testAddNull() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(null);
- Assert.assertTrue(attrList.size() == 0);
- }
-
- /**
- * Testing Personal Attribute List add method. Same attribute name added
- * twice. Personal Attribute list must be size 2 - IsAgeOver attribute added
- * twice.
- */
- @SuppressWarnings("serial")
- @Test
- public void testAddSameAttrName() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List add method. Same attribute name added
- * twice. Personal Attribute list must be size 2 - IsAgeOver attribute added
- * twice.
- */
- @SuppressWarnings("serial")
- @Test
- public void testAddSameAttrNameEmpty() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 1 - Simple Value.
- */
- @Test
- public void testPutSimpleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(ATTR_VALUE.getName(), ATTR_VALUE);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 1 - Complex Value.
- */
- @Test
- public void testPutComplexAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(ATTR_VALUE.getName(), complexAttrValue);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 0 - no attribute.
- */
- @Test
- public void testPutNull() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put("", null);
- Assert.assertTrue(attrList.size() == 0);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 2 - IsAgeOver attribute added twice.
- */
- @SuppressWarnings("serial")
- @Test
- public void testPutSameAttrName() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(attrValueUnder.getName(), attrValueUnder);
- attrList.put(attrValueOver.getName(), attrValueOver);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 2 - IsAgeOver attribute added twice.
- */
- @SuppressWarnings("serial")
- @Test
- public void testPutSameAttrNameEmpty() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(attrValueUnder.getName(), attrValueUnder);
- attrList.put(attrValueOver.getName(), attrValueOver);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List get method. Personal Attribute list must be
- * size 1 - Simple attribute.
- */
- @Test
- public void testGetSimpleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(ATTR_VALUE);
- Assert.assertEquals(ATTR_VALUE, attrList.get(ATTR_VALUE.getName()));
- }
-
- /**
- * Testing Personal Attribute List add method. Personal Attribute list must be
- * size 1 - Complex attribute.
- */
- @Test
- public void testGetCompleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(complexAttrValue);
- Assert.assertEquals(complexAttrValue.toString(),
- attrList.get(complexAttrValue.getName()).toString());
- }
-
- /**
- * Testing Personal Attribute List get method. Personal Attribute list must be
- * size 2 - IsAgeOver attribute.
- */
- @SuppressWarnings("serial")
- @Test
- public void testGetIsAgeOverAttr() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertEquals(SIMPLE_ATTRLIST,
- attrList.get(attrValueUnder.getName()).toString());
- Assert.assertEquals(SIMPLE_ATTRLIST2,
- attrList.get(attrValueOver.getName()).toString());
- }
-
- /**
- * Testing Personal Attribute List populate method. Personal Attribute list
- * must be size 1 - Simple attribute.
- */
- @Test
- public void testPopulateSimpleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(SIMPLE_ATTRLIST);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List populate method. Personal Attribute list
- * must be size 1 - Complex attribute.
- */
- @Test
- public void testPopulateComplexAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(COMPLEX_ATTRLIST);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List populate method. Personal Attribute list
- * must be size 1 - Simple and Complex attribute.
- */
- @Test
- public void testPopulateMixAttrs() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(STR_MIX_ATTR_LIST);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List toString method using add.
- */
- @SuppressWarnings("serial")
- @Test
- public void testToStringFromAdd() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertEquals(SIMPLE_ATTRLIST3_REVERSE, attrList.toString());
- }
-
- /**
- * Testing Personal Attribute List toString method using put.
- *
- */
- @SuppressWarnings("serial")
- @Test
- public void testToStringFromPut() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(attrValueUnder.getName(), attrValueUnder);
- attrList.put(attrValueOver.getName(), attrValueOver);
- Assert.assertEquals(SIMPLE_ATTRLIST3_REVERSE, attrList.toString());
- }
-
- /**
- * Testing Personal Attribute List toString method using populate.
- */
- @Test
- public void testToStringFromSimplePopulate() {
- final String strAttrList = "isAgeOver:true";
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(strAttrList);
- Assert.assertEquals("isAgeOver:true:[]:;", attrList.toString());
- }
-
- /**
- * Testing Personal Attribute List toString method using populate.
- */
- @Test
- public void testToStringFromPopulate() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(SIMPLE_ATTRLIST3);
- Assert.assertEquals(SIMPLE_ATTRLIST3_REVERSE, attrList.toString());
- }
-
- /**
- * Testing Personal Attribute List populate method, with invalid values.
- */
- @Test
- public void testPopulateWithInvalidValuesFormat() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate("name:type:values:status;");
- Assert.assertEquals(pal, new PersonalAttributeList());
- }
-
- /**
- * Testing Personal Attribute List populate method, with invalid format.
- */
- @Test
- public void testPopulateWithInvalidFormat() {
-
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate("name:type::status;");
- Assert.assertEquals(pal, new PersonalAttributeList());
- }
-
- /**
- * Testing Personal Attribute List clone method using add.
- */
- @SuppressWarnings("serial")
- @Test
- public void testCloneFromAdd() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertNotSame(attrList, attrList.clone());
- }
-
- /**
- * Testing Personal Attribute List clone method using put.
- */
- @SuppressWarnings("serial")
- @Test
- public void testCloneFromPut() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(attrValueUnder.getName(), attrValueUnder);
- attrList.put(attrValueOver.getName(), attrValueOver);
- Assert.assertNotSame(attrList, attrList.clone());
- }
-
- /**
- * Testing Personal Attribute List clone method using populate.
- */
- @Test
- public void testCloneFromPopulate() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(SIMPLE_ATTRLIST3);
- Assert.assertNotSame(pal, pal.clone());
- }
-
- /**
- * Testing Personal Attribute List iterator.
- */
- @Test
- public void testIterator() {
- final String strAttrList =
- "isAgeOver:true:[15,]:Available;isAgeOver:true:[18,]:Available;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- final Iterator<PersonalAttribute> itAttr = pal.iterator();
- while (itAttr.hasNext()) {
- final PersonalAttribute attr = itAttr.next();
- Assert.assertEquals(ISAGEOVER_CONS, attr.getName());
- }
- }
-
- /**
- * Testing Personal Attribute List's GetOptionalAttributes method with empty attribute list.
- */
- @Test
- public void testGetOptionalAttributesWithEmptyList() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- Assert.assertTrue(pal.getOptionalAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's GetOptionalAttributes method without optional attributes.
- */
- @Test
- public void testGetOptionalAttributesWithoutOptional() {
- final String strAttrList =
- "isAgeOver:true:[15,]:Available;isAgeOver:true:[18,]:Available;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getOptionalAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's GetOptionalAttributes method with one optional attribute.
- */
- @Test
- public void testGetOptionalAttributesWithOneOptional() {
- final String strAttrList =
- "age:false:[]:;isAgeOver:true:[15,]:;isAgeOver:true:[18,]:;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getOptionalAttributes().size() == ONE_CONS);
- }
-
- /**
- * Testing Personal Attribute List's GetOptionalAttributes method with two optional attribute.
- */
- @Test
- public void testGetOptionalAttributesWithOnlyOptional() {
- final String strAttrList =
- "age:false:[]:;isAgeOver:false:[18,]:;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getOptionalAttributes().size() == TWO_CONS);
- }
-
- /**
- * Testing Personal Attribute List's getMandatoryAttributes method with empty attribute list.
- */
- @Test
- public void testGetMandatoryAttributesWithEmptyList() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- Assert.assertTrue(pal.getMandatoryAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getMandatoryAttributes method without mandatory attributes.
- */
- @Test
- public void testGetMandatoryAttributesWithoutMandatory() {
- final String strAttrList =
- "isAgeOver:false:[15,]:Available;isAgeOver:false:[18,]:Available;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getMandatoryAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's GetMandatoryAttributes method with one mandatory attribute.
- */
- @Test
- public void testGetMandatoryAttributesWithOneMandatory() {
- final String strAttrList =
- "age:true:[]:;isAgeOver:false:[15,]:;isAgeOver:false:[18,]:;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getMandatoryAttributes().size() == ONE_CONS);
- }
-
- /**
- * Testing Personal Attribute List's GetMandatoryAttributes method with two mandatory attribute.
- */
- @Test
- public void testGetMandatoryAttributesWithOnlyMandatory() {
- final String strAttrList =
- "age:true:[]:;isAgeOver:true:[18,]:;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getMandatoryAttributes().size() == TWO_CONS);
- }
-
- /**
- * Testing Personal Attribute List's getSimpleValueAttributes method with empty attribute list.
- */
- @Test
- public void testGetSimpleValueAttributesWithEmptyList() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- Assert.assertTrue(pal.getSimpleValueAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getSimpleValueAttributes() method without simple attributes.
- */
- @Test
- public void testGetSimpleValueAttributesWithoutSimple() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(COMPLEX_ATTRLIST);
- Assert.assertTrue(pal.getSimpleValueAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getSimpleValueAttributes() method with one simple attribute.
- */
- @Test
- public void testGetSimpleValueAttributesWithOneSimple() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(STR_MIX_ATTR_LIST);
- Assert.assertTrue(pal.getSimpleValueAttributes().size() == ONE_CONS);
- }
-
- /**
- * Testing Personal Attribute List's GetMandatoryAttributes method with two simple attribute.
- */
- @Test
- public void testGetSimpleValueAttributesWithOnlySimple() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(SIMPLE_ATTRLIST3);
- Assert.assertTrue(pal.getSimpleValueAttributes().size() == TWO_CONS);
- }
-
- /**
- * Testing Personal Attribute List's getComplexValueAttributes method with empty attribute list.
- */
- @Test
- public void testGetComplexAttributesWithEmptyList() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- Assert.assertTrue(pal.getComplexAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getComplexAttributes() method without complex attributes.
- */
- @Test
- public void testGetComplexAttributesWithoutSimple() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(SIMPLE_ATTRLIST2);
- Assert.assertTrue(pal.getComplexAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getComplexAttributes() method with one complex attribute.
- */
- @Test
- public void testGetComplexAttributesWithOneComplex() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(STR_MIX_ATTR_LIST);
- Assert.assertTrue(pal.getComplexAttributes().size() == ONE_CONS);
- }
-
- /**
- * Testing Personal Attribute List's GetMandatoryAttributes method with only two Complex attribute.
- */
- @Test
- public void testGetComplexAttributesWithOnlyComplex() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(STR_MIX_ATTR_LIST2);
- Assert.assertTrue(pal.getComplexAttributes().size() == TWO_CONS);
- }
-
-}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeTestCase.java.svn-base b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeTestCase.java.svn-base
deleted file mode 100644
index 458d510e0..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/PersonalAttributeTestCase.java.svn-base
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * This work is Open Source and licensed by the European Commission under the
- * conditions of the European Public License v1.1
- *
- * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1);
- *
- * any use of this file implies acceptance of the conditions of this license.
- * 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 eu.stork.peps.tests;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.Assert;
-
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import eu.stork.peps.auth.commons.PersonalAttribute;
-import eu.stork.peps.auth.commons.STORKStatusCode;
-
-/**
- * The PersonalAttribute's Test Case.
- *
- * @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
- * @version $Revision: 1.4 $, $Date: 2010-11-17 05:17:03 $
- */
-public final class PersonalAttributeTestCase {
-
- /**
- * An empty attribute.
- */
- private static final PersonalAttribute EMPTYATTR = new PersonalAttribute();
-
- /**
- * An attribute with a complex value (canonicalResidenceAddress).
- */
- private static PersonalAttribute complexAttrValue = null;
-
- /**
- * An attribute with a simple value (age).
- */
- @SuppressWarnings("serial")
- private static final PersonalAttribute ATTR_VALUE = new PersonalAttribute(
- "age", true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- /**
- * Init PersonalAttributeTestCase class.
- */
- @SuppressWarnings("serial")
- @BeforeClass
- public static void runsBeforeTheTestSuite() {
- final Map<String, String> values = new HashMap<String, String>() {
- {
- put("countryCodeAddress", "PT");
- put("state", "Porto");
- put("town", "Porto");
- put("postalCode", "4100");
- put("streetName", "Avenida Sidonio Pais");
- put("streetNumber", "379");
- put("apartmentNumber", "B");
- }
- };
-
- complexAttrValue =
- new PersonalAttribute("canonicalResidenceAddress", true, values,
- STORKStatusCode.STATUS_AVAILABLE.toString());
-
- }
-
- /**
- * Tests the {@link PersonalAttribute#toString()} method for the given simple
- * attribute value. Values must match.
- */
- @Test
- public void testToStringValues() {
- Assert.assertEquals("age:true:[15,]:Available;", ATTR_VALUE.toString());
- }
-
- /**
- * Tests the {@link PersonalAttribute#toString()} method for the given complex
- * attribute value. Values must match.
- */
- @Test
- public void testToStringComplexValues() {
- Assert.assertEquals(
- "canonicalResidenceAddress:true:[postalCode=4100,apartmentNumber=B,"
- + "state=Porto,countryCodeAddress=PT,streetNumber=379,"
- + "streetName=Avenida Sidonio Pais,town=Porto,]:Available;",
- complexAttrValue.toString());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyStatus()} method for the given
- * empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyStatusWithNull() {
- Assert.assertTrue(EMPTYATTR.isEmptyStatus());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyStatus()} method for the given
- * new attribute. Must return true.
- */
- @Test
- public void testToIsEmptyStatusWithEmptyString() {
- final PersonalAttribute attr = (PersonalAttribute) EMPTYATTR.clone();
- attr.setStatus("");
- Assert.assertTrue(attr.isEmptyStatus());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyValue()} method for the given
- * empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyValueWithNull() {
- final PersonalAttribute attr = (PersonalAttribute) EMPTYATTR.clone();
- attr.setValue(null);
- Assert.assertTrue(attr.isEmptyValue());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyValue()} method for the given
- * empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyValue() {
- Assert.assertTrue(EMPTYATTR.isEmptyValue());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyComplexValue()} method for the
- * given empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyComplexValueWithNull() {
- final PersonalAttribute attr = (PersonalAttribute) EMPTYATTR.clone();
- attr.setComplexValue(null);
- Assert.assertTrue(attr.isEmptyComplexValue());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyComplexValue()} method for the
- * given empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyComplexValueWithEmptyComplexValue() {
- Assert.assertTrue(EMPTYATTR.isEmptyComplexValue());
- }
-
- /**
- * Tests the {@link PersonalAttribute#clone()} method for the given attribute.
- * Must return true.
- */
- @Test
- public void testCloneToComplexValue() {
- Assert.assertNotSame(complexAttrValue, complexAttrValue.clone());
- }
-
- /**
- * Tests the {@link PersonalAttribute#clone()} method for the given attribute.
- * Must return true.
- */
- @Test
- public void testCloneToValue() {
- Assert.assertNotSame(ATTR_VALUE, ATTR_VALUE.clone());
- }
-}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/package-info.java.svn-base b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/package-info.java.svn-base
deleted file mode 100644
index 452602210..000000000
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/.svn/text-base/package-info.java.svn-base
+++ /dev/null
@@ -1,5 +0,0 @@
-/**
- * This package provides all JUnit test classes.
- */
-package eu.stork.peps.tests;
-
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeProvidersMapTestCase.java b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeProvidersMapTestCase.java
index 89f5adbed..3d0aa4d45 100644
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeProvidersMapTestCase.java
+++ b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeProvidersMapTestCase.java
@@ -15,120 +15,121 @@ import eu.stork.peps.auth.commons.PersonalAttributeList;
/**
* The AttributeSource's Test Case.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
+ *
+ * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos
+ * (ilias@aegean.gr)
+ *
* @version $Revision: $, $Date: $
*/
public class AttributeProvidersMapTestCase {
- @Test
- public void testObjectOK1() {
- final IAttributeProvidersMap map = new AttributeProvidersMap();
- final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(source) ) {
- outcome = true;
- }
-
- assertTrue(outcome);
- }
-
- @Test
- public void testObjectOK2() {
- final IAttributeProvidersMap map = new AttributeProvidersMap();
- final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(source) ) {
- if ( map.get(source)!=null ) {
- outcome = true;
- }
- }
-
- assertTrue(outcome);
- }
-
- @Test
- public void testObjectOK3() {
- final IAttributeProvidersMap map = new AttributeProvidersMap();
- final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final AttributeSource target = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(target) ) {
- outcome = true;
- }
-
- assertTrue(outcome);
- }
-
- @Test
- public void testObjectOK4() {
- final IAttributeProvidersMap map = new AttributeProvidersMap();
- final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final AttributeSource target = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(target) ) {
- if ( map.get(target)!=null ) {
- outcome = true;
- }
- }
-
- assertTrue(outcome);
- }
-
- @Test
- public void testObjectNOK1() {
- final IAttributeProvidersMap map = new AttributeProvidersMap();
- final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final AttributeSource target = new AttributeSource(new Country("ID1", "Name 1"), "URL");
- final IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(target) ) {
- outcome = true;
- }
-
- assertFalse(outcome);
- }
-
- @Test
- public void testObjectNOK2() {
- final IAttributeProvidersMap map = new AttributeProvidersMap();
- final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
- final AttributeSource target = new AttributeSource(new AttributeProvider("ID2", "Name 1", null), "URL");
- final IPersonalAttributeList pal = new PersonalAttributeList();
- boolean outcome = false;
-
- //Add a single item
- map.put(source, pal);
-
- if ( map.containsKey(target) ) {
- outcome = true;
- }
-
- assertFalse(outcome);
- }
+ @Test
+ public void testObjectOK1() {
+ final IAttributeProvidersMap map = new AttributeProvidersMap();
+ final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ boolean outcome = false;
+
+ //Add a single item
+ map.put(source, pal);
+
+ if (map.containsKey(source)) {
+ outcome = true;
+ }
+
+ assertTrue(outcome);
+ }
+
+ @Test
+ public void testObjectOK2() {
+ final IAttributeProvidersMap map = new AttributeProvidersMap();
+ final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ boolean outcome = false;
+
+ //Add a single item
+ map.put(source, pal);
+
+ if (map.containsKey(source)) {
+ if (map.get(source) != null) {
+ outcome = true;
+ }
+ }
+
+ assertTrue(outcome);
+ }
+
+ @Test
+ public void testObjectOK3() {
+ final IAttributeProvidersMap map = new AttributeProvidersMap();
+ final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
+ final AttributeSource target = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ boolean outcome = false;
+
+ //Add a single item
+ map.put(source, pal);
+
+ if (map.containsKey(target)) {
+ outcome = true;
+ }
+
+ assertTrue(outcome);
+ }
+
+ @Test
+ public void testObjectOK4() {
+ final IAttributeProvidersMap map = new AttributeProvidersMap();
+ final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
+ final AttributeSource target = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ boolean outcome = false;
+
+ //Add a single item
+ map.put(source, pal);
+
+ if (map.containsKey(target)) {
+ if (map.get(target) != null) {
+ outcome = true;
+ }
+ }
+
+ assertTrue(outcome);
+ }
+
+ @Test
+ public void testObjectNOK1() {
+ final IAttributeProvidersMap map = new AttributeProvidersMap();
+ final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
+ final AttributeSource target = new AttributeSource(new Country("ID1", "Name 1"), "URL");
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ boolean outcome = false;
+
+ //Add a single item
+ map.put(source, pal);
+
+ if (map.containsKey(target)) {
+ outcome = true;
+ }
+
+ assertFalse(outcome);
+ }
+
+ @Test
+ public void testObjectNOK2() {
+ final IAttributeProvidersMap map = new AttributeProvidersMap();
+ final AttributeSource source = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL");
+ final AttributeSource target = new AttributeSource(new AttributeProvider("ID2", "Name 1", null), "URL");
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ boolean outcome = false;
+
+ //Add a single item
+ map.put(source, pal);
+
+ if (map.containsKey(target)) {
+ outcome = true;
+ }
+
+ assertFalse(outcome);
+ }
}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeSourceTestCase.java b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeSourceTestCase.java
index e0f685ade..a3fb6468f 100644
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeSourceTestCase.java
+++ b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeSourceTestCase.java
@@ -11,78 +11,80 @@ import eu.stork.peps.auth.commons.Country;
/**
* The AttributeSource's Test Case.
- *
- * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos (ilias@aegean.gr)
- *
+ *
+ * @author Stelios Lelis (stelios.lelis@aegean.gr), Elias Pastos
+ * (ilias@aegean.gr)
+ *
* @version $Revision: $, $Date: $
*/
public final class AttributeSourceTestCase {
- private final AttributeSource ap1 = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL1");
- private final AttributeSource ap2 = new AttributeSource(new AttributeProvider("ID2", "Name 2", null), "URL2");
- private final AttributeSource ap3 = new AttributeSource(new AttributeProvider("ID1", "Name 2", null), "URL2");
- private final AttributeSource ap4 = new AttributeSource(new AttributeProvider("ID1", "Name 2", null), "URL1");
- private final AttributeSource ap5 = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL1");
-
- private final AttributeSource c1 = new AttributeSource(new Country("ID1", "Name 1"), "URL1");
- private final AttributeSource c2 = new AttributeSource(new Country("ID2", "Name 2"), "URL2");
- private final AttributeSource c3 = new AttributeSource(new Country("ID1", "Name 2"), "URL2");
- private final AttributeSource c4 = new AttributeSource(new Country("ID1", "Name 2"), "URL1");
- private final AttributeSource c5 = new AttributeSource(new Country("ID1", "Name 1"), "URL1");
-
- @Test
- public void testNotEquals1() {
- assertFalse(ap1.equals(ap2));
- }
-
- @Test
- public void testNotEquals2() {
- assertFalse(ap1.equals(c1));
- }
-
- @Test
- public void testNotEquals3() {
- assertFalse(c1.equals(c2));
- }
-
- @Test
- public void testEquals1() {
- assertTrue(ap1.equals(ap3));
- }
-
- @Test
- public void testEquals2() {
- assertTrue(ap1.equals(ap4));
- }
-
- @Test
- public void testEquals3() {
- assertTrue(ap1.equals(ap5));
- }
-
- @Test
- public void testEquals4() {
- assertTrue(c1.equals(c3));
- }
-
- @Test
- public void testEquals5() {
- assertTrue(c1.equals(c4));
- }
-
- @Test
- public void testEquals6() {
- assertTrue(c1.equals(c5));
- }
-
- @Test
- public void testEquals7() {
- final Object obj = ap5;
- assertTrue(ap1.equals(obj));
- }
-
- @Test
- public void testEquals8() {
- final Object obj = c5;
- assertTrue(c1.equals(obj));
- }
+
+ private final AttributeSource ap1 = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL1");
+ private final AttributeSource ap2 = new AttributeSource(new AttributeProvider("ID2", "Name 2", null), "URL2");
+ private final AttributeSource ap3 = new AttributeSource(new AttributeProvider("ID1", "Name 2", null), "URL2");
+ private final AttributeSource ap4 = new AttributeSource(new AttributeProvider("ID1", "Name 2", null), "URL1");
+ private final AttributeSource ap5 = new AttributeSource(new AttributeProvider("ID1", "Name 1", null), "URL1");
+
+ private final AttributeSource c1 = new AttributeSource(new Country("ID1", "Name 1"), "URL1");
+ private final AttributeSource c2 = new AttributeSource(new Country("ID2", "Name 2"), "URL2");
+ private final AttributeSource c3 = new AttributeSource(new Country("ID1", "Name 2"), "URL2");
+ private final AttributeSource c4 = new AttributeSource(new Country("ID1", "Name 2"), "URL1");
+ private final AttributeSource c5 = new AttributeSource(new Country("ID1", "Name 1"), "URL1");
+
+ @Test
+ public void testNotEquals1() {
+ assertFalse(ap1.innerEquals(ap2));
+ }
+
+ @Test
+ public void testNotEquals2() {
+ assertFalse(ap1.innerEquals(c1));
+ }
+
+ @Test
+ public void testNotEquals3() {
+ assertFalse(c1.innerEquals(c2));
+ }
+
+ @Test
+ public void testEquals1() {
+ assertTrue(ap1.innerEquals(ap3));
+ }
+
+ @Test
+ public void testEquals2() {
+ assertTrue(ap1.innerEquals(ap4));
+ }
+
+ @Test
+ public void testEquals3() {
+ assertTrue(ap1.innerEquals(ap5));
+ }
+
+ @Test
+ public void testEquals4() {
+ assertTrue(c1.innerEquals(c3));
+ }
+
+ @Test
+ public void testEquals5() {
+ assertTrue(c1.innerEquals(c4));
+ }
+
+ @Test
+ public void testEquals6() {
+ assertTrue(c1.innerEquals(c5));
+ }
+
+ @Test
+ public void testEquals7() {
+ final Object obj = ap5;
+ assertTrue(ap1.equals(obj));
+ }
+
+ @Test
+ public void testEquals8() {
+ final Object obj = c5;
+ assertTrue(c1.equals(obj));
+ }
}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeUtilTestCase.java b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeUtilTestCase.java
index 77fc4b9c2..524a7446c 100644
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeUtilTestCase.java
+++ b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/AttributeUtilTestCase.java
@@ -31,507 +31,507 @@ import eu.stork.peps.auth.commons.PersonalAttributeList;
/**
* The AttributeUtil's Test Case.
- *
+ *
* @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com
- *
+ * luis.felix@multicert.com
+ *
* @version $Revision: $, $Date: $
*/
public final class AttributeUtilTestCase {
-
- /**
- * Empty String to be used on the tests.
- */
- private static final String EMPTY_STRING = "";
-
- /**
- * Tuple value sample to be used on the tests.
- */
- private static final String[] TUPLE_STRING = new String[] { "age", "true",
- "[18]", "Available" };
-
- /**
- * Complex value to be used on escape/unescape tests.
- */
- private static final String COMPLEX_VAL = "postalCode=4100,"
- + "apartmentNumber=A,state=Porto,countryCodeAddress=PT,streetNumber=379,"
- + "streetName=Avenida Sidonio Pais,town=Porto,";
-
- /**
- * Escaped Complex value to be used on escape/unescape tests.
- */
- private static final String ESC_COMPLEX_VAL = "postalCode=4100%44"
- + "apartmentNumber=A%44state=Porto%44countryCodeAddress=PT%44"
- + "streetNumber=379%44streetName=Avenida Sidonio Pais%44town=Porto%44";
-
- /**
- * Simple value to be used on escape/unescape tests.
- */
- private static final String SIMPLE_VAL = "Avenida da Boavista, Porto";
-
- /**
- * Escaped simple value to be used on escape/unescape tests.
- */
- private static final String ESC_SIMPLE_VAL = "Avenida da Boavista%44 Porto";
-
- /**
- * Simple text to be used on escape/unescape tests. Must match the escaped
- * text.
- */
- private static final String SIMPLE_TEXT = "John Doe";
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given complex
- * attribute value (canonical address' example attribute value).
- */
- @Test
- public void testEscapeSpecialCharsComplexVal() {
- assertEquals(AttributeUtil.escape(COMPLEX_VAL), ESC_COMPLEX_VAL);
- }
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given
- * attribute value.
- */
- @Test
- public void testEscapeSpecialCharsVal() {
- assertEquals(AttributeUtil.escape(SIMPLE_VAL), ESC_SIMPLE_VAL);
- }
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given simple
- * text: no special characters to escape.
- */
- @Test
- public void testEscapeNormalChars() {
- assertEquals(AttributeUtil.escape(SIMPLE_TEXT), SIMPLE_TEXT);
- }
-
- /**
- * Tests the {@link AttributeUtil#unescape(String)} method for the given
- * escape complex attribute value (canonical address' example attribute
- * value).
- */
- @Test
- public void testUnescapeSpecialCharsComplexVal() {
- assertEquals(AttributeUtil.unescape(ESC_COMPLEX_VAL), COMPLEX_VAL);
- }
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given escape
- * attribute value.
- */
- @Test
- public void testUnescapeSpecialCharsVal() {
- assertEquals(AttributeUtil.unescape(ESC_SIMPLE_VAL), SIMPLE_VAL);
- }
-
- /**
- * Tests the {@link AttributeUtil#escape(String)} method for the given simple
- * text: no special characters to unescape.
- */
- @Test
- public void testUnescapeNormalChars() {
- assertEquals(AttributeUtil.unescape(SIMPLE_TEXT), SIMPLE_TEXT);
- }
-
- /**
- * Tests the {@link AttributeUtil#appendIfNotNull(StringBuilder, Object)}
- * method for the given empty string.
- */
- @Test
- public void testAppendIfNotNullEmptyStr() {
- final StringBuilder strBuilder = new StringBuilder(SIMPLE_TEXT);
- AttributeUtil.appendIfNotNull(strBuilder, EMPTY_STRING);
- assertEquals(strBuilder.toString(), SIMPLE_TEXT);
- }
-
- /**
- * Tests the {@link AttributeUtil#appendIfNotNull(StringBuilder, Object)}
- * method for the given string.
- */
- @Test
- public void testAppendIfNotNullStr() {
- final StringBuilder strBuilder = new StringBuilder();
- AttributeUtil.appendIfNotNull(strBuilder, SIMPLE_TEXT);
- assertEquals(strBuilder.toString(), SIMPLE_TEXT);
- }
-
- /**
- * Tests the {@link AttributeUtil#appendIfNotNull(StringBuilder, Object)}
- * method for the given null value.
- */
- @Test
- public void testAppendIfNotNull() {
- final StringBuilder strBuilder = new StringBuilder();
- AttributeUtil.appendIfNotNull(strBuilder, null);
- assertEquals(strBuilder.toString(), EMPTY_STRING);
- }
-
- /**
- * Tests the {@link AttributeUtil#listToString(List, String)} method for the
- * given List with two values.
- */
- @Test
- public void testListToStringTwoVals() {
- final List<String> vals = new ArrayList<String>();
- vals.add(SIMPLE_VAL);
- vals.add(SIMPLE_TEXT);
-
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append(SIMPLE_TEXT);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- assertEquals(
- AttributeUtil.listToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#listToString(List, String)} method for the
- * given List with one values.
- */
- @Test
- public void testListToStringOneVal() {
- final List<String> vals = new ArrayList<String>();
- vals.add(SIMPLE_VAL);
-
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- assertEquals(
- AttributeUtil.listToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#listToString(List, String)} method for the
- * given List with one value.
- */
- @Test
- public void testListToStringEmptyVal() {
- final List<String> vals = new ArrayList<String>();
-
- final StringBuilder strBuilder = new StringBuilder();
-
- assertEquals(
- AttributeUtil.listToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#mapToString(java.util.Map, String)} method
- * for the given Map with one value.
- */
- @Test
- public void testMapToStringOneVal() {
- final Map<String, String> vals = new HashMap<String, String>();
- vals.put("CanonicalAddress", COMPLEX_VAL);
-
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("CanonicalAddress=");
- strBuilder.append(ESC_COMPLEX_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
-
- assertEquals(AttributeUtil.mapToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#mapToString(java.util.Map, String)} method
- * for the given empty Map.
- */
- @Test
- public void testMapToStringEmptyVal() {
- final Map<String, String> vals = new HashMap<String, String>();
-
- final StringBuilder strBuilder = new StringBuilder();
-
- assertEquals(AttributeUtil.mapToString(vals,
- PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * invalid List.
- */
- @Test
- public void testIsValidValueInvalidList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append("]");
- assertFalse(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * null value.
- */
- @Test
- public void testIsValidValueNullList() {
- assertFalse(AttributeUtil.isValidValue(null));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * empty List.
- */
- @Test
- public void testIsValidValueEmptyList() {
- assertTrue(AttributeUtil.isValidValue("[]"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * empty List.
- */
- @Test
- public void testIsValidValueEmptyCommaList() {
- assertTrue(AttributeUtil.isValidValue("[,]"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * one simple value List.
- */
- @Test
- public void testIsValidValueOneValueList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * one simple value List.
- */
- @Test
- public void testIsValidValueOneValueCommaList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * one complex value List.
- */
- @Test
- public void testIsValidValueOneComplexValueList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_COMPLEX_VAL);
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * one complex value List.
- */
- @Test
- public void testIsValidValueOneComplexValueCommaList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_COMPLEX_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * multi value List.
- */
- @Test
- public void testIsValidValueMultiValueList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append("[");
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append(SIMPLE_TEXT);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append("]");
- assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
- * invalid multi value List.
- */
- @Test
- public void testIsValidValueInvalidMultiValueList() {
- final StringBuilder strBuilder = new StringBuilder();
- strBuilder.append(ESC_SIMPLE_VAL);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append(SIMPLE_TEXT);
- strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
- strBuilder.append("]");
- assertFalse(AttributeUtil.isValidValue(strBuilder.toString()));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * true type.
- */
- @Test
- public void testIsValidTypetrue() {
- assertTrue(AttributeUtil.isValidType("true"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * True type.
- */
- @Test
- public void testIsValidTypeTrue() {
- assertTrue(AttributeUtil.isValidType("True"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * TRUE type.
- */
- @Test
- public void testIsValidTypeTRUE() {
- assertTrue(AttributeUtil.isValidType("TRUE"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * invalid type.
- */
- @Test
- public void testIsValidTypeInvalidType() {
- assertFalse(AttributeUtil.isValidType("str"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * false type.
- */
- @Test
- public void testIsValidTypefalse() {
- assertTrue(AttributeUtil.isValidType("false"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * False type.
- */
- @Test
- public void testIsValidTypeFalse() {
- assertTrue(AttributeUtil.isValidType("False"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * FALSE type.
- */
- @Test
- public void testIsValidTypeFALSEVal() {
- assertTrue(AttributeUtil.isValidType("False"));
- }
-
- /**
- * Tests the {@link AttributeUtil#isValidType(String)} method for the given
- * null.
- */
- @Test
- public void testIsValidTypeNullVal() {
- assertFalse(AttributeUtil.isValidType(null));
- }
-
- /**
- * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
- * given valid tuple.
- */
- @Test
- public void testHasValidTuples() {
- assertTrue(AttributeUtil.hasValidTuples(TUPLE_STRING));
- }
-
- /**
- * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
- * given invalid tuple.
- */
- @Test
- public void testHasValidTuplesInvalid() {
- final String[] tuple = new String[]{"name", "type"};
- assertFalse(AttributeUtil.hasValidTuples(tuple));
- }
-
- /**
- * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
- * given invalid tuple with valid size.
- */
- @Test
- public void testHasValidTuplesSameSizeInvalidValues() {
- final String[] tuple = new String[] { "age", "type", "[18]", "Available"};
- assertFalse(AttributeUtil.hasValidTuples(tuple));
- }
-
- /**
- * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
- * given null value.
- */
- @Test
- public void testHasValidTuplesNull() {
- assertFalse(AttributeUtil.hasValidTuples(null));
- }
-
- /**
- * Tests the
- * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
- * method for the given attribute list..
- */
- @Test
- public void testCheckMandatoryAttributes() {
- final IPersonalAttributeList attrList = new PersonalAttributeList();
- attrList.populate("isAgeOver:true:[18,]:Available;");
- assertTrue(AttributeUtil.checkMandatoryAttributes(attrList));
-
- }
-
- /**
- * Tests the
- * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
- * method for the given null value.
- */
- @Test(expected = NullPointerException.class)
- public void testCheckMandatoryAttributesNullAttrList() {
- assertTrue(AttributeUtil.checkMandatoryAttributes(null));
- }
-
- /**
- * Tests the
- * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
- * method for the given empty attribute list.
- */
- @Test
- public void testCheckMandatoryAttributesEmptyAttrList() {
- final IPersonalAttributeList attrList = new PersonalAttributeList();
- assertTrue(AttributeUtil.checkMandatoryAttributes(attrList));
- }
-
- /**
- * Tests the
- * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
- * method for the given attribute list (missing mandatory attribute).
- */
- @Test
- public void testCheckMandatoryAttributesMissingAttr() {
- final IPersonalAttributeList attrList = new PersonalAttributeList();
- attrList.populate("isAgeOver:true:[]:NotAvailable;");
- assertFalse(AttributeUtil.checkMandatoryAttributes(attrList));
- }
-
+
+ /**
+ * Empty String to be used on the tests.
+ */
+ private static final String EMPTY_STRING = "";
+
+ /**
+ * Tuple value sample to be used on the tests.
+ */
+ private static final String[] TUPLE_STRING = new String[]{"age", "true",
+ "[18]", "Available"};
+
+ /**
+ * Complex value to be used on escape/unescape tests.
+ */
+ private static final String COMPLEX_VAL = "postalCode=4100,"
+ + "apartmentNumber=A,state=Porto,countryCodeAddress=PT,streetNumber=379,"
+ + "streetName=Avenida Sidonio Pais,town=Porto,";
+
+ /**
+ * Escaped Complex value to be used on escape/unescape tests.
+ */
+ private static final String ESC_COMPLEX_VAL = "postalCode=4100%44"
+ + "apartmentNumber=A%44state=Porto%44countryCodeAddress=PT%44"
+ + "streetNumber=379%44streetName=Avenida Sidonio Pais%44town=Porto%44";
+
+ /**
+ * Simple value to be used on escape/unescape tests.
+ */
+ private static final String SIMPLE_VAL = "Avenida da Boavista, Porto";
+
+ /**
+ * Escaped simple value to be used on escape/unescape tests.
+ */
+ private static final String ESC_SIMPLE_VAL = "Avenida da Boavista%44 Porto";
+
+ /**
+ * Simple text to be used on escape/unescape tests. Must match the escaped
+ * text.
+ */
+ private static final String SIMPLE_TEXT = "John Doe";
+
+ /**
+ * Tests the {@link AttributeUtil#escape(String)} method for the given
+ * complex attribute value (canonical address' example attribute value).
+ */
+ @Test
+ public void testEscapeSpecialCharsComplexVal() {
+ assertEquals(AttributeUtil.escape(COMPLEX_VAL), ESC_COMPLEX_VAL);
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#escape(String)} method for the given
+ * attribute value.
+ */
+ @Test
+ public void testEscapeSpecialCharsVal() {
+ assertEquals(AttributeUtil.escape(SIMPLE_VAL), ESC_SIMPLE_VAL);
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#escape(String)} method for the given
+ * simple text: no special characters to escape.
+ */
+ @Test
+ public void testEscapeNormalChars() {
+ assertEquals(AttributeUtil.escape(SIMPLE_TEXT), SIMPLE_TEXT);
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#unescape(String)} method for the given
+ * escape complex attribute value (canonical address' example attribute
+ * value).
+ */
+ @Test
+ public void testUnescapeSpecialCharsComplexVal() {
+ assertEquals(AttributeUtil.unescape(ESC_COMPLEX_VAL), COMPLEX_VAL);
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#escape(String)} method for the given
+ * escape attribute value.
+ */
+ @Test
+ public void testUnescapeSpecialCharsVal() {
+ assertEquals(AttributeUtil.unescape(ESC_SIMPLE_VAL), SIMPLE_VAL);
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#escape(String)} method for the given
+ * simple text: no special characters to unescape.
+ */
+ @Test
+ public void testUnescapeNormalChars() {
+ assertEquals(AttributeUtil.unescape(SIMPLE_TEXT), SIMPLE_TEXT);
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#appendIfNotNull(StringBuilder, Object)}
+ * method for the given empty string.
+ */
+ @Test
+ public void testAppendIfNotNullEmptyStr() {
+ final StringBuilder strBuilder = new StringBuilder(SIMPLE_TEXT);
+ AttributeUtil.appendIfNotNull(strBuilder, EMPTY_STRING);
+ assertEquals(strBuilder.toString(), SIMPLE_TEXT);
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#appendIfNotNull(StringBuilder, Object)}
+ * method for the given string.
+ */
+ @Test
+ public void testAppendIfNotNullStr() {
+ final StringBuilder strBuilder = new StringBuilder();
+ AttributeUtil.appendIfNotNull(strBuilder, SIMPLE_TEXT);
+ assertEquals(strBuilder.toString(), SIMPLE_TEXT);
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#appendIfNotNull(StringBuilder, Object)}
+ * method for the given null value.
+ */
+ @Test
+ public void testAppendIfNotNull() {
+ final StringBuilder strBuilder = new StringBuilder();
+ AttributeUtil.appendIfNotNull(strBuilder, null);
+ assertEquals(strBuilder.toString(), EMPTY_STRING);
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#listToString(List, String)} method for the
+ * given List with two values.
+ */
+ @Test
+ public void testListToStringTwoVals() {
+ final List<String> vals = new ArrayList<String>();
+ vals.add(SIMPLE_VAL);
+ vals.add(SIMPLE_TEXT);
+
+ final StringBuilder strBuilder = new StringBuilder();
+ strBuilder.append(ESC_SIMPLE_VAL);
+ strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
+ strBuilder.append(SIMPLE_TEXT);
+ strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
+
+ assertEquals(
+ AttributeUtil.listToString(vals,
+ PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#listToString(List, String)} method for the
+ * given List with one values.
+ */
+ @Test
+ public void testListToStringOneVal() {
+ final List<String> vals = new ArrayList<String>();
+ vals.add(SIMPLE_VAL);
+
+ final StringBuilder strBuilder = new StringBuilder();
+ strBuilder.append(ESC_SIMPLE_VAL);
+ strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
+
+ assertEquals(
+ AttributeUtil.listToString(vals,
+ PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#listToString(List, String)} method for the
+ * given List with one value.
+ */
+ @Test
+ public void testListToStringEmptyVal() {
+ final List<String> vals = new ArrayList<String>();
+
+ final StringBuilder strBuilder = new StringBuilder();
+
+ assertEquals(
+ AttributeUtil.listToString(vals,
+ PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#mapToString(java.util.Map, String)} method
+ * for the given Map with one value.
+ */
+ @Test
+ public void testMapToStringOneVal() {
+ final Map<String, String> vals = new HashMap<String, String>();
+ vals.put("CanonicalAddress", COMPLEX_VAL);
+
+ final StringBuilder strBuilder = new StringBuilder();
+ strBuilder.append("CanonicalAddress=");
+ strBuilder.append(ESC_COMPLEX_VAL);
+ strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
+
+ assertEquals(AttributeUtil.mapToString(vals,
+ PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#mapToString(java.util.Map, String)} method
+ * for the given empty Map.
+ */
+ @Test
+ public void testMapToStringEmptyVal() {
+ final Map<String, String> vals = new HashMap<String, String>();
+
+ final StringBuilder strBuilder = new StringBuilder();
+
+ assertEquals(AttributeUtil.mapToString(vals,
+ PEPSValues.ATTRIBUTE_VALUE_SEP.toString()), strBuilder.toString());
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
+ * invalid List.
+ */
+ @Test
+ public void testIsValidValueInvalidList() {
+ final StringBuilder strBuilder = new StringBuilder();
+ strBuilder.append(ESC_SIMPLE_VAL);
+ strBuilder.append("]");
+ assertFalse(AttributeUtil.isValidValue(strBuilder.toString()));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
+ * null value.
+ */
+ @Test
+ public void testIsValidValueNullList() {
+ assertFalse(AttributeUtil.isValidValue(null));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
+ * empty List.
+ */
+ @Test
+ public void testIsValidValueEmptyList() {
+ assertTrue(AttributeUtil.isValidValue("[]"));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
+ * empty List.
+ */
+ @Test
+ public void testIsValidValueEmptyCommaList() {
+ assertTrue(AttributeUtil.isValidValue("[,]"));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
+ * one simple value List.
+ */
+ @Test
+ public void testIsValidValueOneValueList() {
+ final StringBuilder strBuilder = new StringBuilder();
+ strBuilder.append("[");
+ strBuilder.append(ESC_SIMPLE_VAL);
+ strBuilder.append("]");
+ assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
+ * one simple value List.
+ */
+ @Test
+ public void testIsValidValueOneValueCommaList() {
+ final StringBuilder strBuilder = new StringBuilder();
+ strBuilder.append("[");
+ strBuilder.append(ESC_SIMPLE_VAL);
+ strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
+ strBuilder.append("]");
+ assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
+ * one complex value List.
+ */
+ @Test
+ public void testIsValidValueOneComplexValueList() {
+ final StringBuilder strBuilder = new StringBuilder();
+ strBuilder.append("[");
+ strBuilder.append(ESC_COMPLEX_VAL);
+ strBuilder.append("]");
+ assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
+ * one complex value List.
+ */
+ @Test
+ public void testIsValidValueOneComplexValueCommaList() {
+ final StringBuilder strBuilder = new StringBuilder();
+ strBuilder.append("[");
+ strBuilder.append(ESC_COMPLEX_VAL);
+ strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
+ strBuilder.append("]");
+ assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
+ * multi value List.
+ */
+ @Test
+ public void testIsValidValueMultiValueList() {
+ final StringBuilder strBuilder = new StringBuilder();
+ strBuilder.append("[");
+ strBuilder.append(ESC_SIMPLE_VAL);
+ strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
+ strBuilder.append(SIMPLE_TEXT);
+ strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
+ strBuilder.append("]");
+ assertTrue(AttributeUtil.isValidValue(strBuilder.toString()));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidValue(String)} method for the given
+ * invalid multi value List.
+ */
+ @Test
+ public void testIsValidValueInvalidMultiValueList() {
+ final StringBuilder strBuilder = new StringBuilder();
+ strBuilder.append(ESC_SIMPLE_VAL);
+ strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
+ strBuilder.append(SIMPLE_TEXT);
+ strBuilder.append(PEPSValues.ATTRIBUTE_VALUE_SEP.toString());
+ strBuilder.append("]");
+ assertFalse(AttributeUtil.isValidValue(strBuilder.toString()));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidType(String)} method for the given
+ * true type.
+ */
+ @Test
+ public void testIsValidTypetrue() {
+ assertTrue(AttributeUtil.isValidType("true"));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidType(String)} method for the given
+ * True type.
+ */
+ @Test
+ public void testIsValidTypeTrue() {
+ assertTrue(AttributeUtil.isValidType("True"));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidType(String)} method for the given
+ * TRUE type.
+ */
+ @Test
+ public void testIsValidTypeTRUE() {
+ assertTrue(AttributeUtil.isValidType("TRUE"));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidType(String)} method for the given
+ * invalid type.
+ */
+ @Test
+ public void testIsValidTypeInvalidType() {
+ assertFalse(AttributeUtil.isValidType("str"));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidType(String)} method for the given
+ * false type.
+ */
+ @Test
+ public void testIsValidTypefalse() {
+ assertTrue(AttributeUtil.isValidType("false"));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidType(String)} method for the given
+ * False type.
+ */
+ @Test
+ public void testIsValidTypeFalse() {
+ assertTrue(AttributeUtil.isValidType("False"));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidType(String)} method for the given
+ * FALSE type.
+ */
+ @Test
+ public void testIsValidTypeFALSEVal() {
+ assertTrue(AttributeUtil.isValidType("False"));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#isValidType(String)} method for the given
+ * null.
+ */
+ @Test
+ public void testIsValidTypeNullVal() {
+ assertFalse(AttributeUtil.isValidType(null));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
+ * given valid tuple.
+ */
+ @Test
+ public void testHasValidTuples() {
+ assertTrue(AttributeUtil.hasValidTuples(TUPLE_STRING));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
+ * given invalid tuple.
+ */
+ @Test
+ public void testHasValidTuplesInvalid() {
+ final String[] tuple = new String[]{"name", "type"};
+ assertFalse(AttributeUtil.hasValidTuples(tuple));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
+ * given invalid tuple with valid size.
+ */
+ @Test
+ public void testHasValidTuplesSameSizeInvalidValues() {
+ final String[] tuple = new String[]{"age", "type", "[18]", "Available"};
+ assertFalse(AttributeUtil.hasValidTuples(tuple));
+ }
+
+ /**
+ * Tests the {@link AttributeUtil#hasValidTuples(String[])} method for the
+ * given null value.
+ */
+ @Test
+ public void testHasValidTuplesNull() {
+ assertFalse(AttributeUtil.hasValidTuples(null));
+ }
+
+ /**
+ * Tests the
+ * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
+ * method for the given attribute list..
+ */
+ @Test
+ public void testCheckMandatoryAttributes() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList();
+ attrList.populate("isAgeOver:true:[18,]:Available;");
+ assertTrue(AttributeUtil.checkMandatoryAttributes(attrList));
+
+ }
+
+ /**
+ * Tests the
+ * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
+ * method for the given null value.
+ */
+ @Test(expected = NullPointerException.class)
+ public void testCheckMandatoryAttributesNullAttrList() {
+ assertTrue(AttributeUtil.checkMandatoryAttributes(null));
+ }
+
+ /**
+ * Tests the
+ * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
+ * method for the given empty attribute list.
+ */
+ @Test
+ public void testCheckMandatoryAttributesEmptyAttrList() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList();
+ assertTrue(AttributeUtil.checkMandatoryAttributes(attrList));
+ }
+
+ /**
+ * Tests the
+ * {@link AttributeUtil#checkMandatoryAttributes(IPersonalAttributeList)}
+ * method for the given attribute list (missing mandatory attribute).
+ */
+ @Test
+ public void testCheckMandatoryAttributesMissingAttr() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList();
+ attrList.populate("isAgeOver:true:[]:NotAvailable;");
+ assertFalse(AttributeUtil.checkMandatoryAttributes(attrList));
+ }
+
}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/ComplexAttributesMarshalling.java b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/ComplexAttributesMarshalling.java
index fc6e65f70..f2383c07a 100644
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/ComplexAttributesMarshalling.java
+++ b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/ComplexAttributesMarshalling.java
@@ -11,7 +11,6 @@
package eu.stork.peps.tests;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.StringWriter;
@@ -35,8 +34,7 @@ import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion.R
/**
* @author Advania Examples on how to use the jaxb marshaller. The classes are created from the
* StorkcomplexAttributes.xsd schema located in resources.
- * @version $Revision: 1.00 $, $Date: 2014-17-02 11:15:00 $
- *
+ * @version $Revision: 1.00 $, $Date: 2014-17-02 11:15:00 $
*/
public class ComplexAttributesMarshalling {
@@ -65,59 +63,48 @@ public class ComplexAttributesMarshalling {
rptObject.setLegalForm("Yet another type of person");
}
- /**
+ /**
* Test marshalling canonical address <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- * <canonicalResidenceAddress xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion">
+ * <canonicalResidenceAddress xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion">
* <countryCodeAddress>IS</countryCodeAddress> <state>Reykjavik</state> <municipalityCode>RVK</municipalityCode>
* <town>Reykjavik</town> <postalCode>101</postalCode> <streetName>Laugavegur</streetName>
* <streetNumber>1</streetNumber> <apartmentNumber>10</apartmentNumber> </canonicalResidenceAddress>
- */
- @Test
- public void testMarshallCanonicalResidencAddress()
- {
- try
- {
- final CanonicalAddressType object = new CanonicalAddressType();
- object.setApartmentNumber("10");
- object.setCountryCodeAddress("IS");
- object.setMunicipalityCode("RVK");
- object.setPostalCode("101");
- object.setState("Reykjavik");
- object.setStreetName("Laugavegur");
- object.setStreetNumber("1");
- object.setTown("Reykjavik");
-
- final JAXBContext context = JAXBContext.newInstance(CanonicalAddressType.class);
- final Marshaller m = context.createMarshaller();
- m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
- final ObjectFactory objf = new ObjectFactory();
-
- m.marshal(objf.createCanonicalResidenceAddress(object), new FileOutputStream("CanonicalAddressType.xml"));
- m.marshal(objf.createCanonicalResidenceAddress(object), System.out);
- }
+ */
+ @Test
+ public void testMarshallCanonicalResidencAddress() {
+ try {
+ final CanonicalAddressType object = new CanonicalAddressType();
+ object.setApartmentNumber("10");
+ object.setCountryCodeAddress("IS");
+ object.setMunicipalityCode("RVK");
+ object.setPostalCode("101");
+ object.setState("Reykjavik");
+ object.setStreetName("Laugavegur");
+ object.setStreetNumber("1");
+ object.setTown("Reykjavik");
+
+ final JAXBContext context = JAXBContext.newInstance(CanonicalAddressType.class);
+ final Marshaller m = context.createMarshaller();
+ m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
+ final ObjectFactory objf = new ObjectFactory();
+
+ m.marshal(objf.createCanonicalResidenceAddress(object), new FileOutputStream("CanonicalAddressType.xml"));
+ m.marshal(objf.createCanonicalResidenceAddress(object), System.out);
+ }
catch ( Exception e ) {
- e.printStackTrace();
+ e.printStackTrace();
}
}
@Test
public void testForDiana() {
initMandateValues();
-
+
try {
// Create the marshallers'
final JAXBContext mandateTypeContext = JAXBContext.newInstance(MandateType.class);
final Marshaller mandateMarshaller = mandateTypeContext.createMarshaller();
- final Unmarshaller mandateUnmarshaller = mandateTypeContext.createUnmarshaller();
-
- // final JAXBContext MandateContentTypecontext = JAXBContext.newInstance(MandateContentType.class);
- // final Marshaller mandM = MandateContentTypecontext.createMarshaller();
- //
- // final JAXBContext RepresentationPersonTypecontext =
- // JAXBContext.newInstance(RepresentationPersonType.class);
- // final Marshaller repM = RepresentationPersonTypecontext.createMarshaller();
- //
final ObjectFactory objf = new ObjectFactory();
MandateType mandate = new MandateType();
@@ -135,54 +122,21 @@ public class ComplexAttributesMarshalling {
mandate.setRepresented(represented);
MandateContentType mandateContent1 = new MandateContentType();
- // OriginalMandateType omt1 = new OriginalMandateType();
- // omt1.setMimeType("text/plain");
- // omt1.setValue("Chief executive officer".getBytes());
mandateContent1.setOriginalMandate("Chief executive officer".getBytes());
mandateContent1.setOriginalMandateType("text/plain");
MandateContentType mandateContent2 = new MandateContentType();
- // mandateContent2.setOriginalMandate(omt1);
mandateContent2.setOriginalMandate("Chief executive officer2".getBytes());
mandateContent2.setOriginalMandateType("text/plain");
mandate.getMandateContent().add(mandateContent1);
mandate.getMandateContent().add(mandateContent2);
- // create a hashmap
- // HashMap<String, String> complexMandate = new HashMap<String, String>();
-
// marshall the mandatecontent
StringWriter sw = new StringWriter();
mandateMarshaller.marshal(objf.createMandate(mandate), sw);
System.out.print(sw.toString());
- // add it to the hashmap
- // complexMandate.put("representative", sw.toString());
- // sw.flush();
- //
- // // continue with the rest of the objects.
- // repM.marshal(objf.createRepresentationPerson(rpObject), sw);
- // System.out.print(sw.toString());
- // complexMandate.put("representative", sw.toString());
- // sw.flush();
- //
- // MandateType mandateType = new MandateType();
- //
- // repM.marshal(objf.createRepresentationPerson(rptObject), sw);
- // System.out.print(sw.toString());
- // complexMandate.put("represented", sw.toString());
- // sw.flush();
- //
- // // add the complex values to the attr.list.
- // PersonalAttribute pal = new PersonalAttribute();
- //
- // pal.setName("mandateContent");
- // pal.setIsRequired(pal.isRequired());
- // pal.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- // pal.setComplexValue(complexMandate);
- //
- // System.out.println(pal.toString());
- }
+ }
catch ( JAXBException e ) {
e.printStackTrace();
}
@@ -210,91 +164,83 @@ public class ComplexAttributesMarshalling {
StringWriter sw = new StringWriter();
m.marshal(objf.createMandate(object), sw);
- }
+ }
catch ( Exception e ) {
e.printStackTrace();
}
}
- /**
+ /**
* Test unmarshalling canonical address <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- * <canonicalResidenceAddress xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion">
+ * <canonicalResidenceAddress xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion">
* <countryCodeAddress>IS</countryCodeAddress> <state>Reykjavik</state> <municipalityCode>RVK</municipalityCode>
* <town>Reykjavik</town> <postalCode>101</postalCode> <streetName>Laugavegur</streetName>
* <streetNumber>1</streetNumber> <apartmentNumber>10</apartmentNumber> </canonicalResidenceAddress>
- */
- @Test
- public void testUnmarshallCanonicalAddress()
- {
- JAXBContext uContext;
- try
- {
- uContext = JAXBContext.newInstance(CanonicalAddressType.class);
- final Unmarshaller u = uContext.createUnmarshaller();
- final File file = new File("CanonicalAddressType.xml");
-
- final JAXBElement<CanonicalAddressType> root = u.unmarshal(new StreamSource(file), CanonicalAddressType.class);
- final CanonicalAddressType foo = root.getValue();
-
- final String A = foo.getStreetName();
- final String B = foo.getStreetNumber();
-
- System.out.println("Streetname: " + A);
- System.out.println("Streetnumber: " + B);
-
- }
- catch (final JAXBException e)
- {
- e.printStackTrace();
- }
- }
-
- /**
+ */
+ @Test
+ public void testUnmarshallCanonicalAddress() {
+ JAXBContext uContext;
+ try {
+ uContext = JAXBContext.newInstance(CanonicalAddressType.class);
+ final Unmarshaller u = uContext.createUnmarshaller();
+ final File file = new File("CanonicalAddressType.xml");
+
+ final JAXBElement<CanonicalAddressType> root = u.unmarshal(new StreamSource(file),
+ CanonicalAddressType.class);
+ final CanonicalAddressType foo = root.getValue();
+
+ final String A = foo.getStreetName();
+ final String B = foo.getStreetNumber();
+
+ System.out.println("Streetname: " + A);
+ System.out.println("Streetnumber: " + B);
+
+ }
+ catch ( final JAXBException e ) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
* Test marshalling has bank account <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <hasAccountInBank
* xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion"> <bankName>Arion</bankName> <AQAA>3</AQAA> </hasAccountInBank>
- */
- @Test
- public void testMarshallHasBankAccount()
- {
- try
- {
- final HasAccountInBankType object = new HasAccountInBankType();
- object.setAQAA(3);
- object.setBankName("Arion Bank");
- final JAXBContext context = JAXBContext.newInstance(HasAccountInBankType.class);
- final Marshaller m = context.createMarshaller();
- final ObjectFactory o = new ObjectFactory();
- m.marshal(o.createHasAccountInBank(object), new FileOutputStream ("hasbankaccount.xml"));
- m.marshal(o.createHasAccountInBank(object), System.out);
-
- }
- catch (FileNotFoundException e) {
- e.printStackTrace();
+ */
+ @Test
+ public void testMarshallHasBankAccount() {
+ try {
+ final HasAccountInBankType object = new HasAccountInBankType();
+ object.setAQAA(3);
+ object.setBankName("Arion Bank");
+ final JAXBContext context = JAXBContext.newInstance(HasAccountInBankType.class);
+ final Marshaller m = context.createMarshaller();
+ final ObjectFactory o = new ObjectFactory();
+ m.marshal(o.createHasAccountInBank(object), new FileOutputStream("hasbankaccount.xml"));
+ m.marshal(o.createHasAccountInBank(object), System.out);
- }catch ( Exception e ) {
- e.printStackTrace();
-
- }
- }
+ }
+ catch ( Exception e ) {
+ e.printStackTrace();
+ }
+ }
- /**
+ /**
* Test unmarshalling has bank account <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <hasAccountInBank
* xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion"> <bankName>Arion</bankName> <AQAA>3</AQAA> </hasAccountInBank>
- */
- @Test
- public void testUnmarshallHasBankAccount()
- {
- try
- {
- final JAXBContext context = JAXBContext.newInstance(HasAccountInBankType.class);
- final Unmarshaller um = context.createUnmarshaller();
- final File file = new File("hasbankaccount.xml");
- final JAXBElement<HasAccountInBankType> root = um.unmarshal(new StreamSource(file), HasAccountInBankType.class);
- final HasAccountInBankType foo = root.getValue();
- System.out.println(foo.getBankName());
- } catch (final JAXBException e) {
- e.printStackTrace();
- }
- }
-
+ */
+ @Test
+ public void testUnmarshallHasBankAccount() {
+ try {
+ final JAXBContext context = JAXBContext.newInstance(HasAccountInBankType.class);
+ final Unmarshaller um = context.createUnmarshaller();
+ final File file = new File("hasbankaccount.xml");
+ final JAXBElement<HasAccountInBankType> root = um.unmarshal(new StreamSource(file),
+ HasAccountInBankType.class);
+ final HasAccountInBankType foo = root.getValue();
+ System.out.println(foo.getBankName());
+ }
+ catch ( final JAXBException e ) {
+ e.printStackTrace();
+ }
+ }
+
}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/DateUtilTestCase.java b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/DateUtilTestCase.java
index 5d2296997..6c9a17ddc 100644
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/DateUtilTestCase.java
+++ b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/DateUtilTestCase.java
@@ -27,268 +27,268 @@ import eu.stork.peps.auth.commons.exceptions.SecurityPEPSException;
/**
* The PersonalAttribute's Test Case.
- *
+ *
* @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
+ * paulo.ribeiro@multicert.com
* @version $Revision: 1.2 $, $Date: 2010-11-17 05:17:03 $
*/
public final class DateUtilTestCase {
-
- /**
- * Stork Format date.
- */
- private static final String FORMAT = "yyyyMMdd";
-
- /**
- * Expected 10 value.
- */
- private static final int TEN = 10;
-
- /**
- * Expected 11 value.
- */
- private static final int ELEVEN = 11;
-
- /**
- * The testing Date ("current" date).
- */
- private static final DateTime TESTDATE = new DateTime(2011, 10, 10, 15, 20,
- 0, 0);
-
- /**
- * Init DateUtilTestCase class.
- */
- @BeforeClass
- public static void runsBeforeTheTestSuite() {
- final Properties configs = new Properties();
- configs.setProperty("invalidAgeDateValue.code", "35");
- configs.setProperty("invalidAttributeValue.code", "34");
- configs
- .setProperty(
- "invalidAttributeValue.message",
- "Unexpected or invalid content was encountered within a "
- + "<saml:Attribute> or <saml:AttributeValue> element.");
- PEPSUtil.createInstance(configs);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given year against
- * the testDate: 2011-10-10 15:20:00.0. Must return 10.
- */
- @Test
- public void calculateAgeFromYear() {
- Assert.assertTrue(TEN == DateUtil.calculateAge("2000", TESTDATE, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given year and month
- * against the testDate: 2011-10-10 15:20:00.0. Must return 11.
- */
- @Test
- public void calculateAgeFromEarlyMonth() {
- Assert.assertTrue(ELEVEN == DateUtil.calculateAge("200001", TESTDATE,
- FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given year and month
- * against the testDate: 2011-10-10 15:20:00.0. Must return 10.
- */
- @Test
- public void calculateAgeFromSameMonth() {
- Assert.assertTrue(TEN == DateUtil.calculateAge("200010", TESTDATE, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given year and month
- * against the testDate: 2011-10-10 15:20:00.0. Must return 10.
- */
- @Test
- public void calculateAgeFromLaterMonth() {
- Assert.assertTrue(TEN == DateUtil.calculateAge("200011", TESTDATE, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return 11.
- */
- @Test
- public void calculateAgeFromEarlyFullDate() {
- Assert.assertTrue(ELEVEN == DateUtil.calculateAge("20000101", TESTDATE,
- FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return 11.
- */
- @Test
- public void calculateAgeFromSameDay() {
- Assert.assertTrue(ELEVEN == DateUtil.calculateAge("20001010", TESTDATE,
- FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return 10.
- */
- @Test
- public void calculateAgeFromLaterFullDate() {
- Assert.assertTrue(TEN == DateUtil
- .calculateAge("20001011", TESTDATE, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromInvalidDate() {
- DateUtil.calculateAge("200", TESTDATE, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromInvalidMonth() {
- DateUtil.calculateAge("200013", TESTDATE, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromInvalidDay() {
- DateUtil.calculateAge("20000230", TESTDATE, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromNullDate() {
- DateUtil.calculateAge(null, TESTDATE, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromNullCurDate() {
- DateUtil.calculateAge("2000", null, FORMAT);
- }
-
- /**
- * Tests the {@link DateUtil#calculateAge} method for the given full date
- * against the testDate: 2011-10-10 15:20:00.0. Must return a
- * SecurityPEPSException exception.
- */
- @Test(expected = SecurityPEPSException.class)
- public void calculateAgeFromNullFormat() {
- DateUtil.calculateAge("2000", TESTDATE, null);
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return true
- */
- @Test
- public void isValidFormatDateFromYear() {
- Assert.assertTrue(DateUtil.isValidFormatDate("2000", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year and
- * month. Must return true.
- */
- @Test
- public void isValidFormatDateFromMonth() {
- Assert.assertTrue(DateUtil.isValidFormatDate("200001", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDate() {
- Assert.assertTrue(DateUtil.isValidFormatDate("20000101", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateInvalidYear() {
- Assert.assertFalse(DateUtil.isValidFormatDate("200", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateInvalidMonth() {
- Assert.assertFalse(DateUtil.isValidFormatDate("200013", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateInvalidDate() {
- Assert.assertFalse(DateUtil.isValidFormatDate("20010229", FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateNullDate() {
- Assert.assertFalse(DateUtil.isValidFormatDate(null, FORMAT));
- }
-
- /**
- * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
- * Must return false.
- */
- @Test
- public void isValidFormatDateNullFormat() {
- Assert.assertFalse(DateUtil.isValidFormatDate("2000", null));
- }
-
- /**
- * Tests the {@link DateUtil#currentTimeStamp()} method for the current
- * TimeStamp (TS). Must return true.
- */
- @Test
- public void testCurrentTimeStampBefore() {
- Timestamp ts = DateUtil.currentTimeStamp();
- Assert.assertNotSame(ts, DateUtil.currentTimeStamp());
- }
-
- /**
- * Tests the {@link DateUtil#currentTimeStamp()} method for the current
- * TimeStamp (TS). Must return true.
- */
- @Test
- public void testCurrentTimeStampAfter() {
- Timestamp ts = DateUtil.currentTimeStamp();
- Assert.assertEquals(DateUtil.currentTimeStamp(), ts);
- }
-
+
+ /**
+ * Stork Format date.
+ */
+ private static final String FORMAT = "yyyyMMdd";
+
+ /**
+ * Expected 10 value.
+ */
+ private static final int TEN = 10;
+
+ /**
+ * Expected 11 value.
+ */
+ private static final int ELEVEN = 11;
+
+ /**
+ * The testing Date ("current" date).
+ */
+ private static final DateTime TESTDATE = new DateTime(2011, 10, 10, 15, 20,
+ 0, 0);
+
+ /**
+ * Init DateUtilTestCase class.
+ */
+ @BeforeClass
+ public static void runsBeforeTheTestSuite() {
+ final Properties configs = new Properties();
+ configs.setProperty("invalidAgeDateValue.code", "35");
+ configs.setProperty("invalidAttributeValue.code", "34");
+ configs
+ .setProperty(
+ "invalidAttributeValue.message",
+ "Unexpected or invalid content was encountered within a "
+ + "<saml:Attribute> or <saml:AttributeValue> element.");
+ PEPSUtil.createInstance(configs);
+ }
+
+ /**
+ * Tests the {@link DateUtil#calculateAge} method for the given year against
+ * the testDate: 2011-10-10 15:20:00.0. Must return 10.
+ */
+ @Test
+ public void calculateAgeFromYear() {
+ Assert.assertTrue(TEN == DateUtil.calculateAge("2000", TESTDATE, FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#calculateAge} method for the given year and
+ * month against the testDate: 2011-10-10 15:20:00.0. Must return 11.
+ */
+ @Test
+ public void calculateAgeFromEarlyMonth() {
+ Assert.assertTrue(ELEVEN == DateUtil.calculateAge("200001", TESTDATE,
+ FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#calculateAge} method for the given year and
+ * month against the testDate: 2011-10-10 15:20:00.0. Must return 10.
+ */
+ @Test
+ public void calculateAgeFromSameMonth() {
+ Assert.assertTrue(TEN == DateUtil.calculateAge("200010", TESTDATE, FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#calculateAge} method for the given year and
+ * month against the testDate: 2011-10-10 15:20:00.0. Must return 10.
+ */
+ @Test
+ public void calculateAgeFromLaterMonth() {
+ Assert.assertTrue(TEN == DateUtil.calculateAge("200011", TESTDATE, FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#calculateAge} method for the given full date
+ * against the testDate: 2011-10-10 15:20:00.0. Must return 11.
+ */
+ @Test
+ public void calculateAgeFromEarlyFullDate() {
+ Assert.assertTrue(ELEVEN == DateUtil.calculateAge("20000101", TESTDATE,
+ FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#calculateAge} method for the given full date
+ * against the testDate: 2011-10-10 15:20:00.0. Must return 11.
+ */
+ @Test
+ public void calculateAgeFromSameDay() {
+ Assert.assertTrue(ELEVEN == DateUtil.calculateAge("20001010", TESTDATE,
+ FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#calculateAge} method for the given full date
+ * against the testDate: 2011-10-10 15:20:00.0. Must return 10.
+ */
+ @Test
+ public void calculateAgeFromLaterFullDate() {
+ Assert.assertTrue(TEN == DateUtil
+ .calculateAge("20001011", TESTDATE, FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#calculateAge} method for the given full date
+ * against the testDate: 2011-10-10 15:20:00.0. Must return a
+ * SecurityPEPSException exception.
+ */
+ @Test(expected = SecurityPEPSException.class)
+ public void calculateAgeFromInvalidDate() {
+ DateUtil.calculateAge("200", TESTDATE, FORMAT);
+ }
+
+ /**
+ * Tests the {@link DateUtil#calculateAge} method for the given full date
+ * against the testDate: 2011-10-10 15:20:00.0. Must return a
+ * SecurityPEPSException exception.
+ */
+ @Test(expected = SecurityPEPSException.class)
+ public void calculateAgeFromInvalidMonth() {
+ DateUtil.calculateAge("200013", TESTDATE, FORMAT);
+ }
+
+ /**
+ * Tests the {@link DateUtil#calculateAge} method for the given full date
+ * against the testDate: 2011-10-10 15:20:00.0. Must return a
+ * SecurityPEPSException exception.
+ */
+ @Test(expected = SecurityPEPSException.class)
+ public void calculateAgeFromInvalidDay() {
+ DateUtil.calculateAge("20000230", TESTDATE, FORMAT);
+ }
+
+ /**
+ * Tests the {@link DateUtil#calculateAge} method for the given full date
+ * against the testDate: 2011-10-10 15:20:00.0. Must return a
+ * SecurityPEPSException exception.
+ */
+ @Test(expected = SecurityPEPSException.class)
+ public void calculateAgeFromNullDate() {
+ DateUtil.calculateAge(null, TESTDATE, FORMAT);
+ }
+
+ /**
+ * Tests the {@link DateUtil#calculateAge} method for the given full date
+ * against the testDate: 2011-10-10 15:20:00.0. Must return a
+ * SecurityPEPSException exception.
+ */
+ @Test(expected = SecurityPEPSException.class)
+ public void calculateAgeFromNullCurDate() {
+ DateUtil.calculateAge("2000", null, FORMAT);
+ }
+
+ /**
+ * Tests the {@link DateUtil#calculateAge} method for the given full date
+ * against the testDate: 2011-10-10 15:20:00.0. Must return a
+ * SecurityPEPSException exception.
+ */
+ @Test(expected = SecurityPEPSException.class)
+ public void calculateAgeFromNullFormat() {
+ DateUtil.calculateAge("2000", TESTDATE, null);
+ }
+
+ /**
+ * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
+ * Must return true
+ */
+ @Test
+ public void isValidFormatDateFromYear() {
+ Assert.assertTrue(DateUtil.isValidFormatDate("2000", FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#isValidFormatDate} method for the given year
+ * and month. Must return true.
+ */
+ @Test
+ public void isValidFormatDateFromMonth() {
+ Assert.assertTrue(DateUtil.isValidFormatDate("200001", FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
+ * Must return false.
+ */
+ @Test
+ public void isValidFormatDate() {
+ Assert.assertTrue(DateUtil.isValidFormatDate("20000101", FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
+ * Must return false.
+ */
+ @Test
+ public void isValidFormatDateInvalidYear() {
+ Assert.assertFalse(DateUtil.isValidFormatDate("200", FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
+ * Must return false.
+ */
+ @Test
+ public void isValidFormatDateInvalidMonth() {
+ Assert.assertFalse(DateUtil.isValidFormatDate("200013", FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
+ * Must return false.
+ */
+ @Test
+ public void isValidFormatDateInvalidDate() {
+ Assert.assertFalse(DateUtil.isValidFormatDate("20010229", FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
+ * Must return false.
+ */
+ @Test
+ public void isValidFormatDateNullDate() {
+ Assert.assertFalse(DateUtil.isValidFormatDate(null, FORMAT));
+ }
+
+ /**
+ * Tests the {@link DateUtil#isValidFormatDate} method for the given year.
+ * Must return false.
+ */
+ @Test
+ public void isValidFormatDateNullFormat() {
+ Assert.assertFalse(DateUtil.isValidFormatDate("2000", null));
+ }
+
+ /**
+ * Tests the {@link DateUtil#currentTimeStamp()} method for the current
+ * TimeStamp (TS). Must return true.
+ */
+ @Test
+ public void testCurrentTimeStampBefore() {
+ Timestamp ts = DateUtil.currentTimeStamp();
+ Assert.assertNotSame(ts, DateUtil.currentTimeStamp());
+ }
+
+ /**
+ * Tests the {@link DateUtil#currentTimeStamp()} method for the current
+ * TimeStamp (TS). Must return true.
+ */
+ @Test
+ public void testCurrentTimeStampAfter() {
+ Timestamp ts = DateUtil.currentTimeStamp();
+ Assert.assertEquals(DateUtil.currentTimeStamp(), ts);
+ }
+
}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PEPSUtilTestCase.java b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PEPSUtilTestCase.java
index d4841ed43..95c1f4594 100644
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PEPSUtilTestCase.java
+++ b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PEPSUtilTestCase.java
@@ -36,518 +36,518 @@ import eu.stork.peps.auth.commons.exceptions.InvalidParameterPEPSException;
/**
* The PEPSUtil's Test Case.
- *
+ *
* @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com
- *
+ * luis.felix@multicert.com
+ *
* @version $Revision: $, $Date: $
*/
public final class PEPSUtilTestCase {
-
- /**
- * Message example.
- */
- private static final String MESSAGE_SAMPLE = "003002 - Authentication Failed";
-
- /**
- * Error message example.
- */
- private static final String ERROR_MESSAGE_SAMPLE = "Authentication Failed";
-
- /**
- * Error code example.
- */
- private static final String ERROR_CODE_SAMPLE = "003002";
-
- /**
- * Properties values for testing proposes.
- */
- private static final Properties CONFIGS1 = new Properties();
-
- /**
- * Properties values for testing proposes.
- */
- private static final Properties CONFIGS2 = new Properties();
-
- /**
- * The empty string value: "".
- */
- private static final String EMPTY_STRING = "";
-
- /**
- * The empty byte value: [].
- */
- private static final byte[] EMPTY_BYTE = new byte[] {};
-
- /**
- * The empty byte hash value.
- */
- private static final byte[] EMPTY_HASH_BYTE = new byte[] { -49, -125, -31,
- 53, 126, -17, -72, -67, -15, 84, 40, 80, -42, 109, -128, 7, -42, 32, -28,
- 5, 11, 87, 21, -36, -125, -12, -87, 33, -45, 108, -23, -50, 71, -48, -47,
- 60, 93, -123, -14, -80, -1, -125, 24, -46, -121, 126, -20, 47, 99, -71, 49,
- -67, 71, 65, 122, -127, -91, 56, 50, 122, -7, 39, -38, 62 };
-
- /**
- * The SAML example byte[] value.
- */
- private static final byte[] SAML_BYTE_SAMPLE = new byte[] { 60, 115, 97, 109,
- 108, 62, 46, 46, 46, 60, 47, 115, 97, 109, 108 };
-
- /**
- * The SAML's Base64 example value.
- */
- private static final String SAML_BASE64_SAMPLE = "PHNhbWw+Li4uPC9zYW1s";
-
- /**
- * The SAML's Base64 byte[] example value.
- */
- private static byte[] SAML_BASE64_BYTE_SAMPLE = new byte[] { 80, 72, 78, 104,
- 98, 87, 119, 43, 76, 105, 52, 117, 80, 67, 57, 122, 89, 87, 49, 115 };
-
- /**
- * The SAML's Base64 Hash byte[] example value.
- */
- private static byte[] HASH_BYTE_SAMPLE = new byte[] { 67, 38, 11, 115, 49,
- -5, 54, -85, 38, 43, -99, 96, 71, -41, 50, -96, 71, -86, 90, -97, 66, -67,
- 90, 101, 30, 82, -13, 60, -106, -72, -103, -75, 19, 2, -107, 107, -6, -56,
- 34, -111, -44, -57, -26, -5, 33, 78, -1, 30, 21, 74, -26, 118, -46, -12,
- -102, 12, -56, 30, -59, -104, -21, -42, -103, 82 };
-
- /**
- * Init PEPSUtilTestCase class.
- */
- @BeforeClass
- public static void runsBeforeTheTestSuite() {
-
- CONFIGS1.setProperty("max.attrList.size", "20000");
- CONFIGS1.setProperty("attrList.code", "202005");
- CONFIGS1.setProperty("attrList.message", "invalid.attrList.parameter");
-
- CONFIGS1.setProperty("max.qaaLevel.size", "1");
- CONFIGS1.setProperty("max.spUrl.size", "inv");
- CONFIGS1.setProperty("validation.active", "true");
- CONFIGS1.setProperty("hashDigest.className",
- "org.bouncycastle.crypto.digests.SHA512Digest");
- CONFIGS1.setProperty("invalidAgeDateValue.code", "35");
- CONFIGS1.setProperty("invalidAttributeValue.code", "34");
- CONFIGS1.setProperty("invalidAttributeValue.message",
- "Unexpected or invalid content was encountered within a "
- + "<saml:Attribute> or <saml:AttributeValue> element.");
- }
-
- /**
- * Tests the {@link PEPSUtil#createInstance(Properties)} method for the given
- * properties object.
- */
- @Test
- public void testCreateInstance() {
- Assert.assertNotNull(PEPSUtil.createInstance(CONFIGS2));
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfigs()}.
- */
- @Test
- public void testGetConfigs() {
- final PEPSUtil pepsUtils = PEPSUtil.createInstance(CONFIGS1);
- assertEquals(pepsUtils.getConfigs(), CONFIGS1);
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfigs()}.
- */
- @Test
- public void testGetConfigsDifferent() {
- final PEPSUtil pepsUtils = PEPSUtil.createInstance(CONFIGS1);
- assertNotSame(pepsUtils.getConfigs(), CONFIGS2);
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfig(String)} method for the given existing
- * config.
- */
- @Test
- public void testGetConfigExists() {
- assertEquals(PEPSUtil.getConfig("hashDigest.className"),
- "org.bouncycastle.crypto.digests.SHA512Digest");
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfig(String)} method for the given not
- * existing config.
- */
- @Test
- public void testGetConfigNoExists() {
- assertNull(PEPSUtil.getConfig("doesnt.exists"));
- }
-
- /**
- * Tests the {@link PEPSUtil#getConfig(String)} method for the given null
- * value.
- */
- @Test(expected = NullPointerException.class)
- public void testGetConfigNull() {
- assertNull(PEPSUtil.getConfig(null));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterExists() {
- assertTrue(PEPSUtil.isValidParameter("qaaLevel", "1"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterExistsGreat() {
- assertFalse(PEPSUtil.isValidParameter("qaaLevel", "12"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterExistsIvalidConf() {
- assertFalse(PEPSUtil
- .isValidParameter("spUrl", "http://localhost:8080/SP/"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterNotExists() {
- assertFalse(PEPSUtil.isValidParameter("doesntexists",
- "http://localhost:8080/SP/"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterNullParamName() {
- assertFalse(PEPSUtil.isValidParameter(null, "http://localhost:8080/SP/"));
- }
-
- /**
- * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for the
- * given param values.
- */
- @Test
- public void testIsValidParameterNullParamValue() {
- assertFalse(PEPSUtil.isValidParameter("spUrl", null));
- }
-
- /**
- * Tests the {@link PEPSUtil#validateParameter(String, String, Object)} method
- * for the given object values.
- */
- @Test
- public void testValidateParameterValid() {
- final IPersonalAttributeList persAttrList = new PersonalAttributeList();
- persAttrList.populate("isAgeOver:true:[15,]:Available;");
- PEPSUtil.validateParameter("ServiceProviderAction",
- PEPSParameters.ATTRIBUTE_LIST.toString(), persAttrList);
- }
-
- /**
- * Tests the {@link PEPSUtil#validateParameter(String, String, Object)} method
- * for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterNull() {
- PEPSUtil.validateParameter("ServiceProviderAction",
- PEPSParameters.ATTRIBUTE_LIST.toString(), null);
- }
-
- /**
- * Tests the {@link PEPSUtil#validateParameter(String, String, String)} method
- * for the given string values.
- *
- * The tested class just invokes
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * so further tests will be later.
- */
- @Test
- public void testValidateParameter() {
- PEPSUtil.validateParameter("ServiceProviderAction",
- PEPSParameters.ATTRIBUTE_LIST.toString(),
- "isAgeOver:true:[15,]:Available;");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, PEPSErrors)}
- * method for the given string value and {@link PEPSErrors} enum.
- *
- * The tested class just invokes
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * so further tests will be later.
- */
- @Test
- public void testValidateParameterPEPSErrors() {
- PEPSUtil.validateParameter("CountrySelectorAction",
- PEPSParameters.ATTRIBUTE_LIST.toString(),
- "isAgeOver:true:[15,]:Available;",
- PEPSErrors.SP_COUNTRY_SELECTOR_INVALID_ATTR);
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test
- public void testValidateParameterValidParams() {
- PEPSUtil.validateParameter("ServiceProviderAction", "qaaLevel", "1",
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterInvalidParamValue() {
- PEPSUtil.validateParameter("ServiceProviderAction", "qaaLevel", "10",
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterInvalidParamName() {
- PEPSUtil.validateParameter("ServiceProviderAction", "doesnt.exists", "1",
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterNullParamName() {
- PEPSUtil.validateParameter("ServiceProviderAction", null, "1",
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the
- * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
- * method for the given string values.
- */
- @Test(expected = InvalidParameterPEPSException.class)
- public void testValidateParameterNullParamValue() {
- PEPSUtil.validateParameter("ServiceProviderAction", "qaaLevel", null,
- "qaaLevel.code", "qaaLevel.message");
- }
-
- /**
- * Tests the {@link PEPSUtil#encodeSAMLToken(byte[])} method for the given
- * string value.
- */
- @Test
- public void testEncodeSAMLToken() {
- assertEquals(PEPSUtil.encodeSAMLToken(SAML_BYTE_SAMPLE), SAML_BASE64_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#encodeSAMLToken(byte[])} method for the given
- * null.
- */
- @Test(expected = NullPointerException.class)
- public void testEncodeSAMLTokenNull() {
- assertNotSame(PEPSUtil.encodeSAMLToken(null), SAML_BASE64_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#encodeSAMLToken(byte[])} method for the given
- * empty byte[] value.
- */
- @Test
- public void testEncodeSAMLTokenEmpty() {
- assertEquals(PEPSUtil.encodeSAMLToken(EMPTY_BYTE), EMPTY_STRING);
- }
-
- /**
- * Tests the {@link PEPSUtil#decodeSAMLToken(byte[])} method for the given
- * byte[] value.
- */
- @Test
- public void testDecodeSAMLToken() {
- assertArrayEquals(PEPSUtil.decodeSAMLToken(SAML_BASE64_SAMPLE),
- SAML_BYTE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#decodeSAMLToken(byte[])} method for the given
- * null value.
- */
- @Test(expected = NullPointerException.class)
- public void testDecodeSAMLTokenNull() {
- assertNotSame(PEPSUtil.decodeSAMLToken(null), SAML_BYTE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#decodeSAMLToken(byte[])} method for the given
- * empty string value.
- */
- @Test(expected = StringIndexOutOfBoundsException.class)
- public void testDecodeSAMLTokenEmpty() {
- assertTrue(PEPSUtil.decodeSAMLToken(EMPTY_STRING) == EMPTY_BYTE);
- }
-
- /**
- * Tests the {@link PEPSUtil#hashPersonalToken(byte[])} method for the given
- * byte[] value.
- */
- @Test
- public void testHashPersonalToken() {
- assertArrayEquals(PEPSUtil.hashPersonalToken(SAML_BASE64_BYTE_SAMPLE),
- HASH_BYTE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#hashPersonalToken(byte[])} method for the given
- * null value.
- */
- @Test(expected = InternalErrorPEPSException.class)
- public void testHashPersonalTokenNull() {
- assertNull(PEPSUtil.hashPersonalToken(null));
- }
-
- /**
- * Tests the {@link PEPSUtil#hashPersonalToken(byte[])} method for the given
- * empty value.
- */
- @Test
- public void testHashPersonalTokenEmpty() {
- assertArrayEquals(PEPSUtil.hashPersonalToken(EMPTY_BYTE), EMPTY_HASH_BYTE);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * correct message.
- */
- @Test
- public void testGetStorkErrorCodeExists() {
- assertEquals(PEPSUtil.getStorkErrorCode(MESSAGE_SAMPLE), ERROR_CODE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * invalid message.
- */
- @Test
- public void testGetStorkErrorCodeNoExists() {
- assertNull(PEPSUtil.getStorkErrorCode(ERROR_MESSAGE_SAMPLE));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * empty message.
- */
- @Test
- public void testGetStorkErrorCodeEmpty() {
- assertNull(PEPSUtil.getStorkErrorCode(EMPTY_STRING));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * null message.
- */
- @Test
- public void testGetStorkErrorCodeNull() {
- assertNull(PEPSUtil.getStorkErrorCode(null));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * invalid message.
- */
- @Test
- public void testGetStorkErrorCodeWithSepFake() {
- assertNull(PEPSUtil.getStorkErrorCode("-"));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
- * invalid message.
- */
- @Test
- public void testGetStorkErrorCodeWithSepAndCodeFake() {
- assertNull(PEPSUtil.getStorkErrorCode("000001 -"));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given correct message.
- */
- @Test
- public void testGetStorkErrorMessageExists() {
- assertEquals(PEPSUtil.getStorkErrorMessage(MESSAGE_SAMPLE),
- ERROR_MESSAGE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given invalid message.
- */
- @Test
- public void testGetStorkErrorMessageNoExists() {
- assertEquals(PEPSUtil.getStorkErrorMessage(ERROR_MESSAGE_SAMPLE),
- ERROR_MESSAGE_SAMPLE);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given empty message.
- */
- @Test
- public void testGetStorkErrorMessageEmpty() {
- assertEquals(PEPSUtil.getStorkErrorMessage(EMPTY_STRING),
- EMPTY_STRING);
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given null message.
- */
- @Test
- public void testGetStorkErrorMessageNull() {
- assertNull(PEPSUtil.getStorkErrorMessage(null));
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given invalid message.
- */
- @Test
- public void testGetStorkErrorMessageWithSepFake() {
- assertEquals(PEPSUtil.getStorkErrorMessage("-"),"-");
- }
-
- /**
- * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
- * given invalid message.
- */
- @Test
- public void testGetStorkErrorMessageWithSepAndCodeFake() {
- assertEquals(PEPSUtil.getStorkErrorMessage("000001 -"),"000001 -");
- }
-
+
+ /**
+ * Message example.
+ */
+ private static final String MESSAGE_SAMPLE = "003002 - Authentication Failed";
+
+ /**
+ * Error message example.
+ */
+ private static final String ERROR_MESSAGE_SAMPLE = "Authentication Failed";
+
+ /**
+ * Error code example.
+ */
+ private static final String ERROR_CODE_SAMPLE = "003002";
+
+ /**
+ * Properties values for testing proposes.
+ */
+ private static final Properties CONFIGS1 = new Properties();
+
+ /**
+ * Properties values for testing proposes.
+ */
+ private static final Properties CONFIGS2 = new Properties();
+
+ /**
+ * The empty string value: "".
+ */
+ private static final String EMPTY_STRING = "";
+
+ /**
+ * The empty byte value: [].
+ */
+ private static final byte[] EMPTY_BYTE = new byte[]{};
+
+ /**
+ * The empty byte hash value.
+ */
+ private static final byte[] EMPTY_HASH_BYTE = new byte[]{-49, -125, -31,
+ 53, 126, -17, -72, -67, -15, 84, 40, 80, -42, 109, -128, 7, -42, 32, -28,
+ 5, 11, 87, 21, -36, -125, -12, -87, 33, -45, 108, -23, -50, 71, -48, -47,
+ 60, 93, -123, -14, -80, -1, -125, 24, -46, -121, 126, -20, 47, 99, -71, 49,
+ -67, 71, 65, 122, -127, -91, 56, 50, 122, -7, 39, -38, 62};
+
+ /**
+ * The SAML example byte[] value.
+ */
+ private static final byte[] SAML_BYTE_SAMPLE = new byte[]{60, 115, 97, 109,
+ 108, 62, 46, 46, 46, 60, 47, 115, 97, 109, 108};
+
+ /**
+ * The SAML's Base64 example value.
+ */
+ private static final String SAML_BASE64_SAMPLE = "PHNhbWw+Li4uPC9zYW1s";
+
+ /**
+ * The SAML's Base64 byte[] example value.
+ */
+ private static byte[] SAML_BASE64_BYTE_SAMPLE = new byte[]{80, 72, 78, 104,
+ 98, 87, 119, 43, 76, 105, 52, 117, 80, 67, 57, 122, 89, 87, 49, 115};
+
+ /**
+ * The SAML's Base64 Hash byte[] example value.
+ */
+ private static byte[] HASH_BYTE_SAMPLE = new byte[]{67, 38, 11, 115, 49,
+ -5, 54, -85, 38, 43, -99, 96, 71, -41, 50, -96, 71, -86, 90, -97, 66, -67,
+ 90, 101, 30, 82, -13, 60, -106, -72, -103, -75, 19, 2, -107, 107, -6, -56,
+ 34, -111, -44, -57, -26, -5, 33, 78, -1, 30, 21, 74, -26, 118, -46, -12,
+ -102, 12, -56, 30, -59, -104, -21, -42, -103, 82};
+
+ /**
+ * Init PEPSUtilTestCase class.
+ */
+ @BeforeClass
+ public static void runsBeforeTheTestSuite() {
+
+ CONFIGS1.setProperty("max.attrList.size", "20000");
+ CONFIGS1.setProperty("attrList.code", "202005");
+ CONFIGS1.setProperty("attrList.message", "invalid.attrList.parameter");
+
+ CONFIGS1.setProperty("max.qaaLevel.size", "1");
+ CONFIGS1.setProperty("max.spUrl.size", "inv");
+ CONFIGS1.setProperty("validation.active", "true");
+ CONFIGS1.setProperty("hashDigest.className",
+ "org.bouncycastle.crypto.digests.SHA512Digest");
+ CONFIGS1.setProperty("invalidAgeDateValue.code", "35");
+ CONFIGS1.setProperty("invalidAttributeValue.code", "34");
+ CONFIGS1.setProperty("invalidAttributeValue.message",
+ "Unexpected or invalid content was encountered within a "
+ + "<saml:Attribute> or <saml:AttributeValue> element.");
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#createInstance(Properties)} method for the
+ * given properties object.
+ */
+ @Test
+ public void testCreateInstance() {
+ Assert.assertNotNull(PEPSUtil.createInstance(CONFIGS2));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getConfigs()}.
+ */
+ @Test
+ public void testGetConfigs() {
+ final PEPSUtil pepsUtils = PEPSUtil.createInstance(CONFIGS1);
+ assertEquals(pepsUtils.getConfigs(), CONFIGS1);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getConfigs()}.
+ */
+ @Test
+ public void testGetConfigsDifferent() {
+ final PEPSUtil pepsUtils = PEPSUtil.createInstance(CONFIGS1);
+ assertNotSame(pepsUtils.getConfigs(), CONFIGS2);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getConfig(String)} method for the given
+ * existing config.
+ */
+ @Test
+ public void testGetConfigExists() {
+ assertEquals(PEPSUtil.getConfig("hashDigest.className"),
+ "org.bouncycastle.crypto.digests.SHA512Digest");
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getConfig(String)} method for the given not
+ * existing config.
+ */
+ @Test
+ public void testGetConfigNoExists() {
+ assertNull(PEPSUtil.getConfig("doesnt.exists"));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getConfig(String)} method for the given null
+ * value.
+ */
+ @Test(expected = NullPointerException.class)
+ public void testGetConfigNull() {
+ assertNull(PEPSUtil.getConfig(null));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for
+ * the given param values.
+ */
+ @Test
+ public void testIsValidParameterExists() {
+ assertTrue(PEPSUtil.isValidParameter("qaaLevel", "1"));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for
+ * the given param values.
+ */
+ @Test
+ public void testIsValidParameterExistsGreat() {
+ assertFalse(PEPSUtil.isValidParameter("qaaLevel", "12"));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for
+ * the given param values.
+ */
+ @Test
+ public void testIsValidParameterExistsIvalidConf() {
+ assertFalse(PEPSUtil
+ .isValidParameter("spUrl", "http://localhost:8080/SP/"));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for
+ * the given param values.
+ */
+ @Test
+ public void testIsValidParameterNotExists() {
+ assertFalse(PEPSUtil.isValidParameter("doesntexists",
+ "http://localhost:8080/SP/"));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for
+ * the given param values.
+ */
+ @Test
+ public void testIsValidParameterNullParamName() {
+ assertFalse(PEPSUtil.isValidParameter(null, "http://localhost:8080/SP/"));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#isValidParameter(String, String)} method for
+ * the given param values.
+ */
+ @Test
+ public void testIsValidParameterNullParamValue() {
+ assertFalse(PEPSUtil.isValidParameter("spUrl", null));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#validateParameter(String, String, Object)}
+ * method for the given object values.
+ */
+ @Test
+ public void testValidateParameterValid() {
+ final IPersonalAttributeList persAttrList = new PersonalAttributeList();
+ persAttrList.populate("isAgeOver:true:[15,]:Available;");
+ PEPSUtil.validateParameter("ServiceProviderAction",
+ PEPSParameters.ATTRIBUTE_LIST.toString(), persAttrList);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#validateParameter(String, String, Object)}
+ * method for the given string values.
+ */
+ @Test(expected = InvalidParameterPEPSException.class)
+ public void testValidateParameterNull() {
+ PEPSUtil.validateParameter("ServiceProviderAction",
+ PEPSParameters.ATTRIBUTE_LIST.toString(), null);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#validateParameter(String, String, String)}
+ * method for the given string values.
+ *
+ * The tested class just invokes
+ * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
+ * so further tests will be later.
+ */
+ @Test
+ public void testValidateParameter() {
+ PEPSUtil.validateParameter("ServiceProviderAction",
+ PEPSParameters.ATTRIBUTE_LIST.toString(),
+ "isAgeOver:true:[15,]:Available;");
+ }
+
+ /**
+ * Tests the
+ * {@link PEPSUtil#validateParameter(String, String, String, PEPSErrors)}
+ * method for the given string value and {@link PEPSErrors} enum.
+ *
+ * The tested class just invokes
+ * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
+ * so further tests will be later.
+ */
+ @Test
+ public void testValidateParameterPEPSErrors() {
+ PEPSUtil.validateParameter("CountrySelectorAction",
+ PEPSParameters.ATTRIBUTE_LIST.toString(),
+ "isAgeOver:true:[15,]:Available;",
+ PEPSErrors.SP_COUNTRY_SELECTOR_INVALID_ATTR);
+ }
+
+ /**
+ * Tests the
+ * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
+ * method for the given string values.
+ */
+ @Test
+ public void testValidateParameterValidParams() {
+ PEPSUtil.validateParameter("ServiceProviderAction", "qaaLevel", "1",
+ "qaaLevel.code", "qaaLevel.message");
+ }
+
+ /**
+ * Tests the
+ * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
+ * method for the given string values.
+ */
+ @Test(expected = InvalidParameterPEPSException.class)
+ public void testValidateParameterInvalidParamValue() {
+ PEPSUtil.validateParameter("ServiceProviderAction", "qaaLevel", "10",
+ "qaaLevel.code", "qaaLevel.message");
+ }
+
+ /**
+ * Tests the
+ * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
+ * method for the given string values.
+ */
+ @Test(expected = InvalidParameterPEPSException.class)
+ public void testValidateParameterInvalidParamName() {
+ PEPSUtil.validateParameter("ServiceProviderAction", "doesnt.exists", "1",
+ "qaaLevel.code", "qaaLevel.message");
+ }
+
+ /**
+ * Tests the
+ * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
+ * method for the given string values.
+ */
+ @Test(expected = InvalidParameterPEPSException.class)
+ public void testValidateParameterNullParamName() {
+ PEPSUtil.validateParameter("ServiceProviderAction", null, "1",
+ "qaaLevel.code", "qaaLevel.message");
+ }
+
+ /**
+ * Tests the
+ * {@link PEPSUtil#validateParameter(String, String, String, String, String)}
+ * method for the given string values.
+ */
+ @Test(expected = InvalidParameterPEPSException.class)
+ public void testValidateParameterNullParamValue() {
+ PEPSUtil.validateParameter("ServiceProviderAction", "qaaLevel", null,
+ "qaaLevel.code", "qaaLevel.message");
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#encodeSAMLToken(byte[])} method for the given
+ * string value.
+ */
+ @Test
+ public void testEncodeSAMLToken() {
+ assertEquals(PEPSUtil.encodeSAMLToken(SAML_BYTE_SAMPLE), SAML_BASE64_SAMPLE);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#encodeSAMLToken(byte[])} method for the given
+ * null.
+ */
+ @Test(expected = NullPointerException.class)
+ public void testEncodeSAMLTokenNull() {
+ assertNotSame(PEPSUtil.encodeSAMLToken(null), SAML_BASE64_SAMPLE);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#encodeSAMLToken(byte[])} method for the given
+ * empty byte[] value.
+ */
+ @Test
+ public void testEncodeSAMLTokenEmpty() {
+ assertEquals(PEPSUtil.encodeSAMLToken(EMPTY_BYTE), EMPTY_STRING);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#decodeSAMLToken(byte[])} method for the given
+ * byte[] value.
+ */
+ @Test
+ public void testDecodeSAMLToken() {
+ assertArrayEquals(PEPSUtil.decodeSAMLToken(SAML_BASE64_SAMPLE),
+ SAML_BYTE_SAMPLE);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#decodeSAMLToken(byte[])} method for the given
+ * null value.
+ */
+ @Test(expected = NullPointerException.class)
+ public void testDecodeSAMLTokenNull() {
+ assertNotSame(PEPSUtil.decodeSAMLToken(null), SAML_BYTE_SAMPLE);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#decodeSAMLToken(byte[])} method for the given
+ * empty string value.
+ */
+ @Test(expected = StringIndexOutOfBoundsException.class)
+ public void testDecodeSAMLTokenEmpty() {
+ assertTrue(PEPSUtil.decodeSAMLToken(EMPTY_STRING) == EMPTY_BYTE);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#hashPersonalToken(byte[])} method for the given
+ * byte[] value.
+ */
+ @Test
+ public void testHashPersonalToken() {
+ assertArrayEquals(PEPSUtil.hashPersonalToken(SAML_BASE64_BYTE_SAMPLE),
+ HASH_BYTE_SAMPLE);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#hashPersonalToken(byte[])} method for the given
+ * null value.
+ */
+ @Test(expected = InternalErrorPEPSException.class)
+ public void testHashPersonalTokenNull() {
+ assertNull(PEPSUtil.hashPersonalToken(null));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#hashPersonalToken(byte[])} method for the given
+ * empty value.
+ */
+ @Test
+ public void testHashPersonalTokenEmpty() {
+ assertArrayEquals(PEPSUtil.hashPersonalToken(EMPTY_BYTE), EMPTY_HASH_BYTE);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
+ * correct message.
+ */
+ @Test
+ public void testGetStorkErrorCodeExists() {
+ assertEquals(PEPSUtil.getStorkErrorCode(MESSAGE_SAMPLE), ERROR_CODE_SAMPLE);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
+ * invalid message.
+ */
+ @Test
+ public void testGetStorkErrorCodeNoExists() {
+ assertNull(PEPSUtil.getStorkErrorCode(ERROR_MESSAGE_SAMPLE));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
+ * empty message.
+ */
+ @Test
+ public void testGetStorkErrorCodeEmpty() {
+ assertNull(PEPSUtil.getStorkErrorCode(EMPTY_STRING));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
+ * null message.
+ */
+ @Test
+ public void testGetStorkErrorCodeNull() {
+ assertNull(PEPSUtil.getStorkErrorCode(null));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
+ * invalid message.
+ */
+ @Test
+ public void testGetStorkErrorCodeWithSepFake() {
+ assertNull(PEPSUtil.getStorkErrorCode("-"));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getStorkErrorCode(String)} method for the given
+ * invalid message.
+ */
+ @Test
+ public void testGetStorkErrorCodeWithSepAndCodeFake() {
+ assertNull(PEPSUtil.getStorkErrorCode("000001 -"));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
+ * given correct message.
+ */
+ @Test
+ public void testGetStorkErrorMessageExists() {
+ assertEquals(PEPSUtil.getStorkErrorMessage(MESSAGE_SAMPLE),
+ ERROR_MESSAGE_SAMPLE);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
+ * given invalid message.
+ */
+ @Test
+ public void testGetStorkErrorMessageNoExists() {
+ assertEquals(PEPSUtil.getStorkErrorMessage(ERROR_MESSAGE_SAMPLE),
+ ERROR_MESSAGE_SAMPLE);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
+ * given empty message.
+ */
+ @Test
+ public void testGetStorkErrorMessageEmpty() {
+ assertEquals(PEPSUtil.getStorkErrorMessage(EMPTY_STRING),
+ EMPTY_STRING);
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
+ * given null message.
+ */
+ @Test
+ public void testGetStorkErrorMessageNull() {
+ assertNull(PEPSUtil.getStorkErrorMessage(null));
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
+ * given invalid message.
+ */
+ @Test
+ public void testGetStorkErrorMessageWithSepFake() {
+ assertEquals(PEPSUtil.getStorkErrorMessage("-"), "-");
+ }
+
+ /**
+ * Tests the {@link PEPSUtil#getStorkErrorMessage(String)} method for the
+ * given invalid message.
+ */
+ @Test
+ public void testGetStorkErrorMessageWithSepAndCodeFake() {
+ assertEquals(PEPSUtil.getStorkErrorMessage("000001 -"), "000001 -");
+ }
+
}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PersonalAttributeListTestCase.java b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PersonalAttributeListTestCase.java
index 7052b320a..7800e78b5 100644
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PersonalAttributeListTestCase.java
+++ b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PersonalAttributeListTestCase.java
@@ -22,726 +22,756 @@ import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
+import eu.stork.peps.auth.commons.IPersonalAttributeList;
import eu.stork.peps.auth.commons.PersonalAttribute;
import eu.stork.peps.auth.commons.PersonalAttributeList;
import eu.stork.peps.auth.commons.STORKStatusCode;
/**
* The PersonalAttributeList's Test Case.
- *
+ *
* @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
+ * paulo.ribeiro@multicert.com
* @version $Revision: 1.5 $, $Date: 2010-11-17 05:17:02 $
*/
public final class PersonalAttributeListTestCase {
-
- /**
- * isAgeOver constant value.
- */
- private static final String ISAGEOVER_CONS = "isAgeOver";
-
- /**
- * 1 constant value.
- */
- private static final int ONE_CONS = 1;
-
- /**
- * 2 constant value.
- */
- private static final int TWO_CONS = 2;
-
- /**
- * An empty attribute.
- */
- @SuppressWarnings("unused")
- private static final PersonalAttributeList EMPTY_ATTR_LIST =
- new PersonalAttributeList(0);
-
- /**
- * An attribute with a complex value (canonicalResidenceAddress).
- */
- private static PersonalAttribute complexAttrValue = null;
-
- /**
- * Simple attribute value list string.
- */
- private static final String SIMPLE_ATTRLIST =
- "isAgeOver:true:[15,]:Available;";
-
- /**
- * Simple attribute value list string.
- */
- private static final String SIMPLE_ATTRLIST2 =
- "isAgeOver:true:[18,]:Available;";
-
- /**
- * Simple attribute value list string.
- */
- private static final String SIMPLE_ATTRLIST3 =
- "isAgeOver:true:[15,]:Available;isAgeOver:true:[18,]:Available;";
-
- /**
- * Simple attribute value list string.
- */
- private static final String SIMPLE_ATTRLIST3_REVERSE =
- "isAgeOver:true:[18,]:Available;isAgeOver:true:[15,]:Available;";
- /**
- * Simple attribute value list string.
- */
- private static final String COMPLEX_ATTRLIST =
- "canonicalResidenceAddress:true:[postalCode=4100,apartmentNumber=Ed. B,"
- + "state=Porto,countryCodeAddress=PT,streetNumber=379,"
- + "streetName=Avenida Sidonio Pais,town=Porto,]:Available;";
- /**
- * Mix attribute list string.
- */
- private static final String STR_MIX_ATTR_LIST =
- "isAgeOver:true:[15,]:Available;canonicalResidenceAddress:true:["
- + "postalCode=4100,apartmentNumber=Ed.B,state=Porto,countryCodeAddress=PT,"
- + "streetNumber=379,streetName=Avenida Sidonio Pais,town=Porto,]:"
- + "Available;";
-
- /**
- * Mix attribute list 2 string.
- */
- private static final String STR_MIX_ATTR_LIST2 =
- "isAgeOver:true:[15,]:Available;canonicalResidenceAddress:true:["
- + "postalCode=4100,apartmentNumber=Ed.B,state=Porto,countryCodeAddress=PT,"
- + "streetNumber=379,streetName=Avenida Sidonio Pais,town=Porto,]:Available;"
- + "mandateContent:true:["
- + "isJoint=\"isjoint\",typeOfPower=\"power\",ValidTo=\"validto\",validfrom=\"validfrom\",AQAA=\"3\",isChained=\"ischained\",]:"
- + "Available;";
-
- /**
- * Attribute List example.
- */
- @SuppressWarnings({ "serial" })
- private static final PersonalAttribute ATTR_VALUE = new PersonalAttribute(
- "age", true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- /**
- * Init PersonalAttributeListTestCase class.
- */
- @SuppressWarnings("serial")
- @BeforeClass
- public static void runsBeforeTheTestSuite() {
- final Map<String, String> values = new HashMap<String, String>() {
- {
- put("countryCodeAddress", "PT");
- put("state", "Porto");
- put("town", "Porto");
- put("postalCode", "4100");
- put("streetName", "Avenida Sidonio Pais");
- put("streetNumber", "379");
- put("apartmentNumber", "Ed. B");
- }
- };
-
- complexAttrValue =
- new PersonalAttribute("canonicalResidenceAddress", true, values,
- STORKStatusCode.STATUS_AVAILABLE.toString());
-
- }
-
- /**
- * Testing Personal Attribute List add method. Personal Attribute list must be
- * size 1 - Simple attribute.
- */
- @Test
- public void testAddSimpleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(ATTR_VALUE);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List add method. Personal Attribute list must be
- * size 1 - Complex attribute.
- */
- @Test
- public void testAddCompleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(complexAttrValue);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List add method. Personal Attribute list must be
- * size 0 - no attribute.
- */
- @Test
- public void testAddNull() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(null);
- Assert.assertTrue(attrList.size() == 0);
- }
-
- /**
- * Testing Personal Attribute List add method. Same attribute name added
- * twice. Personal Attribute list must be size 2 - IsAgeOver attribute added
- * twice.
- */
- @SuppressWarnings("serial")
- @Test
- public void testAddSameAttrName() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List add method. Same attribute name added
- * twice. Personal Attribute list must be size 2 - IsAgeOver attribute added
- * twice.
- */
- @SuppressWarnings("serial")
- @Test
- public void testAddSameAttrNameEmpty() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 1 - Simple Value.
- */
- @Test
- public void testPutSimpleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(ATTR_VALUE.getName(), ATTR_VALUE);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 1 - Complex Value.
- */
- @Test
- public void testPutComplexAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(ATTR_VALUE.getName(), complexAttrValue);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 0 - no attribute.
- */
- @Test
- public void testPutNull() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put("", null);
- Assert.assertTrue(attrList.size() == 0);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 2 - IsAgeOver attribute added twice.
- */
- @SuppressWarnings("serial")
- @Test
- public void testPutSameAttrName() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(attrValueUnder.getName(), attrValueUnder);
- attrList.put(attrValueOver.getName(), attrValueOver);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List put method. Personal Attribute list must be
- * size 2 - IsAgeOver attribute added twice.
- */
- @SuppressWarnings("serial")
- @Test
- public void testPutSameAttrNameEmpty() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(attrValueUnder.getName(), attrValueUnder);
- attrList.put(attrValueOver.getName(), attrValueOver);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List get method. Personal Attribute list must be
- * size 1 - Simple attribute.
- */
- @Test
- public void testGetSimpleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(ATTR_VALUE);
- Assert.assertEquals(ATTR_VALUE, attrList.get(ATTR_VALUE.getName()));
- }
-
- /**
- * Testing Personal Attribute List add method. Personal Attribute list must be
- * size 1 - Complex attribute.
- */
- @Test
- public void testGetCompleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(complexAttrValue);
- Assert.assertEquals(complexAttrValue.toString(),
- attrList.get(complexAttrValue.getName()).toString());
- }
-
- /**
- * Testing Personal Attribute List get method. Personal Attribute list must be
- * size 2 - IsAgeOver attribute.
- */
- @SuppressWarnings("serial")
- @Test
- public void testGetIsAgeOverAttr() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertEquals(SIMPLE_ATTRLIST,
- attrList.get(attrValueUnder.getName()).toString());
- Assert.assertEquals(SIMPLE_ATTRLIST2,
- attrList.get(attrValueOver.getName()).toString());
- }
-
- /**
- * Testing Personal Attribute List populate method. Personal Attribute list
- * must be size 1 - Simple attribute.
- */
- @Test
- public void testPopulateSimpleAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(SIMPLE_ATTRLIST);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List populate method. Personal Attribute list
- * must be size 1 - Complex attribute.
- */
- @Test
- public void testPopulateComplexAttr() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(COMPLEX_ATTRLIST);
- Assert.assertTrue(attrList.size() == 1);
- }
-
- /**
- * Testing Personal Attribute List populate method. Personal Attribute list
- * must be size 1 - Simple and Complex attribute.
- */
- @Test
- public void testPopulateMixAttrs() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(STR_MIX_ATTR_LIST);
- Assert.assertTrue(attrList.size() == 2);
- }
-
- /**
- * Testing Personal Attribute List toString method using add.
- */
- @SuppressWarnings("serial")
- @Test
- public void testToStringFromAdd() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertEquals(SIMPLE_ATTRLIST3_REVERSE, attrList.toString());
- }
-
- /**
- * Testing Personal Attribute List toString method using put.
- *
- */
- @SuppressWarnings("serial")
- @Test
- public void testToStringFromPut() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(attrValueUnder.getName(), attrValueUnder);
- attrList.put(attrValueOver.getName(), attrValueOver);
- Assert.assertEquals(SIMPLE_ATTRLIST3_REVERSE, attrList.toString());
- }
-
- /**
- * Testing Personal Attribute List toString method using populate.
- */
- @Test
- public void testToStringFromSimplePopulate() {
- final String strAttrList = "isAgeOver:true";
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(strAttrList);
- Assert.assertEquals("isAgeOver:true:[]:;", attrList.toString());
- }
-
- /**
- * Testing Personal Attribute List toString method using populate.
- */
- @Test
- public void testToStringFromPopulate() {
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.populate(SIMPLE_ATTRLIST3);
- Assert.assertEquals(SIMPLE_ATTRLIST3_REVERSE, attrList.toString());
- }
-
- /**
- * Testing Personal Attribute List populate method, with invalid values.
- */
- @Test
- public void testPopulateWithInvalidValuesFormat() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate("name:type:values:status;");
- Assert.assertEquals(pal, new PersonalAttributeList());
- }
-
- /**
- * Testing Personal Attribute List populate method, with invalid format.
- */
- @Test
- public void testPopulateWithInvalidFormat() {
-
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate("name:type::status;");
- Assert.assertEquals(pal, new PersonalAttributeList());
- }
-
- /**
- * Testing Personal Attribute List clone method using add.
- */
- @SuppressWarnings("serial")
- @Test
- public void testCloneFromAdd() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.add(attrValueUnder);
- attrList.add(attrValueOver);
- Assert.assertNotSame(attrList, attrList.clone());
- }
-
- /**
- * Testing Personal Attribute List clone method using put.
- */
- @SuppressWarnings("serial")
- @Test
- public void testCloneFromPut() {
- final PersonalAttribute attrValueUnder =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ /**
+ * isAgeOver constant value.
+ */
+ private static final String ISAGEOVER_CONS = "isAgeOver";
+
+ /**
+ * 1 constant value.
+ */
+ private static final int ONE_CONS = 1;
+
+ /**
+ * 2 constant value.
+ */
+ private static final int TWO_CONS = 2;
+
+ /**
+ * An empty attribute.
+ */
+ @SuppressWarnings("unused")
+ private static final IPersonalAttributeList EMPTY_ATTR_LIST
+ = new PersonalAttributeList(0);
+
+ /**
+ * An attribute with a complex value (canonicalResidenceAddress).
+ */
+ private static PersonalAttribute complexAttrValue = null;
+
+ /**
+ * Simple attribute value list string.
+ */
+ private static final String SIMPLE_ATTRLIST
+ = "isAgeOver:true:[15]:Available;";
+
+ /**
+ * Simple attribute value list string.
+ */
+ private static final String SIMPLE_ATTRLIST2
+ = "isAgeOver:true:[18]:Available;";
+
+ /**
+ * Simple attribute value list string.
+ */
+ private static final String SIMPLE_ATTRLIST3
+ = "isAgeOver:true:[15]:Available;isAgeOver:true:[18]:Available;";
- final PersonalAttribute attrValueOver =
- new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
- {
- add("18");
+ /**
+ * Simple attribute value list string.
+ */
+ private static final String SIMPLE_ATTRLIST4
+ = "isAgeOver:true:[15,18]:Available;";
+
+ /**
+ * Simple attribute value list string.
+ */
+ private static final String SIMPLE_ATTRLIST3_REVERSE
+ = "isAgeOver:true:[18]:Available;isAgeOver:true:[15]:Available;";
+ /**
+ * Simple attribute value list string.
+ */
+ private static final String COMPLEX_ATTRLIST
+ = "canonicalResidenceAddress:true:[postalCode=4100,apartmentNumber=Ed. B,"
+ + "state=Porto,countryCodeAddress=PT,streetNumber=379,"
+ + "streetName=Avenida Sidonio Pais,town=Porto]:Available;";
+ /**
+ * Mix attribute list string.
+ */
+ private static final String STR_MIX_ATTR_LIST
+ = "isAgeOver:true:[15]:Available;canonicalResidenceAddress:true:["
+ + "postalCode=4100,apartmentNumber=Ed.B,state=Porto,countryCodeAddress=PT,"
+ + "streetNumber=379,streetName=Avenida Sidonio Pais,town=Porto]:"
+ + "Available;";
+
+ /**
+ * Mix attribute list 2 string.
+ */
+ private static final String STR_MIX_ATTR_LIST2
+ = "isAgeOver:true:[15]:Available;canonicalResidenceAddress:true:["
+ + "postalCode=4100,apartmentNumber=Ed.B,state=Porto,countryCodeAddress=PT,"
+ + "streetNumber=379,streetName=Avenida Sidonio Pais,town=Porto]:Available;"
+ + "mandateContent:true:["
+ + "isJoint=\"isjoint\",typeOfPower=\"power\",ValidTo=\"validto\",validfrom=\"validfrom\",AQAA=\"3\",isChained=\"ischained\",]:"
+ + "Available;";
+
+ /**
+ * Attribute List example.
+ */
+ @SuppressWarnings({"serial"})
+ private static final PersonalAttribute ATTR_VALUE = new PersonalAttribute(
+ "age", true, new ArrayList<String>() {
+ {
+ add("15");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ /**
+ * Init PersonalAttributeListTestCase class.
+ */
+ @SuppressWarnings("serial")
+ @BeforeClass
+ public static void runsBeforeTheTestSuite() {
+ final Map<String, String> values = new HashMap<String, String>() {
+ {
+ put("countryCodeAddress", "PT");
+ put("state", "Porto");
+ put("town", "Porto");
+ put("postalCode", "4100");
+ put("streetName", "Avenida Sidonio Pais");
+ put("streetNumber", "379");
+ put("apartmentNumber", "Ed. B");
+ }
+ };
+
+ complexAttrValue
+ = new PersonalAttribute("canonicalResidenceAddress", true, values,
+ STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ }
+
+ /**
+ * Testing Personal Attribute List add method. Personal Attribute list must
+ * be size 1 - Simple attribute.
+ */
+ @Test
+ public void testAddSimpleAttr() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.add(ATTR_VALUE);
+ Assert.assertTrue(attrList.size() == 1);
+ }
+
+ /**
+ * Testing Personal Attribute List add method. Personal Attribute list must
+ * be size 1 - Complex attribute.
+ */
+ @Test
+ public void testAddCompleAttr() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.add(complexAttrValue);
+ Assert.assertTrue(attrList.size() == 1);
+ }
+
+ /**
+ * Testing Personal Attribute List add method. Personal Attribute list must
+ * be size 0 - no attribute.
+ */
+ @Test
+ public void testAddNull() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.add(null);
+ Assert.assertTrue(attrList.size() == 0);
+ }
+
+ /**
+ * Testing Personal Attribute List add method. Same attribute name added
+ * twice. Personal Attribute list must be size 2 - IsAgeOver attribute added
+ * twice.
+ */
+ @SuppressWarnings("serial")
+ @Test
+ public void testAddSameAttrName() {
+ final PersonalAttribute attrValueUnder
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("15");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ final PersonalAttribute attrValueOver
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("18");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.add(attrValueUnder);
+ attrList.add(attrValueOver);
+ System.out.println();
+ Assert.assertTrue(attrList.get(attrValueOver.getName()).getValue().size() == 2);
+ }
+
+ /**
+ * Testing Personal Attribute List add method. Same attribute name added
+ * twice. Personal Attribute list must be size 2 - IsAgeOver attribute added
+ * twice.
+ */
+ @SuppressWarnings("serial")
+ @Test
+ public void testAddSameAttrNameEmpty() {
+ final PersonalAttribute attrValueUnder
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("15");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ final PersonalAttribute attrValueOver
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.add(attrValueUnder);
+ attrList.add(attrValueOver);
+ Assert.assertTrue(attrList.size() == 1);
+ Assert.assertTrue(attrList.get(attrValueOver.getName()).getValue().size() == 2);
+ }
+
+ /**
+ * Testing Personal Attribute List put method. Personal Attribute list must
+ * be size 1 - Simple Value.
+ */
+ @Test
+ public void testPutSimpleAttr() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.put(ATTR_VALUE.getName(), ATTR_VALUE);
+ Assert.assertTrue(attrList.size() == 1);
+ }
+
+ /**
+ * Testing Personal Attribute List put method. Personal Attribute list must
+ * be size 1 - Complex Value.
+ */
+ @Test
+ public void testPutComplexAttr() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.put(ATTR_VALUE.getName(), complexAttrValue);
+ Assert.assertTrue(attrList.size() == 1);
+ }
+
+ /**
+ * Testing Personal Attribute List put method. Personal Attribute list must
+ * be size 0 - no attribute.
+ */
+ @Test(expected = NullPointerException.class)
+ public void testPutNull() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.put("", null);
+ Assert.assertTrue(attrList.size() == 0);
+ }
+
+ /**
+ * Testing Personal Attribute List put method. Personal Attribute list must
+ * be size 2 - IsAgeOver attribute added twice.
+ */
+ @SuppressWarnings("serial")
+ @Test
+ public void testPutSameAttrName() {
+ final PersonalAttribute attrValueUnder
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("15");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ final PersonalAttribute attrValueOver
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("18");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.put(attrValueUnder.getName(), attrValueUnder);
+ attrList.put(attrValueOver.getName(), attrValueOver);
+ Assert.assertTrue(attrList.size() == 1);
+ Assert.assertTrue(attrList.get(attrValueOver.getName()).getValue().size() == 2);
+ }
+
+ /**
+ * Testing Personal Attribute List put method. Personal Attribute list must
+ * be size 2 - IsAgeOver attribute added twice.
+ */
+ @SuppressWarnings("serial")
+ @Test
+ public void testPutSameAttrNameEmpty() {
+ final PersonalAttribute attrValueUnder
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("15");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ final PersonalAttribute attrValueOver
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.put(attrValueUnder.getName(), attrValueUnder);
+ attrList.put(attrValueOver.getName(), attrValueOver);
+ Assert.assertTrue(attrList.size() == 1);
+ Assert.assertTrue(attrList.get(attrValueOver.getName()).getValue().size() == 2);
+ }
+
+ /**
+ * Testing Personal Attribute List get method. Personal Attribute list must
+ * be size 1 - Simple attribute.
+ */
+ @Test
+ public void testGetSimpleAttr() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.add(ATTR_VALUE);
+ Assert.assertEquals(ATTR_VALUE, attrList.get(ATTR_VALUE.getName()));
+ }
+
+ /**
+ * Testing Personal Attribute List add method. Personal Attribute list must
+ * be size 1 - Complex attribute.
+ */
+ @Test
+ public void testGetCompleAttr() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.add(complexAttrValue);
+ Assert.assertEquals(complexAttrValue.toString(),
+ attrList.get(complexAttrValue.getName()).toString());
+ }
+
+ /**
+ * Testing Personal Attribute List get method. Personal Attribute list must
+ * be size 2 - IsAgeOver attribute.
+ */
+ @SuppressWarnings("serial")
+ @Test
+ public void testGetIsAgeOverAttr() {
+ final PersonalAttribute attrValueUnder
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("15");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ final PersonalAttribute attrValueOver
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("18");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.add(attrValueUnder);
+ attrList.add(attrValueOver);
+ Assert.assertNotEquals(SIMPLE_ATTRLIST,
+ attrList.get(attrValueUnder.getName()).toString());
+ Assert.assertNotEquals(SIMPLE_ATTRLIST2,
+ attrList.get(attrValueOver.getName()).toString());
+ Assert.assertEquals(SIMPLE_ATTRLIST4,
+ attrList.get(attrValueOver.getName()).toString());
+ }
+
+ /**
+ * Testing Personal Attribute List populate method. Personal Attribute list
+ * must be size 1 - Simple attribute.
+ */
+ @Test
+ public void testPopulateSimpleAttr() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.populate(SIMPLE_ATTRLIST);
+ Assert.assertTrue(attrList.size() == 1);
+ }
+
+ /**
+ * Testing Personal Attribute List populate method. Personal Attribute list
+ * must be size 1 - Complex attribute.
+ */
+ @Test
+ public void testPopulateComplexAttr() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.populate(COMPLEX_ATTRLIST);
+ Assert.assertTrue(attrList.size() == 1);
+ }
+
+ /**
+ * Testing Personal Attribute List populate method. Personal Attribute list
+ * must be size 1 - Simple and Complex attribute.
+ */
+ @Test
+ public void testPopulateMixAttrs() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.populate(STR_MIX_ATTR_LIST);
+ Assert.assertTrue(attrList.size() == 2);
+ //Assert.assertTrue(attrList.get(attrValueOver.getName()).getValue().size() == 2);
+ }
+
+ /**
+ * Testing Personal Attribute List toString method using add.
+ */
+ @SuppressWarnings("serial")
+ @Test
+ public void testToStringFromAdd() {
+ final PersonalAttribute attrValueUnder
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("15");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ final PersonalAttribute attrValueOver
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("18");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.add(attrValueUnder);
+ attrList.add(attrValueOver);
+ Assert.assertEquals(SIMPLE_ATTRLIST4, attrList.toString());
+ }
+
+ /**
+ * Testing Personal Attribute List toString method using put.
+ *
+ */
+ @SuppressWarnings("serial")
+ @Test
+ public void testToStringFromPut() {
+ final PersonalAttribute attrValueUnder
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("15");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ final PersonalAttribute attrValueOver
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("18");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.put(attrValueUnder.getName(), attrValueUnder);
+ attrList.put(attrValueOver.getName(), attrValueOver);
+ Assert.assertEquals(SIMPLE_ATTRLIST4, attrList.toString());
+ }
+
+ /**
+ * Testing Personal Attribute List toString method using populate.
+ */
+ @Test
+ public void testToStringFromSimplePopulate() {
+ final String strAttrList = "isAgeOver:true";
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.populate(strAttrList);
+ Assert.assertEquals("isAgeOver:true:[]:;", attrList.toString());
+ }
+
+ /**
+ * Testing Personal Attribute List toString method using populate.
+ */
+ @Test
+ public void testToStringFromPopulate() {
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.populate(SIMPLE_ATTRLIST3);
+ Assert.assertEquals(SIMPLE_ATTRLIST4, attrList.toString());
+ }
+
+ /**
+ * Testing Personal Attribute List populate method, with invalid values.
+ */
+ @Test
+ public void testPopulateWithInvalidValuesFormat() {
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate("name:type:values:status;");
+ Assert.assertEquals(pal, new PersonalAttributeList());
+ }
+
+ /**
+ * Testing Personal Attribute List populate method, with invalid format.
+ */
+ @Test
+ public void testPopulateWithInvalidFormat() {
+
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate("name:type::status;");
+ Assert.assertEquals(pal, new PersonalAttributeList());
+ }
+
+ /**
+ * Testing Personal Attribute List clone method using add.
+ */
+ @SuppressWarnings("serial")
+ @Test
+ public void testCloneFromAdd() {
+ final PersonalAttribute attrValueUnder
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("15");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ final PersonalAttribute attrValueOver
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("18");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.add(attrValueUnder);
+ attrList.add(attrValueOver);
+ Assert.assertNotSame(attrList, attrList.clone());
+ }
+
+ /**
+ * Testing Personal Attribute List clone method using put.
+ */
+ @SuppressWarnings("serial")
+ @Test
+ public void testCloneFromPut() {
+ final PersonalAttribute attrValueUnder
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("15");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ final PersonalAttribute attrValueOver
+ = new PersonalAttribute(ISAGEOVER_CONS, true, new ArrayList<String>() {
+ {
+ add("18");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+ final IPersonalAttributeList attrList = new PersonalAttributeList(1);
+ attrList.put(attrValueUnder.getName(), attrValueUnder);
+ attrList.put(attrValueOver.getName(), attrValueOver);
+ Assert.assertNotSame(attrList, attrList.clone());
+ }
+
+ /**
+ * Testing Personal Attribute List clone method using populate.
+ */
+ @Test
+ public void testCloneFromPopulate() {
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(SIMPLE_ATTRLIST3);
+ Assert.assertNotSame(pal, pal.clone());
+ }
+
+ /**
+ * Testing Personal Attribute List iterator.
+ */
+ @Test
+ public void testIterator() {
+ final String strAttrList
+ = "isAgeOver:true:[15,]:Available;isAgeOver:true:[18,]:Available;";
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(strAttrList);
+ final Iterator<PersonalAttribute> itAttr = pal.iterator();
+ while (itAttr.hasNext()) {
+ final PersonalAttribute attr = itAttr.next();
+ Assert.assertEquals(ISAGEOVER_CONS, attr.getName());
}
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
- final PersonalAttributeList attrList = new PersonalAttributeList(1);
- attrList.put(attrValueUnder.getName(), attrValueUnder);
- attrList.put(attrValueOver.getName(), attrValueOver);
- Assert.assertNotSame(attrList, attrList.clone());
- }
-
- /**
- * Testing Personal Attribute List clone method using populate.
- */
- @Test
- public void testCloneFromPopulate() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(SIMPLE_ATTRLIST3);
- Assert.assertNotSame(pal, pal.clone());
- }
-
- /**
- * Testing Personal Attribute List iterator.
- */
- @Test
- public void testIterator() {
- final String strAttrList =
- "isAgeOver:true:[15,]:Available;isAgeOver:true:[18,]:Available;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- final Iterator<PersonalAttribute> itAttr = pal.iterator();
- while (itAttr.hasNext()) {
- final PersonalAttribute attr = itAttr.next();
- Assert.assertEquals(ISAGEOVER_CONS, attr.getName());
- }
- }
-
- /**
- * Testing Personal Attribute List's GetOptionalAttributes method with empty attribute list.
- */
- @Test
- public void testGetOptionalAttributesWithEmptyList() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- Assert.assertTrue(pal.getOptionalAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's GetOptionalAttributes method without optional attributes.
- */
- @Test
- public void testGetOptionalAttributesWithoutOptional() {
- final String strAttrList =
- "isAgeOver:true:[15,]:Available;isAgeOver:true:[18,]:Available;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getOptionalAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's GetOptionalAttributes method with one optional attribute.
- */
- @Test
- public void testGetOptionalAttributesWithOneOptional() {
- final String strAttrList =
- "age:false:[]:;isAgeOver:true:[15,]:;isAgeOver:true:[18,]:;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getOptionalAttributes().size() == ONE_CONS);
- }
-
- /**
- * Testing Personal Attribute List's GetOptionalAttributes method with two optional attribute.
- */
- @Test
- public void testGetOptionalAttributesWithOnlyOptional() {
- final String strAttrList =
- "age:false:[]:;isAgeOver:false:[18,]:;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getOptionalAttributes().size() == TWO_CONS);
- }
-
- /**
- * Testing Personal Attribute List's getMandatoryAttributes method with empty attribute list.
- */
- @Test
- public void testGetMandatoryAttributesWithEmptyList() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- Assert.assertTrue(pal.getMandatoryAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getMandatoryAttributes method without mandatory attributes.
- */
- @Test
- public void testGetMandatoryAttributesWithoutMandatory() {
- final String strAttrList =
- "isAgeOver:false:[15,]:Available;isAgeOver:false:[18,]:Available;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getMandatoryAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's GetMandatoryAttributes method with one mandatory attribute.
- */
- @Test
- public void testGetMandatoryAttributesWithOneMandatory() {
- final String strAttrList =
- "age:true:[]:;isAgeOver:false:[15,]:;isAgeOver:false:[18,]:;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getMandatoryAttributes().size() == ONE_CONS);
- }
-
- /**
- * Testing Personal Attribute List's GetMandatoryAttributes method with two mandatory attribute.
- */
- @Test
- public void testGetMandatoryAttributesWithOnlyMandatory() {
- final String strAttrList =
- "age:true:[]:;isAgeOver:true:[18,]:;";
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(strAttrList);
- Assert.assertTrue(pal.getMandatoryAttributes().size() == TWO_CONS);
- }
-
- /**
- * Testing Personal Attribute List's getSimpleValueAttributes method with empty attribute list.
- */
- @Test
- public void testGetSimpleValueAttributesWithEmptyList() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- Assert.assertTrue(pal.getSimpleValueAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getSimpleValueAttributes() method without simple attributes.
- */
- @Test
- public void testGetSimpleValueAttributesWithoutSimple() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(COMPLEX_ATTRLIST);
- Assert.assertTrue(pal.getSimpleValueAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getSimpleValueAttributes() method with one simple attribute.
- */
- @Test
- public void testGetSimpleValueAttributesWithOneSimple() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(STR_MIX_ATTR_LIST);
- Assert.assertTrue(pal.getSimpleValueAttributes().size() == ONE_CONS);
- }
-
- /**
- * Testing Personal Attribute List's GetMandatoryAttributes method with two simple attribute.
- */
- @Test
- public void testGetSimpleValueAttributesWithOnlySimple() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(SIMPLE_ATTRLIST3);
- Assert.assertTrue(pal.getSimpleValueAttributes().size() == TWO_CONS);
- }
-
- /**
- * Testing Personal Attribute List's getComplexValueAttributes method with empty attribute list.
- */
- @Test
- public void testGetComplexAttributesWithEmptyList() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- Assert.assertTrue(pal.getComplexAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getComplexAttributes() method without complex attributes.
- */
- @Test
- public void testGetComplexAttributesWithoutSimple() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(SIMPLE_ATTRLIST2);
- Assert.assertTrue(pal.getComplexAttributes().isEmpty());
- }
-
- /**
- * Testing Personal Attribute List's getComplexAttributes() method with one complex attribute.
- */
- @Test
- public void testGetComplexAttributesWithOneComplex() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(STR_MIX_ATTR_LIST);
- Assert.assertTrue(pal.getComplexAttributes().size() == ONE_CONS);
- }
-
- /**
- * Testing Personal Attribute List's GetMandatoryAttributes method with only two Complex attribute.
- */
- @Test
- public void testGetComplexAttributesWithOnlyComplex() {
- final PersonalAttributeList pal = new PersonalAttributeList();
- pal.populate(STR_MIX_ATTR_LIST2);
- Assert.assertTrue(pal.getComplexAttributes().size() == TWO_CONS);
- }
+ }
+
+ /**
+ * Testing Personal Attribute List's GetOptionalAttributes method with empty
+ * attribute list.
+ */
+ @Test
+ public void testGetOptionalAttributesWithEmptyList() {
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ Assert.assertTrue(pal.getOptionalAttributes().isEmpty());
+ }
+
+ /**
+ * Testing Personal Attribute List's GetOptionalAttributes method without
+ * optional attributes.
+ */
+ @Test
+ public void testGetOptionalAttributesWithoutOptional() {
+ final String strAttrList
+ = "isAgeOver:true:[15,]:Available;isAgeOver:true:[18,]:Available;";
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(strAttrList);
+ Assert.assertTrue(pal.getOptionalAttributes().isEmpty());
+ }
+
+ /**
+ * Testing Personal Attribute List's GetOptionalAttributes method with one
+ * optional attribute.
+ */
+ @Test
+ public void testGetOptionalAttributesWithOneOptional() {
+ final String strAttrList
+ = "age:false:[]:;isAgeOver:true:[15,]:;isAgeOver:true:[18,]:;";
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(strAttrList);
+ Assert.assertTrue(pal.getOptionalAttributes().size() == ONE_CONS);
+ }
+
+ /**
+ * Testing Personal Attribute List's GetOptionalAttributes method with two
+ * optional attribute.
+ */
+ @Test
+ public void testGetOptionalAttributesWithOnlyOptional() {
+ final String strAttrList
+ = "age:false:[]:;isAgeOver:false:[18,]:;";
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(strAttrList);
+ Assert.assertTrue(pal.getOptionalAttributes().size() == TWO_CONS);
+ }
+
+ /**
+ * Testing Personal Attribute List's getMandatoryAttributes method with
+ * empty attribute list.
+ */
+ @Test
+ public void testGetMandatoryAttributesWithEmptyList() {
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ Assert.assertTrue(pal.getMandatoryAttributes().isEmpty());
+ }
+
+ /**
+ * Testing Personal Attribute List's getMandatoryAttributes method without
+ * mandatory attributes.
+ */
+ @Test
+ public void testGetMandatoryAttributesWithoutMandatory() {
+ final String strAttrList
+ = "isAgeOver:false:[15,]:Available;isAgeOver:false:[18,]:Available;";
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(strAttrList);
+ Assert.assertTrue(pal.getMandatoryAttributes().isEmpty());
+ }
+
+ /**
+ * Testing Personal Attribute List's GetMandatoryAttributes method with one
+ * mandatory attribute.
+ */
+ @Test
+ public void testGetMandatoryAttributesWithOneMandatory() {
+ final String strAttrList
+ = "age:true:[]:;isAgeOver:false:[15,]:;isAgeOver:false:[18,]:;";
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(strAttrList);
+ Assert.assertTrue(pal.getMandatoryAttributes().size() == ONE_CONS);
+ }
+
+ /**
+ * Testing Personal Attribute List's GetMandatoryAttributes method with two
+ * mandatory attribute.
+ */
+ @Test
+ public void testGetMandatoryAttributesWithOnlyMandatory() {
+ final String strAttrList
+ = "age:true:[]:;isAgeOver:true:[18,]:;";
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(strAttrList);
+ Assert.assertTrue(pal.getMandatoryAttributes().size() == TWO_CONS);
+ }
+
+ /**
+ * Testing Personal Attribute List's getSimpleValueAttributes method with
+ * empty attribute list.
+ */
+ @Test
+ public void testGetSimpleValueAttributesWithEmptyList() {
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ Assert.assertTrue(pal.getSimpleValueAttributes().isEmpty());
+ }
+
+ /**
+ * Testing Personal Attribute List's getSimpleValueAttributes() method
+ * without simple attributes.
+ */
+ @Test
+ public void testGetSimpleValueAttributesWithoutSimple() {
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(COMPLEX_ATTRLIST);
+ Assert.assertTrue(pal.getSimpleValueAttributes().isEmpty());
+ }
+
+ /**
+ * Testing Personal Attribute List's getSimpleValueAttributes() method with
+ * one simple attribute.
+ */
+ @Test
+ public void testGetSimpleValueAttributesWithOneSimple() {
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(STR_MIX_ATTR_LIST);
+ Assert.assertTrue(pal.getSimpleValueAttributes().size() == ONE_CONS);
+ }
+
+ /**
+ * Testing Personal Attribute List's GetMandatoryAttributes method with two
+ * simple attribute.
+ */
+ @Test
+ public void testGetSimpleValueAttributesWithOnlySimple() {
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(SIMPLE_ATTRLIST3);
+ Assert.assertTrue(pal.getSimpleValueAttributes().size() == ONE_CONS);
+ }
+
+ /**
+ * Testing Personal Attribute List's getComplexValueAttributes method with
+ * empty attribute list.
+ */
+ @Test
+ public void testGetComplexAttributesWithEmptyList() {
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ Assert.assertTrue(pal.getComplexAttributes().isEmpty());
+ }
+
+ /**
+ * Testing Personal Attribute List's getComplexAttributes() method without
+ * complex attributes.
+ */
+ @Test
+ public void testGetComplexAttributesWithoutSimple() {
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(SIMPLE_ATTRLIST2);
+ Assert.assertTrue(pal.getComplexAttributes().isEmpty());
+ }
+
+ /**
+ * Testing Personal Attribute List's getComplexAttributes() method with one
+ * complex attribute.
+ */
+ @Test
+ public void testGetComplexAttributesWithOneComplex() {
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(STR_MIX_ATTR_LIST);
+ Assert.assertTrue(pal.getComplexAttributes().size() == ONE_CONS);
+ }
+
+ /**
+ * Testing Personal Attribute List's GetMandatoryAttributes method with only
+ * two Complex attribute.
+ */
+ @Test
+ public void testGetComplexAttributesWithOnlyComplex() {
+ final IPersonalAttributeList pal = new PersonalAttributeList();
+ pal.populate(STR_MIX_ATTR_LIST2);
+ Assert.assertTrue(pal.getComplexAttributes().size() == TWO_CONS);
+ }
}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PersonalAttributeTestCase.java b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PersonalAttributeTestCase.java
index 458d510e0..82676ccf0 100644
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PersonalAttributeTestCase.java
+++ b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/PersonalAttributeTestCase.java
@@ -17,8 +17,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
-import junit.framework.Assert;
-
import org.junit.BeforeClass;
import org.junit.Test;
@@ -27,156 +25,167 @@ import eu.stork.peps.auth.commons.STORKStatusCode;
/**
* The PersonalAttribute's Test Case.
- *
+ *
* @author ricardo.ferreira@multicert.com, renato.portela@multicert.com,
- * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
- * paulo.ribeiro@multicert.com
+ * luis.felix@multicert.com, hugo.magalhaes@multicert.com,
+ * paulo.ribeiro@multicert.com
* @version $Revision: 1.4 $, $Date: 2010-11-17 05:17:03 $
*/
public final class PersonalAttributeTestCase {
-
- /**
- * An empty attribute.
- */
- private static final PersonalAttribute EMPTYATTR = new PersonalAttribute();
-
- /**
- * An attribute with a complex value (canonicalResidenceAddress).
- */
- private static PersonalAttribute complexAttrValue = null;
-
- /**
- * An attribute with a simple value (age).
- */
- @SuppressWarnings("serial")
- private static final PersonalAttribute ATTR_VALUE = new PersonalAttribute(
- "age", true, new ArrayList<String>() {
- {
- add("15");
- }
- }, STORKStatusCode.STATUS_AVAILABLE.toString());
-
- /**
- * Init PersonalAttributeTestCase class.
- */
- @SuppressWarnings("serial")
- @BeforeClass
- public static void runsBeforeTheTestSuite() {
- final Map<String, String> values = new HashMap<String, String>() {
- {
- put("countryCodeAddress", "PT");
- put("state", "Porto");
- put("town", "Porto");
- put("postalCode", "4100");
- put("streetName", "Avenida Sidonio Pais");
- put("streetNumber", "379");
- put("apartmentNumber", "B");
- }
- };
-
- complexAttrValue =
- new PersonalAttribute("canonicalResidenceAddress", true, values,
- STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ /**
+ * An empty attribute.
+ */
+ private static final PersonalAttribute EMPTYATTR = new PersonalAttribute();
+
+ /**
+ * An attribute with a complex value (canonicalResidenceAddress).
+ */
+ private static PersonalAttribute complexAttrValue = null;
+
+ /**
+ * An attribute with a simple value (age).
+ */
+ @SuppressWarnings("serial")
+ private static final PersonalAttribute ATTR_VALUE = new PersonalAttribute(
+ "age", true, new ArrayList<String>() {
+ {
+ add("15");
+ }
+ }, STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ /**
+ * Init PersonalAttributeTestCase class.
+ */
+ @SuppressWarnings("serial")
+ @BeforeClass
+ public static void runsBeforeTheTestSuite() {
+ final Map<String, String> values = new HashMap<String, String>() {
+ {
+ put("countryCodeAddress", "PT");
+ put("state", "Porto");
+ put("town", "Porto");
+ put("postalCode", "4100");
+ put("streetName", "Avenida Sidonio Pais");
+ put("streetNumber", "379");
+ put("apartmentNumber", "B");
+ }
+ };
+
+ complexAttrValue
+ = new PersonalAttribute("canonicalResidenceAddress", true, values,
+ STORKStatusCode.STATUS_AVAILABLE.toString());
+
+ }
+
+ /**
+ * Tests the {@link PersonalAttribute#toString()} method for the given
+ * simple attribute value. Values must match.
+ */
+ @Test
+ public void testToStringValues() {
+ final String attrVal = ATTR_VALUE.toString();
+ assert "age:true:[15]:Available;".equals(attrVal);
+ }
+
+ /**
+ * Tests the {@link PersonalAttribute#toString()} method for the given
+ * complex attribute value. Values must match.
+ */
+ @Test
+ public void testToStringComplexValues() {
+ //We are testing normal attribute Canonical address, only one value!
+ final Map<String,String> complexAttrVal = complexAttrValue.getComplexValue();
+ final boolean testResult = containsKeyAndValue(complexAttrVal, "postalCode", "4100") &&
+ containsKeyAndValue(complexAttrVal, "apartmentNumber", "B") &&
+ containsKeyAndValue(complexAttrVal, "state", "Porto") &&
+ containsKeyAndValue(complexAttrVal, "countryCodeAddress", "PT") &&
+ containsKeyAndValue(complexAttrVal, "streetNumber", "379") &&
+ containsKeyAndValue(complexAttrVal, "streetName", "Avenida Sidonio Pais") &&
+ containsKeyAndValue(complexAttrVal, "town", "Porto");
+ assert testResult;
+ }
- }
-
- /**
- * Tests the {@link PersonalAttribute#toString()} method for the given simple
- * attribute value. Values must match.
- */
- @Test
- public void testToStringValues() {
- Assert.assertEquals("age:true:[15,]:Available;", ATTR_VALUE.toString());
- }
-
- /**
- * Tests the {@link PersonalAttribute#toString()} method for the given complex
- * attribute value. Values must match.
- */
- @Test
- public void testToStringComplexValues() {
- Assert.assertEquals(
- "canonicalResidenceAddress:true:[postalCode=4100,apartmentNumber=B,"
- + "state=Porto,countryCodeAddress=PT,streetNumber=379,"
- + "streetName=Avenida Sidonio Pais,town=Porto,]:Available;",
- complexAttrValue.toString());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyStatus()} method for the given
- * empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyStatusWithNull() {
- Assert.assertTrue(EMPTYATTR.isEmptyStatus());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyStatus()} method for the given
- * new attribute. Must return true.
- */
- @Test
- public void testToIsEmptyStatusWithEmptyString() {
- final PersonalAttribute attr = (PersonalAttribute) EMPTYATTR.clone();
- attr.setStatus("");
- Assert.assertTrue(attr.isEmptyStatus());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyValue()} method for the given
- * empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyValueWithNull() {
- final PersonalAttribute attr = (PersonalAttribute) EMPTYATTR.clone();
- attr.setValue(null);
- Assert.assertTrue(attr.isEmptyValue());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyValue()} method for the given
- * empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyValue() {
- Assert.assertTrue(EMPTYATTR.isEmptyValue());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyComplexValue()} method for the
- * given empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyComplexValueWithNull() {
- final PersonalAttribute attr = (PersonalAttribute) EMPTYATTR.clone();
- attr.setComplexValue(null);
- Assert.assertTrue(attr.isEmptyComplexValue());
- }
-
- /**
- * Tests the {@link PersonalAttribute#isEmptyComplexValue()} method for the
- * given empty attribute. Must return true.
- */
- @Test
- public void testToIsEmptyComplexValueWithEmptyComplexValue() {
- Assert.assertTrue(EMPTYATTR.isEmptyComplexValue());
- }
-
- /**
- * Tests the {@link PersonalAttribute#clone()} method for the given attribute.
- * Must return true.
- */
- @Test
- public void testCloneToComplexValue() {
- Assert.assertNotSame(complexAttrValue, complexAttrValue.clone());
- }
-
- /**
- * Tests the {@link PersonalAttribute#clone()} method for the given attribute.
- * Must return true.
- */
- @Test
- public void testCloneToValue() {
- Assert.assertNotSame(ATTR_VALUE, ATTR_VALUE.clone());
- }
+ private boolean containsKeyAndValue(final Map<String,String> complexAttrVal, final String key, final String expectedValue) {
+ final boolean res = complexAttrVal.containsKey(key) && complexAttrVal.get(key).equals(expectedValue);
+ return res;
+ }
+
+ /**
+ * Tests the {@link PersonalAttribute#isEmptyStatus()} method for the given
+ * empty attribute. Must return true.
+ */
+ @Test
+ public void testToIsEmptyStatusWithNull() {
+ assert EMPTYATTR.isEmptyStatus();
+ }
+
+ /**
+ * Tests the {@link PersonalAttribute#isEmptyStatus()} method for the given
+ * new attribute. Must return true.
+ */
+ @Test
+ public void testToIsEmptyStatusWithEmptyString() {
+ final PersonalAttribute attr = (PersonalAttribute) EMPTYATTR.clone();
+ attr.setStatus("");
+ assert attr.isEmptyStatus();
+ }
+
+ /**
+ * Tests the {@link PersonalAttribute#isEmptyValue()} method for the given
+ * empty attribute. Must return true.
+ */
+ @Test
+ public void testToIsEmptyValueWithNull() {
+ final PersonalAttribute attr = (PersonalAttribute) EMPTYATTR.clone();
+ attr.setValue(null);
+ assert attr.isEmptyValue();
+ }
+
+ /**
+ * Tests the {@link PersonalAttribute#isEmptyValue()} method for the given
+ * empty attribute. Must return true.
+ */
+ @Test
+ public void testToIsEmptyValue() {
+ assert EMPTYATTR.isEmptyValue();
+ }
+
+ /**
+ * Tests the {@link PersonalAttribute#isEmptyComplexValue()} method for the
+ * given empty attribute. Must return true.
+ */
+ @Test
+ public void testToIsEmptyComplexValueWithNull() {
+ final PersonalAttribute attr = (PersonalAttribute) EMPTYATTR.clone();
+ attr.setComplexValue(null);
+ assert attr.isEmptyComplexValue();
+ }
+
+ /**
+ * Tests the {@link PersonalAttribute#isEmptyComplexValue()} method for the
+ * given empty attribute. Must return true.
+ */
+ @Test
+ public void testToIsEmptyComplexValueWithEmptyComplexValue() {
+ assert EMPTYATTR.isEmptyComplexValue();
+ }
+
+ /**
+ * Tests the {@link PersonalAttribute#clone()} method for the given
+ * attribute. Must return true.
+ */
+ @Test
+ public void testCloneToComplexValue() {
+ assert (complexAttrValue.getComplexValue().toString().equals(complexAttrValue.getComplexValue().toString()) && !complexAttrValue.equals(complexAttrValue.clone()));
+ }
+
+ /**
+ * Tests the {@link PersonalAttribute#clone()} method for the given
+ * attribute. Must return true.
+ */
+ @Test
+ public void testCloneToValue() {
+ assert !ATTR_VALUE.equals(ATTR_VALUE.clone());
+ }
}
diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/package-info.java b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/package-info.java
index 452602210..37841dd03 100644
--- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/package-info.java
+++ b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/package-info.java
@@ -2,4 +2,3 @@
* This package provides all JUnit test classes.
*/
package eu.stork.peps.tests;
-
diff --git a/id/server/stork2-commons/src/test/resources/.svn/all-wcprops b/id/server/stork2-commons/src/test/resources/.svn/all-wcprops
deleted file mode 100644
index a3a21b424..000000000
--- a/id/server/stork2-commons/src/test/resources/.svn/all-wcprops
+++ /dev/null
@@ -1,11 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 63
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/test/resources
-END
-log4j.xml
-K 25
-svn:wc:ra_dav:version-url
-V 73
-/CITnet/svn/STORK2/!svn/ver/19/trunk/Commons/src/test/resources/log4j.xml
-END
diff --git a/id/server/stork2-commons/src/test/resources/.svn/entries b/id/server/stork2-commons/src/test/resources/.svn/entries
deleted file mode 100644
index 9274deb98..000000000
--- a/id/server/stork2-commons/src/test/resources/.svn/entries
+++ /dev/null
@@ -1,62 +0,0 @@
-10
-
-dir
-776
-https://webgate.ec.europa.eu/CITnet/svn/STORK2/trunk/Commons/src/test/resources
-https://webgate.ec.europa.eu/CITnet/svn/STORK2
-
-
-
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-aa842e49-f825-43fc-93ba-11ee9fd5a035
-
-log4j.xml
-file
-
-
-
-
-2013-12-20T12:27:56.542475Z
-4e990a84da0033594135b05cd01a9cdd
-2013-07-25T08:54:09.995385Z
-7
-emsomavmi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-645
-
diff --git a/id/server/stork2-commons/src/test/resources/.svn/text-base/log4j.xml.svn-base b/id/server/stork2-commons/src/test/resources/.svn/text-base/log4j.xml.svn-base
deleted file mode 100644
index 0ad2ea9a4..000000000
--- a/id/server/stork2-commons/src/test/resources/.svn/text-base/log4j.xml.svn-base
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
- <appender name="MainLogger" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="stork-commons.log" />
- <param name="DatePattern" value="'.'yyyy-MM-dd" />
- <param name="Append" value="true" />
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d{HH:mm:ss:SSS} - %p - %C{1} - %m%n" />
- </layout>
- </appender>
-
- <root>
- <priority value="info" />
- <appender-ref ref="MainLogger" />
- </root>
-
-</log4j:configuration>
diff --git a/id/server/stork2-commons/src/test/resources/log4j.xml b/id/server/stork2-commons/src/test/resources/log4j.xml
index 0ad2ea9a4..2bba8b69f 100644
--- a/id/server/stork2-commons/src/test/resources/log4j.xml
+++ b/id/server/stork2-commons/src/test/resources/log4j.xml
@@ -2,18 +2,18 @@
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
- <appender name="MainLogger" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="stork-commons.log" />
- <param name="DatePattern" value="'.'yyyy-MM-dd" />
- <param name="Append" value="true" />
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d{HH:mm:ss:SSS} - %p - %C{1} - %m%n" />
- </layout>
- </appender>
+ <appender name="MainLogger" class="org.apache.log4j.DailyRollingFileAppender">
+ <param name="File" value="stork-commons.log" />
+ <param name="DatePattern" value="'.'yyyy-MM-dd" />
+ <param name="Append" value="true" />
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d{HH:mm:ss:SSS} - %p - %C{1} - %m%n" />
+ </layout>
+ </appender>
- <root>
- <priority value="info" />
- <appender-ref ref="MainLogger" />
- </root>
+ <root>
+ <priority value="info" />
+ <appender-ref ref="MainLogger" />
+ </root>
</log4j:configuration>
diff --git a/id/server/stork2-saml-engine/pom.xml b/id/server/stork2-saml-engine/pom.xml
index a082a618b..4effa9d1c 100644
--- a/id/server/stork2-saml-engine/pom.xml
+++ b/id/server/stork2-saml-engine/pom.xml
@@ -13,11 +13,10 @@
<name>STORKSAMLEngine</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <saml.version>1.4.0</saml.version>
+ <saml.version>1.5.1</saml.version>
<samlspec.version>0.5.2</samlspec.version>
<samlspecacept.version>0.5.1</samlspecacept.version>
- <commons.version>1.4.0</commons.version>
- <opensaml.version>2.6.2</opensaml.version>
+ <commons.version>1.5.1</commons.version>
<timestamp>${maven.build.timestamp}</timestamp>
<repositoryPath>${basedir}/../../../repository</repositoryPath>
</properties>
@@ -49,18 +48,17 @@
<groupId>eu.stork</groupId>
<artifactId>Commons</artifactId>
<version>${commons.version}</version>
-<!-- <exclusions>
- <exclusion>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcprov-jdk16</artifactId>
- </exclusion>
- </exclusions> -->
</dependency>
+
+ <dependency>
+ <groupId>org.opensaml</groupId>
+ <artifactId>xmltooling</artifactId>
+ </dependency>
+
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml</artifactId>
- <version>${opensaml.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
@@ -89,16 +87,9 @@
</exclusions>
</dependency>
- <dependency>
- <groupId>org.opensaml</groupId>
- <artifactId>xmltooling</artifactId>
- <version>1.4.3</version>
- </dependency>
-
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
- <version>1.7.7</version>
</dependency>
<!-- <dependency>
<groupId>org.slf4j</groupId>
@@ -108,35 +99,29 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
- <version>1.7.7</version>
</dependency>
-<!-- <dependency>
+<!-- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
- <version>1.7.6</version>
</dependency> -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
- <version>1.7.7</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
- <version>2.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
- <version>2.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -149,8 +134,8 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
- <source>1.6</source>
- <target>1.6</target>
+ <source>1.7</source>
+ <target>1.7</target>
</configuration>
</plugin>
@@ -161,30 +146,9 @@
<skip>true</skip>
</configuration>
</plugin>
-
</plugins>
</pluginManagement>
<plugins>
-
-<!-- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>properties-maven-plugin</artifactId>
- <version>1.0-alpha-2</version>
- <executions>
- <execution>
- <phase>initialize</phase>
- <goals>
- <goal>read-project-properties</goal>
- </goals>
- <configuration>
- <files>
- <file>${basedir}/../../../moa-id.properties</file>
- </files>
- </configuration>
- </execution>
- </executions>
- </plugin> -->
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/SAMLEngine.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/SAMLEngine.java
index 26635e337..1dcaf4c95 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/SAMLEngine.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/SAMLEngine.java
@@ -64,10 +64,8 @@ import eu.stork.peps.exceptions.STORKSAMLEngineException;
import eu.stork.peps.exceptions.STORKSAMLEngineRuntimeException;
/**
- * Class that wraps the operations over SAML tokens, both generation and
- * validation of SAML requests and SAML responses. Compliant with "OASIS Secure
- * Assertion Markup Language (SAML) 2.0, May 2005", but taking into account
- * STORK specific requirements.
+ * Class that wraps the operations over SAML tokens, both generation and validation of SAML requests and SAML responses. Compliant with "OASIS Secure Assertion Markup Language (SAML) 2.0, May 2005",
+ * but taking into account STORK specific requirements.
*
* @author fjquevedo
* @author iinigo
@@ -85,8 +83,7 @@ public class SAMLEngine {
private static Map<String, Map<String, Object>> instances;
/** The logger. */
- private static final Logger LOG = LoggerFactory.getLogger(SAMLEngine.class
- .getName());
+ private static final Logger LOG = LoggerFactory.getLogger(SAMLEngine.class.getName());
/** The Constant MODULE_SIGN_CONF. */
private static final String MODULE_SIGN_CONF = "SignatureConf";
@@ -100,7 +97,14 @@ public class SAMLEngine {
/** The Constant SAML_ENGINE_FILE_CONF. */
private static final String SAML_ENGINE_FILE_CONF = "fileConfiguration";
- /** The codification of characters. */
+ /**
+ * Additional trust store for HW signing
+ */
+ private static final String HW_TRUST_STORE_CONF = "softTrustStoreConfig";
+
+ /**
+ * The codification of characters.
+ */
private static final String CHARACTER_ENCODING = "UTF-8";
/** The SAML core. */
@@ -109,7 +113,6 @@ public class SAMLEngine {
/** The Module of Signature. */
private SAMLEngineSignI signer;
-
/** Initializes the SAML engine. */
/** Configure Document Builder Factory. */
@@ -134,23 +137,16 @@ public class SAMLEngine {
}
/**
- * Method that initializes the basic services for the SAML Engine, like the
- * OpenSAML library and the BouncyCastle provider.
+ * Method that initializes the basic services for the SAML Engine, like the OpenSAML library and the BouncyCastle provider.
*/
private static void startUp() {
LOG.info("SAMLEngine: Initialize OpenSAML");
-
-
-/* Commented because it makes a problems with PVP2 MOA-ID
- try {
- DefaultBootstrap.bootstrap();
- } catch (ConfigurationException e) {
- LOG.error("Problem initializing the OpenSAML library.");
- throw new STORKSAMLEngineRuntimeException(e);
- }
-*/
+ /*
+ * Commented because it makes a problems with PVP2 MOA-ID try { DefaultBootstrap.bootstrap(); } catch (ConfigurationException e) { LOG.error("Problem initializing the OpenSAML library.");
+ * throw new STORKSAMLEngineRuntimeException(e); }
+ */
LOG.debug("Read all file configurations. (instances of SAMLEngine)");
try {
@@ -162,8 +158,7 @@ public class SAMLEngine {
LOG.debug("Create all instances of saml engine. (instances of SAMLEngine)");
try {
- instances = ConfigurationCreator
- .createConfiguration(instanceConfigs);
+ instances = ConfigurationCreator.createConfiguration(instanceConfigs);
} catch (STORKSAMLEngineException e) {
LOG.error("Error initializing instances from Stork SAML engine.");
throw new STORKSAMLEngineRuntimeException(e);
@@ -173,12 +168,13 @@ public class SAMLEngine {
/**
* Instantiates a new SAML engine.
*
- * @param nameInstance the name instance
+ * @param nameInstance
+ * the name instance
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- protected SAMLEngine(final String nameInstance)
- throws STORKSAMLEngineException {
+ protected SAMLEngine(final String nameInstance) throws STORKSAMLEngineException {
LOG.info("Loading Specific Configuration.");
LOG.debug("Create intance of saml messages.");
@@ -187,8 +183,7 @@ public class SAMLEngine {
if (instance == null || instance.isEmpty()) {
LOG.error("Instance: " + nameInstance + " not exist.");
- throw new STORKSAMLEngineException("Instance: " + nameInstance
- + " not exist.");
+ throw new STORKSAMLEngineException("Instance: " + nameInstance + " not exist.");
}
Properties properties = (Properties) instance.get(SAML_ENGINE_CONF);
@@ -200,12 +195,10 @@ public class SAMLEngine {
samlCore = new STORKSAMLCore(properties);
- final HashMap<String, String> propertiesSign = (HashMap<String, String>) instance
- .get(MODULE_SIGN_CONF);
+ final HashMap<String, String> propertiesSign = (HashMap<String, String>) instance.get(MODULE_SIGN_CONF);
LOG.debug("Loading Module of sign.");
- signer = SignModuleFactory.getInstance(propertiesSign
- .get(SAML_ENGINE_SIGN_CLASS));
+ signer = SignModuleFactory.getInstance(propertiesSign.get(SAML_ENGINE_SIGN_CLASS));
try {
LOG.info("Initialize module of sign.");
@@ -213,8 +206,7 @@ public class SAMLEngine {
LOG.info("Load cryptographic service provider of module of sign.");
signer.loadCryptServiceProvider();
} catch (SAMLEngineException e) {
- LOG.error("Error create signature module: "
- + propertiesSign.get(SAML_ENGINE_FILE_CONF));
+ LOG.error("Error create signature module: " + propertiesSign.get(SAML_ENGINE_FILE_CONF));
LOG.info("Exception" + e);
throw new STORKSAMLEngineException(e);
}
@@ -239,30 +231,28 @@ public class SAMLEngine {
}
/**
- * Method that transform the received SAML object into a byte array
- * representation.
+ * Method that transform the received SAML object into a byte array representation.
*
- * @param samlToken the SAML token.
+ * @param samlToken
+ * the SAML token.
*
* @return the byte[] of the SAML token.
*
- * @throws SAMLEngineException the SAML engine exception
+ * @throws SAMLEngineException
+ * the SAML engine exception
*/
- private byte[] marshall(final XMLObject samlToken)
- throws SAMLEngineException {
+ private byte[] marshall(final XMLObject samlToken) throws SAMLEngineException {
try {
javax.xml.parsers.DocumentBuilder docBuilder = null;
- final MarshallerFactory marshallerFactory = Configuration
- .getMarshallerFactory();
+ final MarshallerFactory marshallerFactory = Configuration.getMarshallerFactory();
final Marshaller marshaller;
if (samlToken.getElementQName().toString().endsWith(CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME))
marshaller = new CustomAttributeQueryMarshaller();
else
- marshaller = marshallerFactory
- .getMarshaller(samlToken);
+ marshaller = marshallerFactory.getMarshaller(samlToken);
docBuilder = dbf.newDocumentBuilder();
@@ -274,13 +264,12 @@ public class SAMLEngine {
final DOMSource domSource = new DOMSource(doc);
final StringWriter writer = new StringWriter();
final StreamResult result = new StreamResult(writer);
- final TransformerFactory transFactory = TransformerFactory
- .newInstance();
+ final TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer;
transformer = transFactory.newTransformer();
transformer.transform(domSource, result);
- LOG.debug("SAML request \n"+ writer.toString());
+ LOG.debug("SAML request \n" + writer.toString());
return writer.toString().getBytes(CHARACTER_ENCODING);
} catch (ParserConfigurationException e) {
@@ -304,14 +293,15 @@ public class SAMLEngine {
/**
* Method that signs a SAML Token.
*
- * @param tokenSaml the token SAML
+ * @param tokenSaml
+ * the token SAML
*
* @return the SAML object sign
*
- * @throws SAMLEngineException the SAML engine exception
+ * @throws SAMLEngineException
+ * the SAML engine exception
*/
- private SignableSAMLObject sign(final SignableSAMLObject tokenSaml)
- throws SAMLEngineException {
+ private SignableSAMLObject sign(final SignableSAMLObject tokenSaml) throws SAMLEngineException {
LOG.debug("Sign SamlToken.");
signer.sign(tokenSaml);
return tokenSaml;
@@ -320,31 +310,32 @@ public class SAMLEngine {
/**
* Sign and transform to byte array.
*
- * @param samlToken the SAML token
+ * @param samlToken
+ * the SAML token
*
* @return the byte[] of the SAML token
*
- * @throws SAMLEngineException the SAML engine exception
+ * @throws SAMLEngineException
+ * the SAML engine exception
*/
- protected final byte[] signAndMarshall(final SignableSAMLObject samlToken)
- throws SAMLEngineException {
+ protected final byte[] signAndMarshall(final SignableSAMLObject samlToken) throws SAMLEngineException {
LOG.debug("Marshall Saml Token.");
SignableSAMLObject signElement = sign(samlToken);
return marshall(signElement);
}
/**
- * Method that unmarshalls a SAML Object from a byte array representation to
- * an XML Object.
+ * Method that unmarshalls a SAML Object from a byte array representation to an XML Object.
*
- * @param samlToken Byte array representation of a SAML Object
+ * @param samlToken
+ * Byte array representation of a SAML Object
*
* @return XML Object (superclass of SAMLObject)
*
- * @throws SAMLEngineException the SAML engine exception
+ * @throws SAMLEngineException
+ * the SAML engine exception
*/
- protected final XMLObject unmarshall(final byte[] samlToken)
- throws SAMLEngineException {
+ protected final XMLObject unmarshall(final byte[] samlToken) throws SAMLEngineException {
try {
// Get parser pool manager
final BasicParserPool ppMgr = new BasicParserPool();
@@ -358,12 +349,12 @@ public class SAMLEngine {
// Parse SAMLToken
Document document = ppMgr.parse(new ByteArrayInputStream(samlToken));
- if (document != null){
+ if (document != null) {
final Element root = document.getDocumentElement();
// Get appropriate unmarshaller
final UnmarshallerFactory unmarshallerFact = Configuration.getUnmarshallerFactory();
// Unmarshall using the SAML Token root element
- if (unmarshallerFact != null && root != null){
+ if (unmarshallerFact != null && root != null) {
final Unmarshaller unmarshaller;
if (root.getLocalName().equals(CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME))
unmarshaller = new CustomAttributeQueryUnmarshaller();
@@ -371,7 +362,7 @@ public class SAMLEngine {
unmarshaller = unmarshallerFact.getUnmarshaller(root);
try {
return unmarshaller.unmarshall(root);
- } catch (NullPointerException e){
+ } catch (NullPointerException e) {
LOG.error("Error element tag incomplet or null.");
throw new SAMLEngineException("NullPointerException", e);
}
@@ -398,14 +389,15 @@ public class SAMLEngine {
/**
* Method that validates an XML Signature contained in a SAML Token.
*
- * @param samlToken the SAML token
+ * @param samlToken
+ * the SAML token
*
* @return the SAML object
*
- * @throws SAMLEngineException the SAML engine exception
+ * @throws SAMLEngineException
+ * the SAML engine exception
*/
- protected final SAMLObject validateSignature(
- final SignableSAMLObject samlToken) throws SAMLEngineException {
+ protected final SAMLObject validateSignature(final SignableSAMLObject samlToken) throws SAMLEngineException {
LOG.info("Validate Signature");
signer.validateSignature(samlToken);
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/SAMLEngineUtils.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/SAMLEngineUtils.java
index 1efbb8b32..3cc323c96 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/SAMLEngineUtils.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/SAMLEngineUtils.java
@@ -96,72 +96,37 @@ public final class SAMLEngineUtils {
private static SecureRandomIdentifierGenerator generator;
/** The Constant LOG. */
- private static final Logger LOG = LoggerFactory
- .getLogger(SAMLEngineUtils.class.getName());
+ private static final Logger LOG = LoggerFactory.getLogger(SAMLEngineUtils.class.getName());
/**
* Method that generates a random value according to NCName grammar.
*
- * NCName ::= NCNameStartChar NCNameChar* NCNameChar ::= NameChar - ':'
- * NCNameStartChar ::= Letter | '_' NameStartChar ::= ":" | [A-Z] | "_" |
- * [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] |
- * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] |
- * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
- * NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] |
- * [#x203F-#x2040] Name ::= NameStartChar (NameChar)* Letter ::= BaseChar |
- * Ideographic BaseChar ::= [#x0041-#x005A] | [#x0061-#x007A] |
- * [#x00C0-#x00D6] | [#x00D8-#x00F6] | [#x00F8-#x00FF] | [#x0100-#x0131] |
- * [#x0134-#x013E] | [#x0141-#x0148] | [#x014A-#x017E] | [#x0180-#x01C3] |
- * [#x01CD-#x01F0] | [#x01F4-#x01F5] | [#x01FA-#x0217] | [#x0250-#x02A8] |
- * [#x02BB-#x02C1] | #x0386 | [#x0388-#x038A] | #x038C | [#x038E-#x03A1] |
- * [#x03A3-#x03CE] | [#x03D0-#x03D6] | #x03DA | #x03DC | #x03DE | #x03E0 |
- * [#x03E2-#x03F3] | [#x0401-#x040C] | [#x040E-#x044F] | [#x0451-#x045C] |
- * [#x045E-#x0481] | [#x0490-#x04C4] | [#x04C7-#x04C8] | [#x04CB-#x04CC] |
- * [#x04D0-#x04EB] | [#x04EE-#x04F5] | [#x04F8-#x04F9] | [#x0531-#x0556] |
- * #x0559 | [#x0561-#x0586] | [#x05D0-#x05EA] | [#x05F0-#x05F2] |
- * [#x0621-#x063A] | [#x0641-#x064A] | [#x0671-#x06B7] | [#x06BA-#x06BE] |
- * [#x06C0-#x06CE] | [#x06D0-#x06D3] | #x06D5 | [#x06E5-#x06E6] |
- * [#x0905-#x0939] | #x093D | [#x0958-#x0961] | [#x0985-#x098C] |
- * [#x098F-#x0990] | [#x0993-#x09A8] | [#x09AA-#x09B0] | #x09B2 |
- * [#x09B6-#x09B9] | [#x09DC-#x09DD] | [#x09DF-#x09E1] | [#x09F0-#x09F1] |
- * [#x0A05-#x0A0A] | [#x0A0F-#x0A10] | [#x0A13-#x0A28] | [#x0A2A-#x0A30] |
- * [#x0A32-#x0A33] | [#x0A35-#x0A36] | [#x0A38-#x0A39] | [#x0A59-#x0A5C] |
- * #x0A5E | [#x0A72-#x0A74] | [#x0A85-#x0A8B] | #x0A8D | [#x0A8F-#x0A91] |
- * [#x0A93-#x0AA8] | [#x0AAA-#x0AB0] | [#x0AB2-#x0AB3] | [#x0AB5-#x0AB9] |
- * #x0ABD | #x0AE0 | [#x0B05-#x0B0C] | [#x0B0F-#x0B10] | [#x0B13-#x0B28] |
- * [#x0B2A-#x0B30] | [#x0B32-#x0B33] | [#x0B36-#x0B39] | #x0B3D |
- * [#x0B5C-#x0B5D] | [#x0B5F-#x0B61] | [#x0B85-#x0B8A] | [#x0B8E-#x0B90] |
- * [#x0B92-#x0B95] | [#x0B99-#x0B9A] | #x0B9C | [#x0B9E-#x0B9F] |
- * [#x0BA3-#x0BA4] | [#x0BA8-#x0BAA] | [#x0BAE-#x0BB5] | [#x0BB7-#x0BB9] |
- * [#x0C05-#x0C0C] | [#x0C0E-#x0C10] | [#x0C12-#x0C28] | [#x0C2A-#x0C33] |
- * [#x0C35-#x0C39] | [#x0C60-#x0C61] | [#x0C85-#x0C8C] | [#x0C8E-#x0C90] |
- * [#x0C92-#x0CA8] | [#x0CAA-#x0CB3] | [#x0CB5-#x0CB9] | #x0CDE |
- * [#x0CE0-#x0CE1] | [#x0D05-#x0D0C] | [#x0D0E-#x0D10] | [#x0D12-#x0D28] |
- * [#x0D2A-#x0D39] | [#x0D60-#x0D61] | [#x0E01-#x0E2E] | #x0E30 |
- * [#x0E32-#x0E33] | [#x0E40-#x0E45] | [#x0E81-#x0E82] | #x0E84 |
- * [#x0E87-#x0E88] | #x0E8A | #x0E8D | [#x0E94-#x0E97] | [#x0E99-#x0E9F] |
- * [#x0EA1-#x0EA3] | #x0EA5 | #x0EA7 | [#x0EAA-#x0EAB] | [#x0EAD-#x0EAE] |
- * #x0EB0 | [#x0EB2-#x0EB3] | #x0EBD | [#x0EC0-#x0EC4] | [#x0F40-#x0F47] |
- * [#x0F49-#x0F69] | [#x10A0-#x10C5] | [#x10D0-#x10F6] | #x1100 |
- * [#x1102-#x1103] | [#x1105-#x1107] | #x1109 | [#x110B-#x110C] |
- * [#x110E-#x1112] | #x113C | #x113E | #x1140 | #x114C | #x114E | #x1150 |
- * [#x1154-#x1155] | #x1159 | [#x115F-#x1161] | #x1163 | #x1165 | #x1167 |
- * #x1169 | [#x116D-#x116E] | [#x1172-#x1173] | #x1175 | #x119E | #x11A8 |
- * #x11AB | [#x11AE-#x11AF] | [#x11B7-#x11B8] | #x11BA | [#x11BC-#x11C2] |
- * #x11EB | #x11F0 | #x11F9 | [#x1E00-#x1E9B] | [#x1EA0-#x1EF9] |
- * [#x1F00-#x1F15] | [#x1F18-#x1F1D] | [#x1F20-#x1F45] | [#x1F48-#x1F4D] |
- * [#x1F50-#x1F57] | #x1F59 | #x1F5B | #x1F5D | [#x1F5F-#x1F7D] |
- * [#x1F80-#x1FB4] | [#x1FB6-#x1FBC] | #x1FBE | [#x1FC2-#x1FC4] |
- * [#x1FC6-#x1FCC] | [#x1FD0-#x1FD3] | [#x1FD6-#x1FDB] | [#x1FE0-#x1FEC] |
- * [#x1FF2-#x1FF4] | [#x1FF6-#x1FFC] | #x2126 | [#x212A-#x212B] | #x212E |
- * [#x2180-#x2182] | [#x3041-#x3094] | [#x30A1-#x30FA] | [#x3105-#x312C] |
- * [#xAC00-#xD7A3] Ideographic ::= [#x4E00-#x9FA5] | #x3007 |
+ * NCName ::= NCNameStartChar NCNameChar* NCNameChar ::= NameChar - ':' NCNameStartChar ::= Letter | '_' NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] |
+ * [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] NameChar ::= NameStartChar | "-" |
+ * "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] Name ::= NameStartChar (NameChar)* Letter ::= BaseChar | Ideographic BaseChar ::= [#x0041-#x005A] | [#x0061-#x007A] | [#x00C0-#x00D6] |
+ * [#x00D8-#x00F6] | [#x00F8-#x00FF] | [#x0100-#x0131] | [#x0134-#x013E] | [#x0141-#x0148] | [#x014A-#x017E] | [#x0180-#x01C3] | [#x01CD-#x01F0] | [#x01F4-#x01F5] | [#x01FA-#x0217] |
+ * [#x0250-#x02A8] | [#x02BB-#x02C1] | #x0386 | [#x0388-#x038A] | #x038C | [#x038E-#x03A1] | [#x03A3-#x03CE] | [#x03D0-#x03D6] | #x03DA | #x03DC | #x03DE | #x03E0 | [#x03E2-#x03F3] |
+ * [#x0401-#x040C] | [#x040E-#x044F] | [#x0451-#x045C] | [#x045E-#x0481] | [#x0490-#x04C4] | [#x04C7-#x04C8] | [#x04CB-#x04CC] | [#x04D0-#x04EB] | [#x04EE-#x04F5] | [#x04F8-#x04F9] |
+ * [#x0531-#x0556] | #x0559 | [#x0561-#x0586] | [#x05D0-#x05EA] | [#x05F0-#x05F2] | [#x0621-#x063A] | [#x0641-#x064A] | [#x0671-#x06B7] | [#x06BA-#x06BE] | [#x06C0-#x06CE] | [#x06D0-#x06D3] |
+ * #x06D5 | [#x06E5-#x06E6] | [#x0905-#x0939] | #x093D | [#x0958-#x0961] | [#x0985-#x098C] | [#x098F-#x0990] | [#x0993-#x09A8] | [#x09AA-#x09B0] | #x09B2 | [#x09B6-#x09B9] | [#x09DC-#x09DD] |
+ * [#x09DF-#x09E1] | [#x09F0-#x09F1] | [#x0A05-#x0A0A] | [#x0A0F-#x0A10] | [#x0A13-#x0A28] | [#x0A2A-#x0A30] | [#x0A32-#x0A33] | [#x0A35-#x0A36] | [#x0A38-#x0A39] | [#x0A59-#x0A5C] | #x0A5E |
+ * [#x0A72-#x0A74] | [#x0A85-#x0A8B] | #x0A8D | [#x0A8F-#x0A91] | [#x0A93-#x0AA8] | [#x0AAA-#x0AB0] | [#x0AB2-#x0AB3] | [#x0AB5-#x0AB9] | #x0ABD | #x0AE0 | [#x0B05-#x0B0C] | [#x0B0F-#x0B10] |
+ * [#x0B13-#x0B28] | [#x0B2A-#x0B30] | [#x0B32-#x0B33] | [#x0B36-#x0B39] | #x0B3D | [#x0B5C-#x0B5D] | [#x0B5F-#x0B61] | [#x0B85-#x0B8A] | [#x0B8E-#x0B90] | [#x0B92-#x0B95] | [#x0B99-#x0B9A] |
+ * #x0B9C | [#x0B9E-#x0B9F] | [#x0BA3-#x0BA4] | [#x0BA8-#x0BAA] | [#x0BAE-#x0BB5] | [#x0BB7-#x0BB9] | [#x0C05-#x0C0C] | [#x0C0E-#x0C10] | [#x0C12-#x0C28] | [#x0C2A-#x0C33] | [#x0C35-#x0C39] |
+ * [#x0C60-#x0C61] | [#x0C85-#x0C8C] | [#x0C8E-#x0C90] | [#x0C92-#x0CA8] | [#x0CAA-#x0CB3] | [#x0CB5-#x0CB9] | #x0CDE | [#x0CE0-#x0CE1] | [#x0D05-#x0D0C] | [#x0D0E-#x0D10] | [#x0D12-#x0D28] |
+ * [#x0D2A-#x0D39] | [#x0D60-#x0D61] | [#x0E01-#x0E2E] | #x0E30 | [#x0E32-#x0E33] | [#x0E40-#x0E45] | [#x0E81-#x0E82] | #x0E84 | [#x0E87-#x0E88] | #x0E8A | #x0E8D | [#x0E94-#x0E97] |
+ * [#x0E99-#x0E9F] | [#x0EA1-#x0EA3] | #x0EA5 | #x0EA7 | [#x0EAA-#x0EAB] | [#x0EAD-#x0EAE] | #x0EB0 | [#x0EB2-#x0EB3] | #x0EBD | [#x0EC0-#x0EC4] | [#x0F40-#x0F47] | [#x0F49-#x0F69] |
+ * [#x10A0-#x10C5] | [#x10D0-#x10F6] | #x1100 | [#x1102-#x1103] | [#x1105-#x1107] | #x1109 | [#x110B-#x110C] | [#x110E-#x1112] | #x113C | #x113E | #x1140 | #x114C | #x114E | #x1150 |
+ * [#x1154-#x1155] | #x1159 | [#x115F-#x1161] | #x1163 | #x1165 | #x1167 | #x1169 | [#x116D-#x116E] | [#x1172-#x1173] | #x1175 | #x119E | #x11A8 | #x11AB | [#x11AE-#x11AF] | [#x11B7-#x11B8] |
+ * #x11BA | [#x11BC-#x11C2] | #x11EB | #x11F0 | #x11F9 | [#x1E00-#x1E9B] | [#x1EA0-#x1EF9] | [#x1F00-#x1F15] | [#x1F18-#x1F1D] | [#x1F20-#x1F45] | [#x1F48-#x1F4D] | [#x1F50-#x1F57] | #x1F59 |
+ * #x1F5B | #x1F5D | [#x1F5F-#x1F7D] | [#x1F80-#x1FB4] | [#x1FB6-#x1FBC] | #x1FBE | [#x1FC2-#x1FC4] | [#x1FC6-#x1FCC] | [#x1FD0-#x1FD3] | [#x1FD6-#x1FDB] | [#x1FE0-#x1FEC] | [#x1FF2-#x1FF4] |
+ * [#x1FF6-#x1FFC] | #x2126 | [#x212A-#x212B] | #x212E | [#x2180-#x2182] | [#x3041-#x3094] | [#x30A1-#x30FA] | [#x3105-#x312C] | [#xAC00-#xD7A3] Ideographic ::= [#x4E00-#x9FA5] | #x3007 |
* [#x3021-#x3029]
*
* @return Random ID value
*/
- //Initialization of a generator of identifiers for all token SAML.
+ // Initialization of a generator of identifiers for all token SAML.
static {
loadRandomIdentifierGenerator();
}
@@ -169,7 +134,8 @@ public final class SAMLEngineUtils {
/**
* Load random identifier generator.
*
- *@throws STORKSAMLEngineRuntimeException the STORKSAML engine runtime exception
+ * @throws STORKSAMLEngineRuntimeException
+ * the STORKSAML engine runtime exception
*/
private static void loadRandomIdentifierGenerator() {
try {
@@ -184,49 +150,48 @@ public final class SAMLEngineUtils {
/**
* Creates the SAML object.
*
- * @param qname the QName
+ * @param qname
+ * the QName
*
* @return the XML object
*/
public static XMLObject createSamlObject(final QName qname) {
- if (qname.toString().endsWith(CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME))
- {
+ if (qname.toString().endsWith(CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME)) {
CustomAttributeQueryBuilder builder = new CustomAttributeQueryBuilder();
return builder.buildObject(qname);
- }
- else
- {
- return Configuration.getBuilderFactory().getBuilder(qname).buildObject(
- qname);
+ } else {
+ return Configuration.getBuilderFactory().getBuilder(qname).buildObject(qname);
}
}
/**
* Creates the SAML object.
*
- * @param qname the quality name
- * @param qname1 the qname1
+ * @param qname
+ * the quality name
+ * @param qname1
+ * the qname1
*
* @return the xML object
*/
- public static XMLObject createSamlObject(final QName qname,
- final QName qname1) {
- return Configuration.getBuilderFactory().getBuilder(qname1)
- .buildObject(qname, qname1);
+ public static XMLObject createSamlObject(final QName qname, final QName qname1) {
+ return Configuration.getBuilderFactory().getBuilder(qname1).buildObject(qname, qname1);
}
/**
* Encode value with an specific algorithm.
*
- * @param value the value
- * @param alg the algorithm
+ * @param value
+ * the value
+ * @param alg
+ * the algorithm
*
* @return the string
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public static String encode(final String value, final String alg)
- throws STORKSAMLEngineException {
+ public static String encode(final String value, final String alg) throws STORKSAMLEngineException {
LOG.debug("Encode value with " + alg + " algorithm.");
byte[] buffer;
final StringBuffer hash = new StringBuffer("");
@@ -257,16 +222,18 @@ public final class SAMLEngineUtils {
/**
* Generate assertion.
*
- * @param version the version
- * @param identifier the identifier
- * @param issueInstant the issue instant
- * @param issuer the issuer
+ * @param version
+ * the version
+ * @param identifier
+ * the identifier
+ * @param issueInstant
+ * the issue instant
+ * @param issuer
+ * the issuer
*
* @return the assertion
*/
- public static Assertion generateAssertion(final SAMLVersion version,
- final String identifier, final DateTime issueInstant,
- final Issuer issuer) {
+ public static Assertion generateAssertion(final SAMLVersion version, final String identifier, final DateTime issueInstant, final Issuer issuer) {
final AssertionBuilder assertionBuilder = new AssertionBuilder();
final Assertion assertion = assertionBuilder.buildObject();
assertion.setVersion(version);
@@ -280,16 +247,16 @@ public final class SAMLEngineUtils {
/**
* Generate authentication statement.
*
- * @param authnInstant the authentication instant
- * @param authnContext the authentication context
+ * @param authnInstant
+ * the authentication instant
+ * @param authnContext
+ * the authentication context
*
* @return the authentication statement
*/
- public static AuthnStatement generateAthnStatement(final DateTime authnInstant,
- final AuthnContext authnContext) {
+ public static AuthnStatement generateAthnStatement(final DateTime authnInstant, final AuthnContext authnContext) {
// <saml:AuthnStatement>
- final AuthnStatement authnStatement = (AuthnStatement) SAMLEngineUtils
- .createSamlObject(AuthnStatement.DEFAULT_ELEMENT_NAME);
+ final AuthnStatement authnStatement = (AuthnStatement) SAMLEngineUtils.createSamlObject(AuthnStatement.DEFAULT_ELEMENT_NAME);
authnStatement.setAuthnInstant(authnInstant);
authnStatement.setAuthnContext(authnContext);
return authnStatement;
@@ -298,51 +265,45 @@ public final class SAMLEngineUtils {
/**
* Generate attribute from a list of values.
*
- * @param name the name of the attribute.
- * @param status the status of the parameter: "Available", "NotAvailable" or
- * "Withheld".
- * @param values the value of the attribute.
- * @param isHashing the is hashing with "SHA-512" algorithm.
+ * @param name
+ * the name of the attribute.
+ * @param status
+ * the status of the parameter: "Available", "NotAvailable" or "Withheld".
+ * @param values
+ * the value of the attribute.
+ * @param isHashing
+ * the is hashing with "SHA-512" algorithm.
* @return the attribute
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public static Attribute generateAttrComplex(final String name,
- final String status, final Map<String, String> values,
- final boolean isHashing) throws STORKSAMLEngineException {
+ public static Attribute generateAttrComplex(final String name, final String status, final Map<String, String> values, final boolean isHashing) throws STORKSAMLEngineException {
LOG.debug("Generate attribute complex: " + name);
- final Attribute attribute = (Attribute) SAMLEngineUtils
- .createSamlObject(Attribute.DEFAULT_ELEMENT_NAME);
+ final Attribute attribute = (Attribute) SAMLEngineUtils.createSamlObject(Attribute.DEFAULT_ELEMENT_NAME);
attribute.setName(name);
attribute.setNameFormat(Attribute.URI_REFERENCE);
- attribute.getUnknownAttributes().put(
- new QName(SAMLCore.STORK10_NS.getValue(), "AttributeStatus",
- SAMLCore.STORK10_PREFIX.getValue()), status);
+ attribute.getUnknownAttributes().put(new QName(SAMLCore.STORK10_NS.getValue(), "AttributeStatus", SAMLCore.STORK10_PREFIX.getValue()), status);
if (!values.isEmpty()) {
LOG.debug("Add attribute values.");
// Create an attribute that contains all XSAny elements.
- final XSAny attrValue = (XSAny) SAMLEngineUtils.createSamlObject(
- AttributeValue.DEFAULT_ELEMENT_NAME, XSAny.TYPE_NAME);
- final Iterator<Entry<String, String>> iterator = values.entrySet()
- .iterator();
+ final XSAny attrValue = (XSAny) SAMLEngineUtils.createSamlObject(AttributeValue.DEFAULT_ELEMENT_NAME, XSAny.TYPE_NAME);
+ final Iterator<Entry<String, String>> iterator = values.entrySet().iterator();
while (iterator.hasNext()) {
final Map.Entry<String, String> pairs = iterator.next();
final String value = pairs.getValue();
if (StringUtils.isNotBlank(value)) {
// Create the attribute statement
- final XSAny attrValueSimple = (XSAny) SAMLEngineUtils
- .createSamlObject(new QName(SAMLCore.STORK10_NS.getValue(),
- pairs.getKey().toString(),
- SAMLCore.STORK10_PREFIX.getValue()), XSAny.TYPE_NAME);
+ final XSAny attrValueSimple = (XSAny) SAMLEngineUtils.createSamlObject(new QName(SAMLCore.STORK10_NS.getValue(), pairs.getKey().toString(), SAMLCore.STORK10_PREFIX.getValue()),
+ XSAny.TYPE_NAME);
// if it's necessary encode the information.
if (isHashing) {
- attrValueSimple
- .setTextContent(encode(value, SHA_512));
+ attrValueSimple.setTextContent(encode(value, SHA_512));
} else {
attrValueSimple.setTextContent(value);
- }
+ }
attrValue.getUnknownXMLObjects().add(attrValueSimple);
attribute.getAttributeValues().add(attrValue);
}
@@ -359,8 +320,7 @@ public final class SAMLEngineUtils {
*/
public static Extensions generateExtension() {
final ExtensionsBuilder extensionsBuilder = new ExtensionsBuilder();
- return extensionsBuilder.buildObject(
- "urn:oasis:names:tc:SAML:2.0:protocol", "Extensions", "saml2p");
+ return extensionsBuilder.buildObject("urn:oasis:names:tc:SAML:2.0:protocol", "Extensions", "saml2p");
}
/**
@@ -369,8 +329,7 @@ public final class SAMLEngineUtils {
* @return the issuer
*/
public static Issuer generateIssuer() {
- return (Issuer) SAMLEngineUtils
- .createSamlObject(Issuer.DEFAULT_ELEMENT_NAME);
+ return (Issuer) SAMLEngineUtils.createSamlObject(Issuer.DEFAULT_ELEMENT_NAME);
}
/**
@@ -379,8 +338,7 @@ public final class SAMLEngineUtils {
* @return the key info
*/
public static KeyInfo generateKeyInfo() {
- return (KeyInfo) SAMLEngineUtils
- .createSamlObject(KeyInfo.DEFAULT_ELEMENT_NAME);
+ return (KeyInfo) SAMLEngineUtils.createSamlObject(KeyInfo.DEFAULT_ELEMENT_NAME);
}
/**
@@ -389,25 +347,24 @@ public final class SAMLEngineUtils {
* @return the name id
*/
public static NameID generateNameID() {
- return (NameID) SAMLEngineUtils
- .createSamlObject(NameID.DEFAULT_ELEMENT_NAME);
+ return (NameID) SAMLEngineUtils.createSamlObject(NameID.DEFAULT_ELEMENT_NAME);
}
/**
* Generate name id.
*
- * @param nameQualifier the name qualifier
- * @param format the format
- * @param spNameQualifier the sP name qualifier
+ * @param nameQualifier
+ * the name qualifier
+ * @param format
+ * the format
+ * @param spNameQualifier
+ * the sP name qualifier
*
* @return the name id
*/
- public static NameID generateNameID(final String nameQualifier,
- final String format, final String spNameQualifier) {
+ public static NameID generateNameID(final String nameQualifier, final String format, final String spNameQualifier) {
// <saml:NameID>
- final NameID nameId = (NameID) Configuration.getBuilderFactory()
- .getBuilder(NameID.DEFAULT_ELEMENT_NAME).buildObject(
- NameID.DEFAULT_ELEMENT_NAME);
+ final NameID nameId = (NameID) Configuration.getBuilderFactory().getBuilder(NameID.DEFAULT_ELEMENT_NAME).buildObject(NameID.DEFAULT_ELEMENT_NAME);
// optional
nameId.setNameQualifier(nameQualifier);
// optional
@@ -429,18 +386,18 @@ public final class SAMLEngineUtils {
/**
* Generate the quality authentication assurance level.
*
- * @param qaal the level of quality authentication assurance.
+ * @param qaal
+ * the level of quality authentication assurance.
*
* @return the quality authentication assurance attribute
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public static QAAAttribute generateQAAAttribute(final int qaal)
- throws STORKSAMLEngineException {
+ public static QAAAttribute generateQAAAttribute(final int qaal) throws STORKSAMLEngineException {
LOG.debug("Generate QAAAttribute.");
- final QAAAttribute qaaAttribute = (QAAAttribute) SAMLEngineUtils
- .createSamlObject(QAAAttribute.DEF_ELEMENT_NAME);
+ final QAAAttribute qaaAttribute = (QAAAttribute) SAMLEngineUtils.createSamlObject(QAAAttribute.DEF_ELEMENT_NAME);
qaaAttribute.setQaaLevel(String.valueOf(qaal));
return qaaAttribute;
}
@@ -448,20 +405,21 @@ public final class SAMLEngineUtils {
/**
* Generate requested attribute.
*
- * @param name the name
- * @param friendlyName the friendly name
- * @param isRequired the is required
- * @param value the value
+ * @param name
+ * the name
+ * @param friendlyName
+ * the friendly name
+ * @param isRequired
+ * the is required
+ * @param value
+ * the value
*
* @return the requested attribute
*/
- public static RequestedAttribute generateReqAuthnAttributeSimple(
- final String name, final String friendlyName,
- final String isRequired, final List<String> value) {
+ public static RequestedAttribute generateReqAuthnAttributeSimple(final String name, final String friendlyName, final String isRequired, final List<String> value) {
LOG.debug("Generate the requested attribute.");
- final RequestedAttribute requested = (RequestedAttribute) SAMLEngineUtils
- .createSamlObject(RequestedAttribute.DEF_ELEMENT_NAME);
+ final RequestedAttribute requested = (RequestedAttribute) SAMLEngineUtils.createSamlObject(RequestedAttribute.DEF_ELEMENT_NAME);
requested.setName(name);
requested.setNameFormat(RequestedAttribute.URI_REFERENCE);
@@ -473,26 +431,22 @@ public final class SAMLEngineUtils {
if (!value.isEmpty()) {
for (int nextValue = 0; nextValue < value.size(); nextValue++) {
final String valor = value.get(nextValue);
- if (StringUtils.isNotBlank(valor)) {
+ if (StringUtils.isNotBlank(valor)) {
- if(!name.equals("http://www.stork.gov.eu/1.0/signedDoc")){
+ if (!name.equals("http://www.stork.gov.eu/1.0/signedDoc")) {
// Create the attribute statement
- final XSAny attrValue = (XSAny) SAMLEngineUtils
- .createSamlObject(
- new QName(SAMLCore.STORK10_NS.getValue(),
- "AttributeValue",
- SAMLCore.STORK10_PREFIX.getValue()),
- XSAny.TYPE_NAME);
+ final XSAny attrValue = (XSAny) SAMLEngineUtils.createSamlObject(new QName(SAMLCore.STORK10_NS.getValue(), "AttributeValue", SAMLCore.STORK10_PREFIX.getValue()),
+ XSAny.TYPE_NAME);
attrValue.setTextContent(valor.trim());
requested.getAttributeValues().add(attrValue);
- }else{
+ } else {
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
- domFactory.setNamespaceAware(true);
- Document document = null;
+ domFactory.setNamespaceAware(true);
+ Document document = null;
DocumentBuilder builder;
// Parse the signedDoc value into an XML DOM Document
@@ -501,7 +455,7 @@ public final class SAMLEngineUtils {
InputStream is;
is = new ByteArrayInputStream(valor.trim().getBytes(UTF_8));
document = builder.parse(is);
- is.close();
+ is.close();
} catch (SAXException e1) {
LOG.error("SAX Error while parsing signModule attribute", e1);
throw new STORKSAMLEngineRuntimeException(e1);
@@ -517,31 +471,21 @@ public final class SAMLEngineUtils {
}
// Create the XML statement(this will be overwritten with the previous DOM structure)
- final XSAny xmlValue = (XSAny) SAMLEngineUtils
- .createSamlObject(
- new QName(SAMLCore.STORK10_NS.getValue(),
- "XMLValue",
- SAMLCore.STORK10_PREFIX.getValue()),
- XSAny.TYPE_NAME);
-
- //Set the signedDoc XML content to this element
+ final XSAny xmlValue = (XSAny) SAMLEngineUtils.createSamlObject(new QName(SAMLCore.STORK10_NS.getValue(), "XMLValue", SAMLCore.STORK10_PREFIX.getValue()), XSAny.TYPE_NAME);
+
+ // Set the signedDoc XML content to this element
xmlValue.setDOM(document.getDocumentElement());
// Create the attribute statement
- final XSAny attrValue = (XSAny) SAMLEngineUtils
- .createSamlObject(
- new QName(SAMLCore.STORK10_NS.getValue(),
- "AttributeValue",
- SAMLCore.STORK10_PREFIX.getValue()),
- XSAny.TYPE_NAME);
-
- //Add previous signedDocXML to the AttributeValue Element
+ final XSAny attrValue = (XSAny) SAMLEngineUtils.createSamlObject(new QName(SAMLCore.STORK10_NS.getValue(), "AttributeValue", SAMLCore.STORK10_PREFIX.getValue()),
+ XSAny.TYPE_NAME);
+
+ // Add previous signedDocXML to the AttributeValue Element
attrValue.getUnknownXMLObjects().add(xmlValue);
- requested.getAttributeValues().add(attrValue);
+ requested.getAttributeValues().add(attrValue);
}
-
}
}
}
@@ -552,18 +496,19 @@ public final class SAMLEngineUtils {
/**
* Generate response.
*
- * @param version the version
- * @param identifier the identifier
- * @param issueInstant the issue instant
- * @param status the status
+ * @param version
+ * the version
+ * @param identifier
+ * the identifier
+ * @param issueInstant
+ * the issue instant
+ * @param status
+ * the status
*
* @return the response
*/
- public static Response generateResponse(final SAMLVersion version,
- final String identifier, final DateTime issueInstant,
- final Status status) {
- final Response response = (Response) SAMLEngineUtils
- .createSamlObject(Response.DEFAULT_ELEMENT_NAME);
+ public static Response generateResponse(final SAMLVersion version, final String identifier, final DateTime issueInstant, final Status status) {
+ final Response response = (Response) SAMLEngineUtils.createSamlObject(Response.DEFAULT_ELEMENT_NAME);
response.setID(identifier);
response.setIssueInstant(issueInstant);
response.setStatus(status);
@@ -571,20 +516,20 @@ public final class SAMLEngineUtils {
}
/**
- * Method that generates a SAML Authentication Request basing on the
- * provided information.
+ * Method that generates a SAML Authentication Request basing on the provided information.
*
- * @param identifier the identifier
- * @param version the version
- * @param issueInstant the issue instant
+ * @param identifier
+ * the identifier
+ * @param version
+ * the version
+ * @param issueInstant
+ * the issue instant
*
* @return the authentication request
*/
- public static AuthnRequest generateSAMLAuthnRequest(final String identifier,
- final SAMLVersion version, final DateTime issueInstant) {
+ public static AuthnRequest generateSAMLAuthnRequest(final String identifier, final SAMLVersion version, final DateTime issueInstant) {
LOG.debug("Generate basic authentication request.");
- final AuthnRequest authnRequest = (AuthnRequest) SAMLEngineUtils
- .createSamlObject(AuthnRequest.DEFAULT_ELEMENT_NAME);
+ final AuthnRequest authnRequest = (AuthnRequest) SAMLEngineUtils.createSamlObject(AuthnRequest.DEFAULT_ELEMENT_NAME);
authnRequest.setID(identifier);
authnRequest.setVersion(version);
@@ -592,11 +537,9 @@ public final class SAMLEngineUtils {
return authnRequest;
}
- public static CustomAttributeQuery generateSAMLAttrQueryRequest(final String identifier,
- final SAMLVersion version, final DateTime issueInstant) {
+ public static CustomAttributeQuery generateSAMLAttrQueryRequest(final String identifier, final SAMLVersion version, final DateTime issueInstant) {
LOG.debug("Generate attribute query request.");
- final CustomAttributeQuery attrQueryRequest = (CustomAttributeQuery) SAMLEngineUtils
- .createSamlObject(CustomAttributeQuery.DEFAULT_ELEMENT_NAME);
+ final CustomAttributeQuery attrQueryRequest = (CustomAttributeQuery) SAMLEngineUtils.createSamlObject(CustomAttributeQuery.DEFAULT_ELEMENT_NAME);
attrQueryRequest.setID(identifier);
attrQueryRequest.setVersion(version);
@@ -604,12 +547,9 @@ public final class SAMLEngineUtils {
return attrQueryRequest;
}
- public static LogoutRequest generateSAMLLogoutRequest(final String identifier,
- final SAMLVersion version, final DateTime issueInstant) {
+ public static LogoutRequest generateSAMLLogoutRequest(final String identifier, final SAMLVersion version, final DateTime issueInstant) {
LOG.debug("Generate logout request.");
- final LogoutRequest logoutRequest = (LogoutRequest)SAMLEngineUtils.
- createSamlObject(LogoutRequest.DEFAULT_ELEMENT_NAME);
-
+ final LogoutRequest logoutRequest = (LogoutRequest) SAMLEngineUtils.createSamlObject(LogoutRequest.DEFAULT_ELEMENT_NAME);
logoutRequest.setID(identifier);
logoutRequest.setVersion(version);
@@ -617,12 +557,9 @@ public final class SAMLEngineUtils {
return logoutRequest;
}
- public static LogoutResponse generateSAMLLogoutResponse(final String identifier,
- final SAMLVersion version, final DateTime issueInstant,
- final Status status, final String inResponseTo) {
+ public static LogoutResponse generateSAMLLogoutResponse(final String identifier, final SAMLVersion version, final DateTime issueInstant, final Status status, final String inResponseTo) {
LOG.debug("Generate logout response.");
- final LogoutResponse logoutResponse = (LogoutResponse)SAMLEngineUtils.
- createSamlObject(LogoutResponse.DEFAULT_ELEMENT_NAME);
+ final LogoutResponse logoutResponse = (LogoutResponse) SAMLEngineUtils.createSamlObject(LogoutResponse.DEFAULT_ELEMENT_NAME);
logoutResponse.setInResponseTo(inResponseTo);
logoutResponse.setStatus(status);
@@ -635,18 +572,18 @@ public final class SAMLEngineUtils {
/**
* Generate service provider application.
*
- * @param spApplication the service provider application
+ * @param spApplication
+ * the service provider application
*
* @return the sP application
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public static SPApplication generateSPApplication(final String spApplication)
- throws STORKSAMLEngineException {
+ public static SPApplication generateSPApplication(final String spApplication) throws STORKSAMLEngineException {
LOG.debug("Generate SPApplication.");
- final SPApplication applicationAttr = (SPApplication) SAMLEngineUtils
- .createSamlObject(SPApplication.DEF_ELEMENT_NAME);
+ final SPApplication applicationAttr = (SPApplication) SAMLEngineUtils.createSamlObject(SPApplication.DEF_ELEMENT_NAME);
applicationAttr.setSPApplication(spApplication);
return applicationAttr;
}
@@ -654,18 +591,18 @@ public final class SAMLEngineUtils {
/**
* Generate service provider country.
*
- * @param spCountry the service provider country
+ * @param spCountry
+ * the service provider country
*
* @return the service provider country
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public static SPCountry generateSPCountry(final String spCountry)
- throws STORKSAMLEngineException {
+ public static SPCountry generateSPCountry(final String spCountry) throws STORKSAMLEngineException {
LOG.debug("Generate SPApplication.");
- final SPCountry countryAttribute = (SPCountry) SAMLEngineUtils
- .createSamlObject(SPCountry.DEF_ELEMENT_NAME);
+ final SPCountry countryAttribute = (SPCountry) SAMLEngineUtils.createSamlObject(SPCountry.DEF_ELEMENT_NAME);
countryAttribute.setSPCountry(spCountry);
return countryAttribute;
}
@@ -673,18 +610,18 @@ public final class SAMLEngineUtils {
/**
* Generate service provider institution.
*
- * @param spInstitution the service provider institution
+ * @param spInstitution
+ * the service provider institution
*
* @return the service provider institution
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public static SPInstitution generateSPInstitution(final String spInstitution)
- throws STORKSAMLEngineException {
+ public static SPInstitution generateSPInstitution(final String spInstitution) throws STORKSAMLEngineException {
LOG.debug("Generate SPInstitution.");
- final SPInstitution institutionAttr = (SPInstitution) SAMLEngineUtils
- .createSamlObject(SPInstitution.DEF_ELEMENT_NAME);
+ final SPInstitution institutionAttr = (SPInstitution) SAMLEngineUtils.createSamlObject(SPInstitution.DEF_ELEMENT_NAME);
institutionAttr.setSPInstitution(spInstitution);
return institutionAttr;
}
@@ -692,18 +629,18 @@ public final class SAMLEngineUtils {
/**
* Generate service provider sector.
*
- * @param spSector the service provider sector
+ * @param spSector
+ * the service provider sector
*
* @return the service provider sector
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public static SPSector generateSPSector(final String spSector)
- throws STORKSAMLEngineException {
+ public static SPSector generateSPSector(final String spSector) throws STORKSAMLEngineException {
LOG.debug("Generate SPSector.");
- final SPSector sectorAttribute = (SPSector) SAMLEngineUtils
- .createSamlObject(SPSector.DEF_ELEMENT_NAME);
+ final SPSector sectorAttribute = (SPSector) SAMLEngineUtils.createSamlObject(SPSector.DEF_ELEMENT_NAME);
sectorAttribute.setSPSector(spSector);
return sectorAttribute;
}
@@ -711,13 +648,13 @@ public final class SAMLEngineUtils {
/**
* Generate status.
*
- * @param statusCode the status code
+ * @param statusCode
+ * the status code
*
* @return the status
*/
public static Status generateStatus(final StatusCode statusCode) {
- final Status status = (Status) SAMLEngineUtils
- .createSamlObject(Status.DEFAULT_ELEMENT_NAME);
+ final Status status = (Status) SAMLEngineUtils.createSamlObject(Status.DEFAULT_ELEMENT_NAME);
status.setStatusCode(statusCode);
return status;
}
@@ -725,13 +662,13 @@ public final class SAMLEngineUtils {
/**
* Generate status code.
*
- * @param value the value
+ * @param value
+ * the value
*
* @return the status code
*/
public static StatusCode generateStatusCode(final String value) {
- final StatusCode statusCode = (StatusCode) SAMLEngineUtils
- .createSamlObject(StatusCode.DEFAULT_ELEMENT_NAME);
+ final StatusCode statusCode = (StatusCode) SAMLEngineUtils.createSamlObject(StatusCode.DEFAULT_ELEMENT_NAME);
statusCode.setValue(value);
return statusCode;
}
@@ -739,13 +676,13 @@ public final class SAMLEngineUtils {
/**
* Generate status message.
*
- * @param message the message
+ * @param message
+ * the message
*
* @return the status message
*/
public static StatusMessage generateStatusMessage(final String message) {
- final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils
- .createSamlObject(StatusMessage.DEFAULT_ELEMENT_NAME);
+ final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils.createSamlObject(StatusMessage.DEFAULT_ELEMENT_NAME);
statusMessage.setMessage(message);
return statusMessage;
}
@@ -756,24 +693,22 @@ public final class SAMLEngineUtils {
* @return the subject
*/
public static Subject generateSubject() {
- return (Subject) SAMLEngineUtils
- .createSamlObject(Subject.DEFAULT_ELEMENT_NAME);
+ return (Subject) SAMLEngineUtils.createSamlObject(Subject.DEFAULT_ELEMENT_NAME);
}
/**
* Generate subject confirmation.
*
- * @param method the method
- * @param data the data
+ * @param method
+ * the method
+ * @param data
+ * the data
*
* @return the subject confirmation
*/
- public static SubjectConfirmation generateSubjectConfirmation(
- final String method, final SubjectConfirmationData data) {
- final SubjectConfirmation subjectConf = (SubjectConfirmation) Configuration
- .getBuilderFactory().getBuilder(
- SubjectConfirmation.DEFAULT_ELEMENT_NAME).buildObject(
- SubjectConfirmation.DEFAULT_ELEMENT_NAME);
+ public static SubjectConfirmation generateSubjectConfirmation(final String method, final SubjectConfirmationData data) {
+ final SubjectConfirmation subjectConf = (SubjectConfirmation) Configuration.getBuilderFactory().getBuilder(SubjectConfirmation.DEFAULT_ELEMENT_NAME)
+ .buildObject(SubjectConfirmation.DEFAULT_ELEMENT_NAME);
subjectConf.setMethod(method);
@@ -785,17 +720,17 @@ public final class SAMLEngineUtils {
/**
* Generate subject confirmation data.
*
- * @param notOnOrAfter the not on or after
- * @param recipient the recipient
- * @param inResponseTo the in response to
+ * @param notOnOrAfter
+ * the not on or after
+ * @param recipient
+ * the recipient
+ * @param inResponseTo
+ * the in response to
*
* @return the subject confirmation data
*/
- public static SubjectConfirmationData generateSubjectConfirmationData(
- final DateTime notOnOrAfter, final String recipient,
- final String inResponseTo) {
- final SubjectConfirmationData subjectConfData = (SubjectConfirmationData) SAMLEngineUtils
- .createSamlObject(SubjectConfirmationData.DEFAULT_ELEMENT_NAME);
+ public static SubjectConfirmationData generateSubjectConfirmationData(final DateTime notOnOrAfter, final String recipient, final String inResponseTo) {
+ final SubjectConfirmationData subjectConfData = (SubjectConfirmationData) SAMLEngineUtils.createSamlObject(SubjectConfirmationData.DEFAULT_ELEMENT_NAME);
subjectConfData.setNotOnOrAfter(notOnOrAfter);
subjectConfData.setRecipient(recipient);
subjectConfData.setInResponseTo(inResponseTo);
@@ -805,13 +740,13 @@ public final class SAMLEngineUtils {
/**
* Generate subject locality.
*
- * @param address the address
+ * @param address
+ * the address
*
* @return the subject locality
*/
public static SubjectLocality generateSubjectLocality(final String address) {
- final SubjectLocality subjectLocality = (SubjectLocality) SAMLEngineUtils
- .createSamlObject(SubjectLocality.DEFAULT_ELEMENT_NAME);
+ final SubjectLocality subjectLocality = (SubjectLocality) SAMLEngineUtils.createSamlObject(SubjectLocality.DEFAULT_ELEMENT_NAME);
subjectLocality.setAddress(address);
return subjectLocality;
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/STORKSAMLEngine.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/STORKSAMLEngine.java
index 6bdf7b320..7bf5d5ca8 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/STORKSAMLEngine.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/STORKSAMLEngine.java
@@ -175,10 +175,8 @@ import eu.stork.peps.exceptions.STORKSAMLEngineException;
import eu.stork.peps.exceptions.STORKSAMLEngineRuntimeException;
/**
- * Class that wraps the operations over SAML tokens, both generation and
- * validation of SAML STORK requests and SAML STORK responses. Complaint with
- * "OASIS Secure Assertion Markup Language (SAML) 2.0, May 2005", but taking
- * into account STORK specific requirements.
+ * Class that wraps the operations over SAML tokens, both generation and validation of SAML STORK requests and SAML STORK responses. Complaint with
+ * "OASIS Secure Assertion Markup Language (SAML) 2.0, May 2005", but taking into account STORK specific requirements.
*
* @author fjquevedo
* @author iinigo
@@ -186,26 +184,25 @@ import eu.stork.peps.exceptions.STORKSAMLEngineRuntimeException;
public final class STORKSAMLEngine extends SAMLEngine {
/** The Constant LOG. */
- private static final Logger LOG = LoggerFactory
- .getLogger(STORKSAMLEngine.class.getName());
+ private static final Logger LOG = LoggerFactory.getLogger(STORKSAMLEngine.class.getName());
+
+ private static final String ATTRIBUTE_EMPTY_LITERAL = "Attribute name is null or empty.";
- private static final String ATTRIBUTE_EMPTY_LITERAL = "Attribute name is null or empty.";
/**
* Gets the single instance of STORKSAMLEngine.
*
- * @param nameInstance the name instance
+ * @param nameInstance
+ * the name instance
*
* @return single instance of STORKSAMLEngine
*/
- public static synchronized STORKSAMLEngine getInstance(
- final String nameInstance) {
+ public static synchronized STORKSAMLEngine getInstance(final String nameInstance) {
STORKSAMLEngine engine = null;
LOG.info("Get instance: " + nameInstance);
try {
engine = new STORKSAMLEngine(nameInstance.trim());
} catch (Exception e) {
- LOG.error("Error getting instance: " + nameInstance);
- e.printStackTrace();
+ LOG.error("Error get instance: " + nameInstance);
}
return engine;
}
@@ -213,130 +210,79 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Instantiate a new STORKSAML engine.
*
- * @param nameInstance the name instance
+ * @param nameInstance
+ * the name instance
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private STORKSAMLEngine(final String nameInstance)
- throws STORKSAMLEngineException {
+ private STORKSAMLEngine(final String nameInstance) throws STORKSAMLEngineException {
// Initialization OpenSAML.
super(nameInstance);
LOG.info("Register STORK objects provider.");
- Configuration.registerObjectProvider(QAAAttribute.DEF_ELEMENT_NAME,
- new QAAAttributeBuilder(), new QAAAttributeMarshaller(),
- new QAAAttributeUnmarshaller());
-
- Configuration.registerObjectProvider(EIDSectorShare.DEF_ELEMENT_NAME,
- new EIDSectorShareBuilder(), new EIDSectorShareMarshaller(),
- new EIDSectorShareUnmarshaller());
-
- Configuration.registerObjectProvider(
- EIDCrossSectorShare.DEF_ELEMENT_NAME,
- new EIDCrossSectorShareBuilder(),
- new EIDCrossSectorShareMarshaller(),
- new EIDCrossSectorShareUnmarshaller());
-
- Configuration.registerObjectProvider(
- EIDCrossBorderShare.DEF_ELEMENT_NAME,
- new EIDCrossBorderShareBuilder(),
- new EIDCrossBorderShareMarshaller(),
- new EIDCrossBorderShareUnmarshaller());
-
- Configuration.registerObjectProvider(SPSector.DEF_ELEMENT_NAME,
- new SPSectorBuilder(), new SPSectorMarshaller(),
- new SPSectorUnmarshaller());
-
- Configuration.registerObjectProvider(SPInstitution.DEF_ELEMENT_NAME,
- new SPInstitutionBuilder(), new SPInstitutionMarshaller(),
- new SPInstitutionUnmarshaller());
-
- Configuration.registerObjectProvider(SPApplication.DEF_ELEMENT_NAME,
- new SPApplicationBuilder(), new SPApplicationMarshaller(),
- new SPApplicationUnmarshaller());
-
- Configuration.registerObjectProvider(SPCountry.DEF_ELEMENT_NAME,
- new SPCountryBuilder(), new SPCountryMarshaller(),
- new SPCountryUnmarshaller());
-
- Configuration.registerObjectProvider(XSAny.TYPE_NAME,
- new XSAnyBuilder(), new XSAnyMarshaller(),
- new XSAnyUnmarshaller());
-
- Configuration.registerObjectProvider(
- RequestedAttribute.DEF_ELEMENT_NAME,
- new RequestedAttributeBuilder(),
- new RequestedAttributeMarshaller(),
- new RequestedAttributeUnmarshaller());
-
- Configuration.registerObjectProvider(
- RequestedAttributes.DEF_ELEMENT_NAME,
- new RequestedAttributesBuilder(),
- new RequestedAttributesMarshaller(),
- new RequestedAttributesUnmarshaller());
-
- Configuration.registerObjectProvider(
- AuthenticationAttributes.DEF_ELEMENT_NAME,
- new AuthenticationAttributesBuilder(),
- new AuthenticationAttributesMarshaller(),
+ Configuration.registerObjectProvider(QAAAttribute.DEF_ELEMENT_NAME, new QAAAttributeBuilder(), new QAAAttributeMarshaller(), new QAAAttributeUnmarshaller());
+
+ Configuration.registerObjectProvider(EIDSectorShare.DEF_ELEMENT_NAME, new EIDSectorShareBuilder(), new EIDSectorShareMarshaller(), new EIDSectorShareUnmarshaller());
+
+ Configuration.registerObjectProvider(EIDCrossSectorShare.DEF_ELEMENT_NAME, new EIDCrossSectorShareBuilder(), new EIDCrossSectorShareMarshaller(), new EIDCrossSectorShareUnmarshaller());
+
+ Configuration.registerObjectProvider(EIDCrossBorderShare.DEF_ELEMENT_NAME, new EIDCrossBorderShareBuilder(), new EIDCrossBorderShareMarshaller(), new EIDCrossBorderShareUnmarshaller());
+
+ Configuration.registerObjectProvider(SPSector.DEF_ELEMENT_NAME, new SPSectorBuilder(), new SPSectorMarshaller(), new SPSectorUnmarshaller());
+
+ Configuration.registerObjectProvider(SPInstitution.DEF_ELEMENT_NAME, new SPInstitutionBuilder(), new SPInstitutionMarshaller(), new SPInstitutionUnmarshaller());
+
+ Configuration.registerObjectProvider(SPApplication.DEF_ELEMENT_NAME, new SPApplicationBuilder(), new SPApplicationMarshaller(), new SPApplicationUnmarshaller());
+
+ Configuration.registerObjectProvider(SPCountry.DEF_ELEMENT_NAME, new SPCountryBuilder(), new SPCountryMarshaller(), new SPCountryUnmarshaller());
+
+ Configuration.registerObjectProvider(XSAny.TYPE_NAME, new XSAnyBuilder(), new XSAnyMarshaller(), new XSAnyUnmarshaller());
+
+ Configuration.registerObjectProvider(RequestedAttribute.DEF_ELEMENT_NAME, new RequestedAttributeBuilder(), new RequestedAttributeMarshaller(), new RequestedAttributeUnmarshaller());
+
+ Configuration.registerObjectProvider(RequestedAttributes.DEF_ELEMENT_NAME, new RequestedAttributesBuilder(), new RequestedAttributesMarshaller(), new RequestedAttributesUnmarshaller());
+
+ Configuration.registerObjectProvider(AuthenticationAttributes.DEF_ELEMENT_NAME, new AuthenticationAttributesBuilder(), new AuthenticationAttributesMarshaller(),
new AuthenticationAttributesUnmarshaller());
- Configuration.registerObjectProvider(
- VIDPAuthenticationAttributes.DEF_ELEMENT_NAME,
- new VIDPAuthenticationAttributesBuilder(),
- new VIDPAuthenticationAttributesMarshaller(),
+ Configuration.registerObjectProvider(VIDPAuthenticationAttributes.DEF_ELEMENT_NAME, new VIDPAuthenticationAttributesBuilder(), new VIDPAuthenticationAttributesMarshaller(),
new VIDPAuthenticationAttributesUnmarshaller());
- Configuration.registerObjectProvider(
- CitizenCountryCode.DEF_ELEMENT_NAME,
- new CitizenCountryCodeBuilder(),
- new CitizenCountryCodeMarshaller(),
- new CitizenCountryCodeUnmarshaller());
+ Configuration.registerObjectProvider(CitizenCountryCode.DEF_ELEMENT_NAME, new CitizenCountryCodeBuilder(), new CitizenCountryCodeMarshaller(), new CitizenCountryCodeUnmarshaller());
- Configuration.registerObjectProvider(
- SPID.DEF_ELEMENT_NAME,
- new SPIDBuilder(),
- new SPIDMarshaller(),
- new SPIDUnmarshaller());
+ Configuration.registerObjectProvider(SPID.DEF_ELEMENT_NAME, new SPIDBuilder(), new SPIDMarshaller(), new SPIDUnmarshaller());
- Configuration.registerObjectProvider(
- SPInformation.DEF_ELEMENT_NAME,
- new SPInformationBuilder(),
- new SPInformationMarshaller(),
- new SPInformationUnmarshaller());
+ Configuration.registerObjectProvider(SPInformation.DEF_ELEMENT_NAME, new SPInformationBuilder(), new SPInformationMarshaller(), new SPInformationUnmarshaller());
LOG.info("Register STORK object validators.");
- final ValidatorSuite validatorSuite = new ValidatorSuite(
- QAAAttribute.DEF_LOCAL_NAME);
+ final ValidatorSuite validatorSuite = new ValidatorSuite(QAAAttribute.DEF_LOCAL_NAME);
- validatorSuite.registerValidator(QAAAttribute.DEF_ELEMENT_NAME,
- new QAAAttributeSchemaValidator());
+ validatorSuite.registerValidator(QAAAttribute.DEF_ELEMENT_NAME, new QAAAttributeSchemaValidator());
final Extensions extensions = SAMLEngineUtils.generateExtension();
- validatorSuite.registerValidator(extensions.getElementQName(),
- new ExtensionsSchemaValidator());
+ validatorSuite.registerValidator(extensions.getElementQName(), new ExtensionsSchemaValidator());
- Configuration.registerValidatorSuite(
- "stork:QualityAuthenticationAssuranceLevel", validatorSuite);
+ Configuration.registerValidatorSuite("stork:QualityAuthenticationAssuranceLevel", validatorSuite);
}
/**
* Generate authentication response base.
*
- * @param status the status
- * @param assertConsumerURL the assert consumer URL.
- * @param inResponseTo the in response to
+ * @param status
+ * the status
+ * @param assertConsumerURL
+ * the assert consumer URL.
+ * @param inResponseTo
+ * the in response to
*
* @return the response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private Response genAuthnRespBase(final Status status,
- final String assertConsumerURL, final String inResponseTo)
- throws STORKSAMLEngineException {
+ private Response genAuthnRespBase(final Status status, final String assertConsumerURL, final String inResponseTo) throws STORKSAMLEngineException {
LOG.debug("Generate Authentication Response base.");
- final Response response = SAMLEngineUtils.generateResponse(
- SAMLVersion.VERSION_20, SAMLEngineUtils.generateNCName(),
- SAMLEngineUtils.getCurrentTime(), status);
+ final Response response = SAMLEngineUtils.generateResponse(SAMLVersion.VERSION_20, SAMLEngineUtils.generateNCName(), SAMLEngineUtils.getCurrentTime(), status);
// Set name Spaces
this.setNameSpaces(response);
@@ -358,30 +304,29 @@ public final class STORKSAMLEngine extends SAMLEngine {
response.setInResponseTo(inResponseTo.trim());
// Optional STORK
- response.setConsent(super.getSamlCoreProperties()
- .getConsentAuthnResponse());
+ response.setConsent(super.getSamlCoreProperties().getConsentAuthnResponse());
return response;
}
-
+
/**
* Generate attribute query response base.
*
- * @param status the status
- * @param destinationURL the assert consumer URL.
- * @param inResponseTo the in response to
+ * @param status
+ * the status
+ * @param destinationURL
+ * the assert consumer URL.
+ * @param inResponseTo
+ * the in response to
*
* @return the response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private Response genAttrQueryRespBase(final Status status,
- final String destinationURL, final String inResponseTo)
- throws STORKSAMLEngineException {
+ private Response genAttrQueryRespBase(final Status status, final String destinationURL, final String inResponseTo) throws STORKSAMLEngineException {
LOG.debug("Generate Attribute query Response base.");
- final Response response = SAMLEngineUtils.generateResponse(
- SAMLVersion.VERSION_20, SAMLEngineUtils.generateNCName(),
- SAMLEngineUtils.getCurrentTime(), status);
+ final Response response = SAMLEngineUtils.generateResponse(SAMLVersion.VERSION_20, SAMLEngineUtils.generateNCName(), SAMLEngineUtils.getCurrentTime(), status);
// Set name Spaces
this.setNameSpaces(response);
@@ -403,8 +348,7 @@ public final class STORKSAMLEngine extends SAMLEngine {
response.setInResponseTo(inResponseTo.trim());
// Optional STORK
- response.setConsent(super.getSamlCoreProperties()
- .getConsentAuthnResponse());
+ response.setConsent(super.getSamlCoreProperties().getConsentAuthnResponse());
return response;
}
@@ -412,20 +356,24 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Generate assertion.
*
- * @param ipAddress the IP address.
- * @param assertConsumerURL the assert consumer URL.
- * @param inResponseTo the in response to
- * @param issuer the issuer
- * @param notOnOrAfter the not on or after
+ * @param ipAddress
+ * the IP address.
+ * @param assertConsumerURL
+ * the assert consumer URL.
+ * @param inResponseTo
+ * the in response to
+ * @param issuer
+ * the issuer
+ * @param notOnOrAfter
+ * the not on or after
*
* @return the assertion
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private Assertion generateAssertion(final String ipAddress,
- final String assertConsumerURL, final String inResponseTo,
- final String issuer, final DateTime notOnOrAfter)
- throws STORKSAMLEngineException {
+ private Assertion generateAssertion(final String ipAddress, final String assertConsumerURL, final String inResponseTo, final String issuer, final DateTime notOnOrAfter)
+ throws STORKSAMLEngineException {
LOG.info("Generate Assertion.");
// Mandatory STORK
@@ -434,64 +382,46 @@ public final class STORKSAMLEngine extends SAMLEngine {
issuerAssertion.setValue(super.getSamlCoreProperties().getResponder());
// Format Entity Optional STORK
- issuerAssertion.setFormat(super.getSamlCoreProperties()
- .getFormatEntity());
+ issuerAssertion.setFormat(super.getSamlCoreProperties().getFormatEntity());
- final Assertion assertion = SAMLEngineUtils.generateAssertion(
- SAMLVersion.VERSION_20, SAMLEngineUtils.generateNCName(),
- SAMLEngineUtils.getCurrentTime(), issuerAssertion);
+ final Assertion assertion = SAMLEngineUtils.generateAssertion(SAMLVersion.VERSION_20, SAMLEngineUtils.generateNCName(), SAMLEngineUtils.getCurrentTime(), issuerAssertion);
final Subject subject = SAMLEngineUtils.generateSubject();
- // Mandatory STORK verified
- // String format = NameID.UNSPECIFIED
- // specification: 'SAML:2.0' exist
- // opensaml: "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
- // opensaml "urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified"
- final String format = "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified";
+ final String format = super.getSamlCoreProperties().getFormat();
final String nameQualifier = "";
-
LOG.debug("Generate NameID");
- final NameID nameId = SAMLEngineUtils.generateNameID(super
- .getSamlCoreProperties().getResponder(), format, nameQualifier);
+ final NameID nameId = SAMLEngineUtils.generateNameID(super.getSamlCoreProperties().getResponder(), format, nameQualifier);
nameId.setValue(format);
subject.setNameID(nameId);
// Mandatory if urn:oasis:names:tc:SAML:2.0:cm:bearer.
// Optional in other case.
LOG.debug("Generate SubjectConfirmationData.");
- final SubjectConfirmationData dataBearer = SAMLEngineUtils
- .generateSubjectConfirmationData(SAMLEngineUtils
- .getCurrentTime(), assertConsumerURL, inResponseTo);
+ final SubjectConfirmationData dataBearer = SAMLEngineUtils.generateSubjectConfirmationData(SAMLEngineUtils.getCurrentTime(), assertConsumerURL, inResponseTo);
// Mandatory if urn:oasis:names:tc:SAML:2.0:cm:bearer.
// Optional in other case.
LOG.debug("Generate SubjectConfirmation");
- final SubjectConfirmation subjectConf = SAMLEngineUtils
- .generateSubjectConfirmation(SubjectConfirmation.METHOD_BEARER,
- dataBearer);
+ final SubjectConfirmation subjectConf = SAMLEngineUtils.generateSubjectConfirmation(SubjectConfirmation.METHOD_BEARER, dataBearer);
final ArrayList<SubjectConfirmation> listSubjectConf = new ArrayList<SubjectConfirmation>();
listSubjectConf.add(subjectConf);
- for (final Iterator<SubjectConfirmation> iter = listSubjectConf
- .iterator(); iter.hasNext();) {
+ for (final Iterator<SubjectConfirmation> iter = listSubjectConf.iterator(); iter.hasNext();) {
final SubjectConfirmation element = iter.next();
if (SubjectConfirmation.METHOD_BEARER.equals(element.getMethod())) {
// ipAddress Mandatory if method is Bearer.
if (StringUtils.isBlank(ipAddress)) {
- throw new STORKSAMLEngineException(
- "ipAddress is null or empty");
+ throw new STORKSAMLEngineException("ipAddress is null or empty");
}
- element.getSubjectConfirmationData().setAddress(
- ipAddress.trim());
+ element.getSubjectConfirmationData().setAddress(ipAddress.trim());
}
- element.getSubjectConfirmationData()
- .setRecipient(assertConsumerURL);
+ element.getSubjectConfirmationData().setRecipient(assertConsumerURL);
element.getSubjectConfirmationData().setNotOnOrAfter(notOnOrAfter);
}
@@ -503,248 +433,215 @@ public final class STORKSAMLEngine extends SAMLEngine {
// Conditions that MUST be evaluated when assessing the validity of
// and/or when using the assertion.
- final Conditions conditions = this.generateConditions(SAMLEngineUtils
- .getCurrentTime(), notOnOrAfter, issuer);
+ final Conditions conditions = this.generateConditions(SAMLEngineUtils.getCurrentTime(), notOnOrAfter, issuer);
assertion.setConditions(conditions);
LOG.debug("Generate stork Authentication Statement.");
- final AuthnStatement storkAuthnStat = this
- .generateStorkAuthStatement(ipAddress);
+ final AuthnStatement storkAuthnStat = this.generateStorkAuthStatement(ipAddress);
assertion.getAuthnStatements().add(storkAuthnStat);
return assertion;
}
- private String getAttributeName(final PersonalAttribute attribute) throws STORKSAMLEngineException {
- if (StringUtils.isBlank(attribute.getName())) {
- LOG.error(ATTRIBUTE_EMPTY_LITERAL);
- throw new STORKSAMLEngineException(ATTRIBUTE_EMPTY_LITERAL);
- }
-
- final String attributeName = super.getSamlCoreProperties()
- .getProperty(attribute.getName());
-
- if (StringUtils.isBlank(attributeName)) {
- LOG.error("Attribute name: {} it is not known.", attribute
- .getName());
- throw new STORKSAMLEngineException("Attribute name: "
- + attribute.getName() + " it is not known.");
- }
- return attributeName;
- }
+ private String getAttributeName(final PersonalAttribute attribute) throws STORKSAMLEngineException {
+ if (StringUtils.isBlank(attribute.getName())) {
+ LOG.error(ATTRIBUTE_EMPTY_LITERAL);
+ throw new STORKSAMLEngineException(ATTRIBUTE_EMPTY_LITERAL);
+ }
+
+ final String attributeName = super.getSamlCoreProperties().getProperty(attribute.getName());
+
+ if (StringUtils.isBlank(attributeName)) {
+ LOG.error("Attribute name: {} it is not known.", attribute.getName());
+ throw new STORKSAMLEngineException("Attribute name: " + attribute.getName() + " it is not known.");
+ }
+ return attributeName;
+ }
+
/**
* Generate attribute statement.
*
- * @param personalAttrList the personal attribute list
- * @param isHashing the is hashing
+ * @param personalAttrList
+ * the personal attribute list
+ * @param isHashing
+ * the is hashing
*
* @return the attribute statement
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
* @throws IOException
*/
- private AttributeStatement generateAttributeStatement(
- final IPersonalAttributeList personalAttrList,
- final boolean isHashing) throws STORKSAMLEngineException {
+ private AttributeStatement generateAttributeStatement(final IPersonalAttributeList personalAttrList, final boolean isHashing) throws STORKSAMLEngineException {
LOG.debug("Generate attribute statement");
- final AttributeStatement attrStatement = (AttributeStatement) SAMLEngineUtils
- .createSamlObject(AttributeStatement.DEFAULT_ELEMENT_NAME);
+ final AttributeStatement attrStatement = (AttributeStatement) SAMLEngineUtils.createSamlObject(AttributeStatement.DEFAULT_ELEMENT_NAME);
for (PersonalAttribute attribute : personalAttrList) {
- String attributeName = getAttributeName(attribute);
+ String attributeName = getAttributeName(attribute);
// Verification that only one value it's permitted, simple or
// complex, not both.
final boolean simpleNull = (attribute.getValue() == null);
- final boolean simpleEmpty = (simpleNull || (!simpleNull && attribute
- .getValue().isEmpty()));
+ final boolean simpleEmpty = (simpleNull || (!simpleNull && attribute.getValue().isEmpty()));
final boolean complexNull = (attribute.getComplexValue() == null);
- final boolean complexEmpty = (complexNull || (!complexNull && attribute
- .getComplexValue().isEmpty()));
+ final boolean complexEmpty = (complexNull || (!complexNull && attribute.getComplexValue().isEmpty()));
if ((!simpleEmpty && !complexEmpty)) {
- throw new STORKSAMLEngineException(
- "Attribute name: "
- + attribute.getName()
- + " must be contain one value, simple or complex value.");
+ throw new STORKSAMLEngineException("Attribute name: " + attribute.getName() + " must be contain one value, simple or complex value.");
} else {
if (!simpleEmpty) {
- attrStatement.getAttributes().add(
- this.generateAttrSimple(attributeName, attribute
- .getStatus(), attribute.getValue(),
- isHashing));
+ attrStatement.getAttributes().add(this.generateAttrSimple(attributeName, attribute.getStatus(), attribute.getValue(), isHashing));
} else if (!complexEmpty) {
- attrStatement.getAttributes().add(
- SAMLEngineUtils.generateAttrComplex(attributeName,
- attribute.getStatus(), attribute
- .getComplexValue(), isHashing));
+ attrStatement.getAttributes().add(SAMLEngineUtils.generateAttrComplex(attributeName, attribute.getStatus(), attribute.getComplexValue(), isHashing));
} else if (!simpleNull) {
- attrStatement.getAttributes().add(
- this.generateAttrSimple(attributeName, attribute
- .getStatus(), new ArrayList<String>(),
- isHashing));
+ attrStatement.getAttributes().add(this.generateAttrSimple(attributeName, attribute.getStatus(), new ArrayList<String>(), isHashing));
} else {
// Add attribute complex.
- attrStatement.getAttributes().add(
- SAMLEngineUtils.generateAttrComplex(attributeName,
- attribute.getStatus(),
- new HashMap<String, String>(), isHashing));
+ attrStatement.getAttributes().add(SAMLEngineUtils.generateAttrComplex(attributeName, attribute.getStatus(), new HashMap<String, String>(), isHashing));
}
}
}
return attrStatement;
}
- private XSAny createAttributeValueForSignedDoc(final String value, final boolean isHashing) throws STORKSAMLEngineException {
- DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
- domFactory.setNamespaceAware(true);
- Document document = null;
- DocumentBuilder builder;
-
- // Parse the signedDoc value into an XML DOM Document
- try {
- builder = domFactory.newDocumentBuilder();
- InputStream is;
- is = new ByteArrayInputStream(value.trim().getBytes("UTF-8"));
- document = builder.parse(is);
- is.close();
- } catch (SAXException e1) {
- LOG.error("SAX Error while parsing signModule attribute", e1);
- throw new STORKSAMLEngineRuntimeException(e1);
- } catch (ParserConfigurationException e2) {
- LOG.error("Parser Configuration Error while parsing signModule attribute", e2);
- throw new STORKSAMLEngineRuntimeException(e2);
- } catch (UnsupportedEncodingException e3) {
- LOG.error("Unsupported encoding Error while parsing signModule attribute", e3);
- throw new STORKSAMLEngineRuntimeException(e3);
- } catch (IOException e4) {
- LOG.error("IO Error while parsing signModule attribute", e4);
- throw new STORKSAMLEngineRuntimeException(e4);
- }
-
- // Create the attribute statement
- final XSAny xmlValue = (XSAny) SAMLEngineUtils
- .createSamlObject(
- AttributeValue.DEFAULT_ELEMENT_NAME,
- XSAny.TYPE_NAME);
-
- //Set the signedDoc XML content to this element
- xmlValue.setDOM(document.getDocumentElement());
-
- // Create the attribute statement
- final XSAny attrValue = (XSAny) SAMLEngineUtils
- .createSamlObject(
- AttributeValue.DEFAULT_ELEMENT_NAME,
- XSAny.TYPE_NAME);
-
- //Add previous signedDocXML to the AttributeValue Element
-
- // if it's necessary encode the information.
- if (!isHashing) {
- attrValue.getUnknownXMLObjects().add(xmlValue);
- }
- return attrValue;
- }
-
- private XSAny createAttributeValueForNonSignedDoc(final String value, final boolean isHashing) throws STORKSAMLEngineException {
- // Create the attribute statement
- final XSAny attrValue = (XSAny) SAMLEngineUtils
- .createSamlObject(
- AttributeValue.DEFAULT_ELEMENT_NAME,
- XSAny.TYPE_NAME);
- // if it's necessary encode the information.
- if (isHashing) {
- attrValue.setTextContent(SAMLEngineUtils.encode(value, SAMLEngineUtils.SHA_512));
- } else {
- attrValue.setTextContent(value);
- }
- return attrValue;
- }
+
+ private XSAny createAttributeValueForSignedDoc(final String value, final boolean isHashing) throws STORKSAMLEngineException {
+ DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
+ domFactory.setNamespaceAware(true);
+ Document document = null;
+ DocumentBuilder builder;
+
+ // Parse the signedDoc value into an XML DOM Document
+ try {
+ builder = domFactory.newDocumentBuilder();
+ InputStream is;
+ is = new ByteArrayInputStream(value.trim().getBytes("UTF-8"));
+ document = builder.parse(is);
+ is.close();
+ } catch (SAXException e1) {
+ LOG.error("SAX Error while parsing signModule attribute", e1);
+ throw new STORKSAMLEngineRuntimeException(e1);
+ } catch (ParserConfigurationException e2) {
+ LOG.error("Parser Configuration Error while parsing signModule attribute", e2);
+ throw new STORKSAMLEngineRuntimeException(e2);
+ } catch (UnsupportedEncodingException e3) {
+ LOG.error("Unsupported encoding Error while parsing signModule attribute", e3);
+ throw new STORKSAMLEngineRuntimeException(e3);
+ } catch (IOException e4) {
+ LOG.error("IO Error while parsing signModule attribute", e4);
+ throw new STORKSAMLEngineRuntimeException(e4);
+ }
+
+ // Create the attribute statement
+ final XSAny xmlValue = (XSAny) SAMLEngineUtils.createSamlObject(AttributeValue.DEFAULT_ELEMENT_NAME, XSAny.TYPE_NAME);
+
+ // Set the signedDoc XML content to this element
+ xmlValue.setDOM(document.getDocumentElement());
+
+ // Create the attribute statement
+ final XSAny attrValue = (XSAny) SAMLEngineUtils.createSamlObject(AttributeValue.DEFAULT_ELEMENT_NAME, XSAny.TYPE_NAME);
+
+ // Add previous signedDocXML to the AttributeValue Element
+
+ // if it's necessary encode the information.
+ if (!isHashing) {
+ attrValue.getUnknownXMLObjects().add(xmlValue);
+ }
+ return attrValue;
+ }
+
+ private XSAny createAttributeValueForNonSignedDoc(final String value, final boolean isHashing) throws STORKSAMLEngineException {
+ // Create the attribute statement
+ final XSAny attrValue = (XSAny) SAMLEngineUtils.createSamlObject(AttributeValue.DEFAULT_ELEMENT_NAME, XSAny.TYPE_NAME);
+ // if it's necessary encode the information.
+ if (isHashing) {
+ attrValue.setTextContent(SAMLEngineUtils.encode(value, SAMLEngineUtils.SHA_512));
+ } else {
+ attrValue.setTextContent(value);
+ }
+ return attrValue;
+ }
/**
* Generate attribute from a list of values.
*
- * @param name the name of the attribute.
- * @param values the value of the attribute.
- * @param isHashing the is hashing with "SHA-512" algorithm.
- * @param status the status of the parameter: "Available", "NotAvailable" or
- * "Withheld".
+ * @param name
+ * the name of the attribute.
+ * @param values
+ * the value of the attribute.
+ * @param isHashing
+ * the is hashing with "SHA-512" algorithm.
+ * @param status
+ * the status of the parameter: "Available", "NotAvailable" or "Withheld".
*
* @return the attribute
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private Attribute generateAttrSimple(final String name,
- final String status, final List<String> values,
- final boolean isHashing) throws STORKSAMLEngineException {
- LOG.debug("Generate attribute simple: " + name);
- final Attribute attribute = (Attribute) SAMLEngineUtils
- .createSamlObject(Attribute.DEFAULT_ELEMENT_NAME);
-
- attribute.setName(name);
- attribute.setNameFormat(Attribute.URI_REFERENCE);
-
- attribute.getUnknownAttributes().put(
- new QName(SAMLCore.STORK10_NS.getValue(), "AttributeStatus",
- SAMLCore.STORK10_PREFIX.getValue()), status);
-
- if (values != null) {
- LOG.debug("Add attribute values.");
- for (int i = 0; i < values.size(); i++) {
- final String value = values.get(i);
- if (StringUtils.isNotBlank(value)) {
- XSAny attrValue = null;
- if (!name.equals("http://www.stork.gov.eu/1.0/signedDoc")) {
- // Create the attribute statement
- attrValue = createAttributeValueForNonSignedDoc(value, isHashing);
-
- } else {
- attrValue = createAttributeValueForSignedDoc(value, isHashing);
- attribute.getAttributeValues().add(attrValue);
- }
- attribute.getAttributeValues().add(attrValue);
- }
- }
- }
- return attribute;
- }
+ private Attribute generateAttrSimple(final String name, final String status, final List<String> values, final boolean isHashing) throws STORKSAMLEngineException {
+ LOG.debug("Generate attribute simple: " + name);
+ final Attribute attribute = (Attribute) SAMLEngineUtils.createSamlObject(Attribute.DEFAULT_ELEMENT_NAME);
+
+ attribute.setName(name);
+ attribute.setNameFormat(Attribute.URI_REFERENCE);
+
+ attribute.getUnknownAttributes().put(new QName(SAMLCore.STORK10_NS.getValue(), "AttributeStatus", SAMLCore.STORK10_PREFIX.getValue()), status);
+
+ if (values != null) {
+ LOG.debug("Add attribute values.");
+ for (int i = 0; i < values.size(); i++) {
+ final String value = values.get(i);
+ if (StringUtils.isNotBlank(value)) {
+ XSAny attrValue = null;
+ if (!name.equals("http://www.stork.gov.eu/1.0/signedDoc")) {
+ // Create the attribute statement
+ attrValue = createAttributeValueForNonSignedDoc(value, isHashing);
+
+ } else {
+ attrValue = createAttributeValueForSignedDoc(value, isHashing);
+ attribute.getAttributeValues().add(attrValue);
+ }
+ attribute.getAttributeValues().add(attrValue);
+ }
+ }
+ }
+ return attribute;
+ }
/**
- * Generate conditions that MUST be evaluated when assessing the validity of
- * and/or when using the assertion.
+ * Generate conditions that MUST be evaluated when assessing the validity of and/or when using the assertion.
*
- * @param notBefore the not before
- * @param notOnOrAfter the not on or after
- * @param audienceURI the audience URI.
+ * @param notBefore
+ * the not before
+ * @param notOnOrAfter
+ * the not on or after
+ * @param audienceURI
+ * the audience URI.
*
* @return the conditions
*/
- private Conditions generateConditions(final DateTime notBefore,
- final DateTime notOnOrAfter, final String audienceURI) {
+ private Conditions generateConditions(final DateTime notBefore, final DateTime notOnOrAfter, final String audienceURI) {
LOG.debug("Generate conditions.");
- final Conditions conditions = (Conditions) SAMLEngineUtils
- .createSamlObject(Conditions.DEFAULT_ELEMENT_NAME);
+ final Conditions conditions = (Conditions) SAMLEngineUtils.createSamlObject(Conditions.DEFAULT_ELEMENT_NAME);
conditions.setNotBefore(notBefore);
conditions.setNotOnOrAfter(notOnOrAfter);
- final AudienceRestriction restrictions = (AudienceRestriction) SAMLEngineUtils
- .createSamlObject(AudienceRestriction.DEFAULT_ELEMENT_NAME);
+ final AudienceRestriction restrictions = (AudienceRestriction) SAMLEngineUtils.createSamlObject(AudienceRestriction.DEFAULT_ELEMENT_NAME);
- final Audience audience = (Audience) SAMLEngineUtils
- .createSamlObject(Audience.DEFAULT_ELEMENT_NAME);
+ final Audience audience = (Audience) SAMLEngineUtils.createSamlObject(Audience.DEFAULT_ELEMENT_NAME);
audience.setAudienceURI(audienceURI);
restrictions.getAudiences().add(audience);
conditions.getAudienceRestrictions().add(restrictions);
if (super.getSamlCoreProperties().isOneTimeUse()) {
- final OneTimeUse oneTimeUse = (OneTimeUse) SAMLEngineUtils
- .createSamlObject(OneTimeUse.DEFAULT_ELEMENT_NAME);
+ final OneTimeUse oneTimeUse = (OneTimeUse) SAMLEngineUtils.createSamlObject(OneTimeUse.DEFAULT_ELEMENT_NAME);
conditions.getConditions().add(oneTimeUse);
}
return conditions;
@@ -753,14 +650,15 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Generate personal attribute list.
*
- * @param assertion the assertion
+ * @param assertion
+ * the assertion
*
* @return the personal attribute list
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private IPersonalAttributeList generatePersonalAttributeList(
- final Assertion assertion) throws STORKSAMLEngineException {
+ private IPersonalAttributeList generatePersonalAttributeList(final Assertion assertion) throws STORKSAMLEngineException {
LOG.debug("Generate personal attribute list from XMLObject.");
final List<XMLObject> listExtensions = assertion.getOrderedChildren();
@@ -778,8 +676,7 @@ public final class STORKSAMLEngine extends SAMLEngine {
if (!find) {
LOG.error("Error: AttributeStatement it's not present.");
- throw new STORKSAMLEngineException(
- "AttributeStatement it's not present.");
+ throw new STORKSAMLEngineException("AttributeStatement it's not present.");
}
final List<Attribute> reqAttrs = requestedAttr.getAttributes();
@@ -794,88 +691,70 @@ public final class STORKSAMLEngine extends SAMLEngine {
final PersonalAttribute personalAttribute = new PersonalAttribute();
attributeName = attribute.getName();
- personalAttribute.setName(attributeName.substring(attributeName
- .lastIndexOf('/') + 1));
+ personalAttribute.setName(attributeName.substring(attributeName.lastIndexOf('/') + 1));
- personalAttribute.setStatus(attribute.getUnknownAttributes().get(
- new QName(SAMLCore.STORK10_NS.getValue(),
- "AttributeStatus", SAMLCore.STORK10_PREFIX
- .getValue())));
+ personalAttribute.setStatus(attribute.getUnknownAttributes().get(new QName(SAMLCore.STORK10_NS.getValue(), "AttributeStatus", SAMLCore.STORK10_PREFIX.getValue())));
final ArrayList<String> simpleValues = new ArrayList<String>();
final HashMap<String, String> multiValues = new HashMap<String, String>();
final List<XMLObject> values = attribute.getOrderedChildren();
-
-
+
// Process the values.
for (int nextValue = 0; nextValue < values.size(); nextValue++) {
final XMLObject xmlObject = values.get(nextValue);
if (xmlObject instanceof XSStringImpl) {
-
+
simpleValues.add(((XSStringImpl) xmlObject).getValue());
} else if (xmlObject instanceof XSAnyImpl) {
if (attributeName.equals("http://www.stork.gov.eu/1.0/signedDoc")) {
- final XSAnyImpl xmlString = (XSAnyImpl) values
- .get(nextValue);
+ final XSAnyImpl xmlString = (XSAnyImpl) values.get(nextValue);
- TransformerFactory transFactory = TransformerFactory
- .newInstance();
+ TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = null;
try {
transformer = transFactory.newTransformer();
- transformer.setOutputProperty(
- OutputKeys.OMIT_XML_DECLARATION, "yes");
+ transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
} catch (TransformerConfigurationException e) {
- LOG.error("Error transformer configuration exception", e);
+ LOG.error("Error transformer configuration exception", e);
}
StringWriter buffer = new StringWriter();
try {
- if (xmlString != null && xmlString.getUnknownXMLObjects() != null && xmlString.getUnknownXMLObjects().size() > 0 ){
- transformer.transform(new DOMSource(xmlString
- .getUnknownXMLObjects().get(0).getDOM()),
- new StreamResult(buffer));
- }
+ if (xmlString != null && xmlString.getUnknownXMLObjects() != null && xmlString.getUnknownXMLObjects().size() > 0) {
+ transformer.transform(new DOMSource(xmlString.getUnknownXMLObjects().get(0).getDOM()), new StreamResult(buffer));
+ }
} catch (TransformerException e) {
- LOG.error("Error transformer exception", e);
+ LOG.error("Error transformer exception", e);
}
String str = buffer.toString();
simpleValues.add(str);
- } else if (isComplex(xmlObject))
- {
+ } else if (isComplex(xmlObject)) {
LOG.info(attributeName + " found");
// Process complex value.
final XSAnyImpl complexValue = (XSAnyImpl) xmlObject;
- for (int nextComplexValue = 0; nextComplexValue < complexValue
- .getUnknownXMLObjects().size(); nextComplexValue++) {
+ for (int nextComplexValue = 0; nextComplexValue < complexValue.getUnknownXMLObjects().size(); nextComplexValue++) {
- final XSAnyImpl simple = (XSAnyImpl) complexValue
- .getUnknownXMLObjects().get(
- nextComplexValue);
+ final XSAnyImpl simple = (XSAnyImpl) complexValue.getUnknownXMLObjects().get(nextComplexValue);
- multiValues.put(simple.getElementQName()
- .getLocalPart(), simple.getTextContent());
+ multiValues.put(simple.getElementQName().getLocalPart(), simple.getTextContent());
}
- }
- else {
+ } else {
// Process simple value.
- simpleValues.add(((XSAnyImpl) xmlObject)
- .getTextContent());
+ simpleValues.add(((XSAnyImpl) xmlObject).getTextContent());
}
} else {
LOG.error("Error: attribute value it's unknown.");
- throw new STORKSAMLEngineException(
- "Attribute value it's unknown.");
+ throw new STORKSAMLEngineException("Attribute value it's unknown.");
}
}
@@ -890,24 +769,21 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Generate stork authentication request.
*
- * @param request the request that contain all parameters for generate an
- * authentication request.
+ * @param request
+ * the request that contain all parameters for generate an authentication request.
*
* @return the STORK authentication request that has been processed.
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKAuthnRequest generateSTORKAuthnRequest(
- final STORKAuthnRequest request) throws STORKSAMLEngineException {
+ public STORKAuthnRequest generateSTORKAuthnRequest(final STORKAuthnRequest request) throws STORKSAMLEngineException {
LOG.info("Generate SAMLAuthnRequest.");
// Validate Parameters mandatories
validateParamAuthnReq(request);
- final AuthnRequest authnRequestAux = SAMLEngineUtils
- .generateSAMLAuthnRequest(SAMLEngineUtils.generateNCName(),
- SAMLVersion.VERSION_20, SAMLEngineUtils
- .getCurrentTime());
+ final AuthnRequest authnRequestAux = SAMLEngineUtils.generateSAMLAuthnRequest(SAMLEngineUtils.generateNCName(), SAMLVersion.VERSION_20, SAMLEngineUtils.getCurrentTime());
// Set name spaces.
setNameSpaces(authnRequestAux);
@@ -918,14 +794,12 @@ public final class STORKSAMLEngine extends SAMLEngine {
// Add parameter Mandatory STORK
authnRequestAux.setIsPassive(Boolean.FALSE);
- authnRequestAux.setAssertionConsumerServiceURL(request
- .getAssertionConsumerServiceURL());
+ authnRequestAux.setAssertionConsumerServiceURL(request.getAssertionConsumerServiceURL());
authnRequestAux.setProviderName(request.getProviderName());
// Add protocol binding
- authnRequestAux.setProtocolBinding(super.getSamlCoreProperties()
- .getProtocolBinding());
+ authnRequestAux.setProtocolBinding(super.getSamlCoreProperties().getProtocolBinding());
// Add parameter optional STORK
// Destination is mandatory if the destination is a C-PEPS
@@ -935,36 +809,32 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
// Consent is optional. Set from SAMLEngine.xml - consent.
- authnRequestAux.setConsent(super.getSamlCoreProperties()
- .getConsentAuthnRequest());
+ authnRequestAux.setConsent(super.getSamlCoreProperties().getConsentAuthnRequest());
final Issuer issuer = SAMLEngineUtils.generateIssuer();
-
- if(request.getIssuer()!=null){
+
+ if (request.getIssuer() != null) {
issuer.setValue(request.getIssuer());
- } else {
+ } else {
issuer.setValue(super.getSamlCoreProperties().getRequester());
- }
+ }
// Optional STORK
- final String formatEntity = super.getSamlCoreProperties()
- .getFormatEntity();
+ final String formatEntity = super.getSamlCoreProperties().getFormatEntity();
if (StringUtils.isNotBlank(formatEntity)) {
issuer.setFormat(formatEntity);
}
authnRequestAux.setIssuer(issuer);
-
+
// Generate stork extensions.
- final Extensions storkExtensions = this
- .generateSTORKExtensions(request);
+ final Extensions storkExtensions = this.generateSTORKExtensions(request);
// add the extensions to the SAMLAuthnRequest
authnRequestAux.setExtensions(storkExtensions);
// the result contains an authentication request token (byte[]),
// identifier of the token, and all parameters from the request.
- final STORKAuthnRequest authRequest = processExtensions(authnRequestAux
- .getExtensions());
+ final STORKAuthnRequest authRequest = processExtensions(authnRequestAux.getExtensions());
try {
authRequest.setTokenSaml(super.signAndMarshall(authnRequestAux));
@@ -975,8 +845,7 @@ public final class STORKSAMLEngine extends SAMLEngine {
authRequest.setSamlId(authnRequestAux.getID());
authRequest.setDestination(authnRequestAux.getDestination());
- authRequest.setAssertionConsumerServiceURL(authnRequestAux
- .getAssertionConsumerServiceURL());
+ authRequest.setAssertionConsumerServiceURL(authnRequestAux.getAssertionConsumerServiceURL());
authRequest.setProviderName(authnRequestAux.getProviderName());
authRequest.setIssuer(authnRequestAux.getIssuer().getValue());
@@ -987,19 +856,22 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Generate stork authentication response.
*
- * @param request the request
- * @param responseAuthReq the response authentication request
- * @param ipAddress the IP address
- * @param isHashing the is hashing
+ * @param request
+ * the request
+ * @param responseAuthReq
+ * the response authentication request
+ * @param ipAddress
+ * the IP address
+ * @param isHashing
+ * the is hashing
*
* @return the sTORK authentication response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKAuthnResponse generateSTORKAuthnResponse(
- final STORKAuthnRequest request,
- final STORKAuthnResponse responseAuthReq, final String ipAddress,
- final boolean isHashing) throws STORKSAMLEngineException {
+ public STORKAuthnResponse generateSTORKAuthnResponse(final STORKAuthnRequest request, final STORKAuthnResponse responseAuthReq, final String ipAddress, final boolean isHashing)
+ throws STORKSAMLEngineException {
LOG.info("generateSTORKAuthnResponse");
// Validate parameters
@@ -1007,36 +879,28 @@ public final class STORKSAMLEngine extends SAMLEngine {
// Mandatory SAML
LOG.debug("Generate StatusCode");
- final StatusCode statusCode = SAMLEngineUtils
- .generateStatusCode(StatusCode.SUCCESS_URI);
+ final StatusCode statusCode = SAMLEngineUtils.generateStatusCode(StatusCode.SUCCESS_URI);
LOG.debug("Generate Status");
final Status status = SAMLEngineUtils.generateStatus(statusCode);
LOG.debug("Generate StatusMessage");
- final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils
- .generateStatusMessage(StatusCode.SUCCESS_URI);
+ final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils.generateStatusMessage(StatusCode.SUCCESS_URI);
status.setStatusMessage(statusMessage);
LOG.debug("Generate Response");
// RESPONSE
- final Response response = genAuthnRespBase(status, request
- .getAssertionConsumerServiceURL(), request.getSamlId());
+ final Response response = genAuthnRespBase(status, request.getAssertionConsumerServiceURL(), request.getSamlId());
DateTime notOnOrAfter = new DateTime();
- notOnOrAfter = notOnOrAfter.plusSeconds(super.getSamlCoreProperties()
- .getTimeNotOnOrAfter());
+ notOnOrAfter = notOnOrAfter.plusSeconds(super.getSamlCoreProperties().getTimeNotOnOrAfter());
- final Assertion assertion = this.generateAssertion(ipAddress, request
- .getAssertionConsumerServiceURL(), request.getSamlId(), request
- .getIssuer(), notOnOrAfter);
+ final Assertion assertion = this.generateAssertion(ipAddress, request.getAssertionConsumerServiceURL(), request.getSamlId(), request.getIssuer(), notOnOrAfter);
- final AttributeStatement attrStatement = this
- .generateAttributeStatement(responseAuthReq
- .getPersonalAttributeList(), isHashing);
+ final AttributeStatement attrStatement = this.generateAttributeStatement(responseAuthReq.getPersonalAttributeList(), isHashing);
assertion.getAttributeStatements().add(attrStatement);
@@ -1054,23 +918,26 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
return authresponse;
}
-
+
/**
* Generate stork authentication response.
*
- * @param request the request
- * @param responseAuthReq the response authentication request
- * @param ipAddress the IP address
- * @param isHashing the is hashing
+ * @param request
+ * the request
+ * @param responseAuthReq
+ * the response authentication request
+ * @param ipAddress
+ * the IP address
+ * @param isHashing
+ * the is hashing
*
* @return the sTORK authentication response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKAuthnResponse generateSTORKAuthnResponseAfterQuery(
- final STORKAuthnRequest request,
- final STORKAuthnResponse responseAuthReq, final String ipAddress,
- final boolean isHashing, List<STORKAttrQueryResponse> res) throws STORKSAMLEngineException {
+ public STORKAuthnResponse generateSTORKAuthnResponseAfterQuery(final STORKAuthnRequest request, final STORKAuthnResponse responseAuthReq, final String ipAddress, final boolean isHashing,
+ List<STORKAttrQueryResponse> res) throws STORKSAMLEngineException {
LOG.info("generateSTORKAuthnResponse");
// Validate parameters
@@ -1078,52 +945,40 @@ public final class STORKSAMLEngine extends SAMLEngine {
// Mandatory SAML
LOG.debug("Generate StatusCode");
- final StatusCode statusCode = SAMLEngineUtils
- .generateStatusCode(StatusCode.SUCCESS_URI);
+ final StatusCode statusCode = SAMLEngineUtils.generateStatusCode(StatusCode.SUCCESS_URI);
LOG.debug("Generate Status");
final Status status = SAMLEngineUtils.generateStatus(statusCode);
LOG.debug("Generate StatusMessage");
- final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils
- .generateStatusMessage(StatusCode.SUCCESS_URI);
+ final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils.generateStatusMessage(StatusCode.SUCCESS_URI);
status.setStatusMessage(statusMessage);
LOG.debug("Generate Response");
// RESPONSE
- final Response response = genAuthnRespBase(status, request
- .getAssertionConsumerServiceURL(), request.getSamlId());
+ final Response response = genAuthnRespBase(status, request.getAssertionConsumerServiceURL(), request.getSamlId());
DateTime notOnOrAfter = new DateTime();
- notOnOrAfter = notOnOrAfter.plusSeconds(super.getSamlCoreProperties()
- .getTimeNotOnOrAfter());
+ notOnOrAfter = notOnOrAfter.plusSeconds(super.getSamlCoreProperties().getTimeNotOnOrAfter());
- final Assertion assertion = this.generateAssertion(ipAddress, request
- .getAssertionConsumerServiceURL(), request.getSamlId(), request
- .getIssuer(), notOnOrAfter);
+ final Assertion assertion = this.generateAssertion(ipAddress, request.getAssertionConsumerServiceURL(), request.getSamlId(), request.getIssuer(), notOnOrAfter);
- final AttributeStatement attrStatement = this
- .generateAttributeStatement(responseAuthReq
- .getPersonalAttributeList(), isHashing);
+ final AttributeStatement attrStatement = this.generateAttributeStatement(responseAuthReq.getPersonalAttributeList(), isHashing);
assertion.getAttributeStatements().add(attrStatement);
// Add assertions
response.getAssertions().add(assertion);
// Check for response queries
- if (res != null && res.size() > 0)
- {
- //Iterate through them
- for (int i = 0; i < res.size(); i++)
- {
- //If response contains multiple assertions iterate through them as well
- if (res.get(i).getAssertions().size() > 1)
- {
- for (int j = 0; j < res.get(i).getAssertions().size(); j++)
- {
+ if (res != null && res.size() > 0) {
+ // Iterate through them
+ for (int i = 0; i < res.size(); i++) {
+ // If response contains multiple assertions iterate through them as well
+ if (res.get(i).getAssertions().size() > 1) {
+ for (int j = 0; j < res.get(i).getAssertions().size(); j++) {
Assertion tempAssertion = res.get(i).getAssertions().get(j);
tempAssertion.setParent(response);
response.getAssertions().add(tempAssertion);
@@ -1151,26 +1006,28 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Generate stork authentication response fail.
*
- * @param request the request
- * @param response the response
- * @param ipAddress the IP address
- * @param isHashing the is hashing
+ * @param request
+ * the request
+ * @param response
+ * the response
+ * @param ipAddress
+ * the IP address
+ * @param isHashing
+ * the is hashing
*
* @return the sTORK authentication response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKAuthnResponse generateSTORKAuthnResponseFail(
- final STORKAuthnRequest request, final STORKAuthnResponse response,
- final String ipAddress, final boolean isHashing)
- throws STORKSAMLEngineException {
+ public STORKAuthnResponse generateSTORKAuthnResponseFail(final STORKAuthnRequest request, final STORKAuthnResponse response, final String ipAddress, final boolean isHashing)
+ throws STORKSAMLEngineException {
LOG.info("generateSTORKAuthnResponseFail");
validateParamResponseFail(request, response);
// Mandatory
- final StatusCode statusCode = SAMLEngineUtils
- .generateStatusCode(response.getStatusCode());
+ final StatusCode statusCode = SAMLEngineUtils.generateStatusCode(response.getStatusCode());
// Mandatory SAML
LOG.debug("Generate StatusCode.");
@@ -1182,8 +1039,7 @@ public final class STORKSAMLEngine extends SAMLEngine {
// - http://www.stork.gov.eu/saml20/statusCodes/QAANotSupported
if (StringUtils.isNotBlank(response.getSubStatusCode())) {
- final StatusCode newStatusCode = SAMLEngineUtils
- .generateStatusCode(response.getSubStatusCode());
+ final StatusCode newStatusCode = SAMLEngineUtils.generateStatusCode(response.getSubStatusCode());
statusCode.setStatusCode(newStatusCode);
}
@@ -1191,25 +1047,20 @@ public final class STORKSAMLEngine extends SAMLEngine {
final Status status = SAMLEngineUtils.generateStatus(statusCode);
if (StringUtils.isNotBlank(response.getMessage())) {
- final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils
- .generateStatusMessage(response.getMessage());
+ final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils.generateStatusMessage(response.getMessage());
status.setStatusMessage(statusMessage);
}
LOG.debug("Generate Response.");
// RESPONSE
- final Response responseFail = genAuthnRespBase(status, request
- .getAssertionConsumerServiceURL(), request.getSamlId());
+ final Response responseFail = genAuthnRespBase(status, request.getAssertionConsumerServiceURL(), request.getSamlId());
DateTime notOnOrAfter = new DateTime();
- notOnOrAfter = notOnOrAfter.plusSeconds(super.getSamlCoreProperties()
- .getTimeNotOnOrAfter());
+ notOnOrAfter = notOnOrAfter.plusSeconds(super.getSamlCoreProperties().getTimeNotOnOrAfter());
- final Assertion assertion = this.generateAssertion(ipAddress, request
- .getAssertionConsumerServiceURL(), request.getSamlId(), request
- .getIssuer(), notOnOrAfter);
+ final Assertion assertion = this.generateAssertion(ipAddress, request.getAssertionConsumerServiceURL(), request.getSamlId(), request.getIssuer(), notOnOrAfter);
responseFail.getAssertions().add(assertion);
@@ -1226,41 +1077,36 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
return storkResponse;
}
-
+
/**
* Generate stork attribute query request.
*
- * @param request the request that contain all parameters for generate an
- * attribute query request.
+ * @param request
+ * the request that contain all parameters for generate an attribute query request.
*
* @return the STORK attribute query request that has been processed.
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKAttrQueryRequest generateSTORKAttrQueryRequest(
- final STORKAttrQueryRequest request) throws STORKSAMLEngineException {
+ public STORKAttrQueryRequest generateSTORKAttrQueryRequest(final STORKAttrQueryRequest request) throws STORKSAMLEngineException {
LOG.info("Generate STORKAttrQueryRequest.");
// Validate Parameters mandatories
validateParamAttrQueryReq(request);
- //final AttributeQuery attrQueryRequestAux = SAMLEngineUtils
- final CustomAttributeQuery attrQueryRequestAux = SAMLEngineUtils
- .generateSAMLAttrQueryRequest(SAMLEngineUtils.generateNCName(),
- SAMLVersion.VERSION_20, SAMLEngineUtils
- .getCurrentTime());
+ final CustomAttributeQuery attrQueryRequestAux = SAMLEngineUtils.generateSAMLAttrQueryRequest(SAMLEngineUtils.generateNCName(), SAMLVersion.VERSION_20, SAMLEngineUtils.getCurrentTime());
// Set name spaces.
setNameSpaces(attrQueryRequestAux);
-
// Add parameter optional STORK
// Destination is mandatory if the destination is a C-PEPS
// The application must to know if the destination is a C-PEPS.
if (StringUtils.isNotBlank(request.getDestination())) {
attrQueryRequestAux.setDestination(request.getDestination());
}
-
+
// Add parameter optional STORK
// Consumer URL is needed if using HTTP-Post
if (StringUtils.isNotBlank(request.getAssertionConsumerServiceURL())) {
@@ -1268,44 +1114,40 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
// Consent is optional. Set from SAMLEngine.xml - consent.
- attrQueryRequestAux.setConsent(super.getSamlCoreProperties()
- .getConsentAuthnRequest());
+ attrQueryRequestAux.setConsent(super.getSamlCoreProperties().getConsentAuthnRequest());
final Issuer issuer = SAMLEngineUtils.generateIssuer();
-
- //Set the subject - needed for attribute query validation
+
+ // Set the subject - needed for attribute query validation
Subject subject = SAMLEngineUtils.generateSubject();
SubjectConfirmationBuilder builder = new SubjectConfirmationBuilder();
- SubjectConfirmation subjectConfirmation = builder.buildObject();
+ SubjectConfirmation subjectConfirmation = builder.buildObject();
subjectConfirmation.setMethod("urn:oasis:names:tc:SAML:2.0:cm:bearer");
subject.getSubjectConfirmations().add(subjectConfirmation);
attrQueryRequestAux.setSubject(subject);
-
- if(request.getIssuer()!=null){
+
+ if (request.getIssuer() != null) {
issuer.setValue(request.getIssuer());
- } else {
+ } else {
issuer.setValue(super.getSamlCoreProperties().getRequester());
- }
+ }
// Optional STORK
- final String formatEntity = super.getSamlCoreProperties()
- .getFormatEntity();
+ final String formatEntity = super.getSamlCoreProperties().getFormatEntity();
if (StringUtils.isNotBlank(formatEntity)) {
issuer.setFormat(formatEntity);
}
attrQueryRequestAux.setIssuer(issuer);
-
+
// Generate stork extensions.
- final Extensions storkExtensions = this
- .generateSTORKAttrExtensions(request);
+ final Extensions storkExtensions = this.generateSTORKAttrExtensions(request);
// add the extensions to the SAMLAuthnRequest
attrQueryRequestAux.setExtensions(storkExtensions);
// the result contains an authentication request token (byte[]),
// identifier of the token, and all parameters from the request.
- final STORKAttrQueryRequest attrQueryRequest = processAttrExtensions(attrQueryRequestAux
- .getExtensions());
+ final STORKAttrQueryRequest attrQueryRequest = processAttrExtensions(attrQueryRequestAux.getExtensions());
try {
attrQueryRequest.setTokenSaml(super.signAndMarshall(attrQueryRequestAux));
@@ -1321,22 +1163,25 @@ public final class STORKSAMLEngine extends SAMLEngine {
return attrQueryRequest;
}
-
+
/**
* Generate stork attribute query response.
*
- * @param request the request
- * @param responseAttrQueryRes the response authentication request
- * @param ipAddress the IP address
- * @param isHashing the hashing of values
+ * @param request
+ * the request
+ * @param responseAttrQueryRes
+ * the response authentication request
+ * @param ipAddress
+ * the IP address
+ * @param isHashing
+ * the hashing of values
*
* @return the sTORK authentication response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKAttrQueryResponse generateSTORKAttrQueryResponse(
- final STORKAttrQueryRequest request,
- final STORKAttrQueryResponse responseAttrQueryRes, final String ipAddress,
+ public STORKAttrQueryResponse generateSTORKAttrQueryResponse(final STORKAttrQueryRequest request, final STORKAttrQueryResponse responseAttrQueryRes, final String ipAddress,
final String destinationUrl, final boolean isHashing) throws STORKSAMLEngineException {
LOG.info("generateSTORKAttrQueryResponse");
@@ -1345,35 +1190,28 @@ public final class STORKSAMLEngine extends SAMLEngine {
// Mandatory SAML
LOG.debug("Generate StatusCode");
- final StatusCode statusCode = SAMLEngineUtils
- .generateStatusCode(StatusCode.SUCCESS_URI);
+ final StatusCode statusCode = SAMLEngineUtils.generateStatusCode(StatusCode.SUCCESS_URI);
LOG.debug("Generate Status");
final Status status = SAMLEngineUtils.generateStatus(statusCode);
LOG.debug("Generate StatusMessage");
- final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils
- .generateStatusMessage(StatusCode.SUCCESS_URI);
+ final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils.generateStatusMessage(StatusCode.SUCCESS_URI);
status.setStatusMessage(statusMessage);
LOG.debug("Generate Response");
// RESPONSE
- final Response response = genAuthnRespBase(status, destinationUrl,
- request.getSamlId());
+ final Response response = genAuthnRespBase(status, destinationUrl, request.getSamlId());
DateTime notOnOrAfter = new DateTime();
- notOnOrAfter = notOnOrAfter.plusSeconds(super.getSamlCoreProperties()
- .getTimeNotOnOrAfter());
+ notOnOrAfter = notOnOrAfter.plusSeconds(super.getSamlCoreProperties().getTimeNotOnOrAfter());
- final Assertion assertion = this.generateAssertion(ipAddress, ""
- ,request.getSamlId(), request.getIssuer(), notOnOrAfter);
+ final Assertion assertion = this.generateAssertion(ipAddress, "", request.getSamlId(), request.getIssuer(), notOnOrAfter);
- final AttributeStatement attrStatement = this
- .generateAttributeStatement(responseAttrQueryRes
- .getPersonalAttributeList(), isHashing);
+ final AttributeStatement attrStatement = this.generateAttributeStatement(responseAttrQueryRes.getPersonalAttributeList(), isHashing);
assertion.getAttributeStatements().add(attrStatement);
@@ -1391,24 +1229,28 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
return attrQueryResponse;
}
-
+
/**
- * Generate stork attribute query response from multiple assertions
- *
- * @param request the request
- * @param responseAttrQueryRes the response to the query request
- * @param responses the responses to include in the response (aggregation)
- * @param ipAddress the IP address
- * @param isHashing the hashing of values
+ * Generate stork attribute query response from multiple assertions
+ *
+ * @param request
+ * the request
+ * @param responseAttrQueryRes
+ * the response to the query request
+ * @param responses
+ * the responses to include in the response (aggregation)
+ * @param ipAddress
+ * the IP address
+ * @param isHashing
+ * the hashing of values
*
* @return the sTORK attribute query response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKAttrQueryResponse generateSTORKAttrQueryResponseWithAssertions(
- final STORKAttrQueryRequest request, final STORKAttrQueryResponse responseAttrQueryRes,
- final List<STORKAttrQueryResponse> responses, final String ipAddress,
- final String destinationUrl, final boolean isHashing) throws STORKSAMLEngineException {
+ public STORKAttrQueryResponse generateSTORKAttrQueryResponseWithAssertions(final STORKAttrQueryRequest request, final STORKAttrQueryResponse responseAttrQueryRes,
+ final List<STORKAttrQueryResponse> responses, final String ipAddress, final String destinationUrl, final boolean isHashing) throws STORKSAMLEngineException {
LOG.info("generateSTORKAttrQueryResponse");
// Validate parameters
@@ -1416,44 +1258,35 @@ public final class STORKSAMLEngine extends SAMLEngine {
// Mandatory SAML
LOG.debug("Generate StatusCode");
- final StatusCode statusCode = SAMLEngineUtils
- .generateStatusCode(StatusCode.SUCCESS_URI);
+ final StatusCode statusCode = SAMLEngineUtils.generateStatusCode(StatusCode.SUCCESS_URI);
LOG.debug("Generate Status");
final Status status = SAMLEngineUtils.generateStatus(statusCode);
LOG.debug("Generate StatusMessage");
- final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils
- .generateStatusMessage(StatusCode.SUCCESS_URI);
+ final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils.generateStatusMessage(StatusCode.SUCCESS_URI);
status.setStatusMessage(statusMessage);
LOG.debug("Generate Response");
// RESPONSE
- final Response response = genAuthnRespBase(status, destinationUrl,
- request.getSamlId());
+ final Response response = genAuthnRespBase(status, destinationUrl, request.getSamlId());
DateTime notOnOrAfter = new DateTime();
- notOnOrAfter = notOnOrAfter.plusSeconds(super.getSamlCoreProperties()
- .getTimeNotOnOrAfter());
+ notOnOrAfter = notOnOrAfter.plusSeconds(super.getSamlCoreProperties().getTimeNotOnOrAfter());
- final Assertion assertion = this.generateAssertion(ipAddress, ""
- ,request.getSamlId(), request.getIssuer(), notOnOrAfter);
+ final Assertion assertion = this.generateAssertion(ipAddress, "", request.getSamlId(), request.getIssuer(), notOnOrAfter);
- final AttributeStatement attrStatement = this
- .generateAttributeStatement(responseAttrQueryRes
- .getPersonalAttributeList(), isHashing);
+ final AttributeStatement attrStatement = this.generateAttributeStatement(responseAttrQueryRes.getPersonalAttributeList(), isHashing);
assertion.getAttributeStatements().add(attrStatement);
// Add the assertions from the former Query responses
response.getAssertions().add(assertion);
- if (responses != null && responses.size() > 0)
- {
- for (int i = 0; i < responses.size(); i++)
- {
+ if (responses != null && responses.size() > 0) {
+ for (int i = 0; i < responses.size(); i++) {
Assertion tempAssertion = responses.get(i).getAssertion();
tempAssertion.setParent(response);
response.getAssertions().add(tempAssertion);
@@ -1471,30 +1304,32 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
return attrQueryResponse;
}
-
+
/**
* Generate stork attribute query response fail.
*
- * @param request the request
- * @param response the response
- * @param ipAddress the IP address
- * @param isHashing the is hashing
+ * @param request
+ * the request
+ * @param response
+ * the response
+ * @param ipAddress
+ * the IP address
+ * @param isHashing
+ * the is hashing
*
* @return the STORK attribute query response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKAttrQueryResponse generateSTORKAttrQueryResponseFail(
- final STORKAttrQueryRequest request, final STORKAttrQueryResponse response,
- final String ipAddress, final String destinationUrl, final boolean isHashing)
- throws STORKSAMLEngineException {
+ public STORKAttrQueryResponse generateSTORKAttrQueryResponseFail(final STORKAttrQueryRequest request, final STORKAttrQueryResponse response, final String ipAddress, final String destinationUrl,
+ final boolean isHashing) throws STORKSAMLEngineException {
LOG.info("generateSTORKAttrQueryResponseFail");
validateParamAttrQueryResponseFail(request, response);
// Mandatory
- final StatusCode statusCode = SAMLEngineUtils
- .generateStatusCode(response.getStatusCode());
+ final StatusCode statusCode = SAMLEngineUtils.generateStatusCode(response.getStatusCode());
// Mandatory SAML
LOG.debug("Generate StatusCode.");
@@ -1506,8 +1341,7 @@ public final class STORKSAMLEngine extends SAMLEngine {
// - http://www.stork.gov.eu/saml20/statusCodes/QAANotSupported
if (StringUtils.isNotBlank(response.getSubStatusCode())) {
- final StatusCode newStatusCode = SAMLEngineUtils
- .generateStatusCode(response.getSubStatusCode());
+ final StatusCode newStatusCode = SAMLEngineUtils.generateStatusCode(response.getSubStatusCode());
statusCode.setStatusCode(newStatusCode);
}
@@ -1515,25 +1349,20 @@ public final class STORKSAMLEngine extends SAMLEngine {
final Status status = SAMLEngineUtils.generateStatus(statusCode);
if (StringUtils.isNotBlank(response.getMessage())) {
- final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils
- .generateStatusMessage(response.getMessage());
+ final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils.generateStatusMessage(response.getMessage());
status.setStatusMessage(statusMessage);
}
LOG.debug("Generate Response.");
// RESPONSE
- final Response responseFail = genAuthnRespBase(status, destinationUrl,
- request.getSamlId());
+ final Response responseFail = genAuthnRespBase(status, destinationUrl, request.getSamlId());
DateTime notOnOrAfter = new DateTime();
- notOnOrAfter = notOnOrAfter.plusSeconds(super.getSamlCoreProperties()
- .getTimeNotOnOrAfter());
+ notOnOrAfter = notOnOrAfter.plusSeconds(super.getSamlCoreProperties().getTimeNotOnOrAfter());
- final Assertion assertion = this.generateAssertion(ipAddress, "",
- request.getSamlId(), request
- .getIssuer(), notOnOrAfter);
+ final Assertion assertion = this.generateAssertion(ipAddress, "", request.getSamlId(), request.getIssuer(), notOnOrAfter);
responseFail.getAssertions().add(assertion);
@@ -1550,67 +1379,59 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
return storkResponse;
}
-
+
/**
* Generate stork logout request.
*
- * @param request the request that contain all parameters for generate an
- * logout request.
+ * @param request
+ * the request that contain all parameters for generate an logout request.
*
* @return the STORK logout request that has been processed.
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKLogoutRequest generateSTORKLogoutRequest(
- final STORKLogoutRequest request) throws STORKSAMLEngineException {
+ public STORKLogoutRequest generateSTORKLogoutRequest(final STORKLogoutRequest request) throws STORKSAMLEngineException {
LOG.info("Generate STORKLogoutRequest.");
// Validate Parameters mandatories
validateParamLogoutReq(request);
- final LogoutRequest logoutRequestAux = SAMLEngineUtils
- .generateSAMLLogoutRequest(SAMLEngineUtils.generateNCName(),
- SAMLVersion.VERSION_20, SAMLEngineUtils
- .getCurrentTime());
+ final LogoutRequest logoutRequestAux = SAMLEngineUtils.generateSAMLLogoutRequest(SAMLEngineUtils.generateNCName(), SAMLVersion.VERSION_20, SAMLEngineUtils.getCurrentTime());
// Set name spaces.
setNameSpaces(logoutRequestAux);
-
// Add parameter optional STORK
// Destination is mandatory if the destination is a C-PEPS
// The application must to know if the destination is a C-PEPS.
if (StringUtils.isNotBlank(request.getDestination())) {
logoutRequestAux.setDestination(request.getDestination());
}
-
+
// Consent is optional. Set from SAMLEngine.xml - consent.
- logoutRequestAux.setConsent(super.getSamlCoreProperties()
- .getConsentAuthnRequest());
+ logoutRequestAux.setConsent(super.getSamlCoreProperties().getConsentAuthnRequest());
final Issuer issuer = SAMLEngineUtils.generateIssuer();
-
-
- if(request.getIssuer()!=null){
+
+ if (request.getIssuer() != null) {
issuer.setValue(request.getIssuer());
- } else {
+ } else {
issuer.setValue(super.getSamlCoreProperties().getRequester());
- }
+ }
// Optional STORK
- final String formatEntity = super.getSamlCoreProperties()
- .getFormatEntity();
+ final String formatEntity = super.getSamlCoreProperties().getFormatEntity();
if (StringUtils.isNotBlank(formatEntity)) {
issuer.setFormat(formatEntity);
}
logoutRequestAux.setIssuer(issuer);
-
+
// Set the name ID
final NameID newNameID = SAMLEngineUtils.generateNameID();
- newNameID.setValue(request.getSpProvidedId());
+ newNameID.setValue(request.getSpProvidedId());
logoutRequestAux.setNameID(newNameID);
-
// the result contains an authentication request token (byte[]),
// identifier of the token, and all parameters from the request.
@@ -1630,79 +1451,70 @@ public final class STORKSAMLEngine extends SAMLEngine {
return logoutRequest;
}
-
/**
* Generate stork logout response.
- * @param request the request thats being responded to
- * @param response the tesponse that contain all parameters for generate an
- * logout request.
+ *
+ * @param request
+ * the request thats being responded to
+ * @param response
+ * the tesponse that contain all parameters for generate an logout request.
*
* @return the STORK logout response that has been processed.
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKLogoutResponse generateSTORKLogoutResponse(
- final STORKLogoutRequest request,
- final STORKLogoutResponse response) throws STORKSAMLEngineException {
+ public STORKLogoutResponse generateSTORKLogoutResponse(final STORKLogoutRequest request, final STORKLogoutResponse response) throws STORKSAMLEngineException {
LOG.info("Generate STORKLogoutResponse.");
// Validate Parameters mandatories
validateParamLogoutRes(request, response);
-
+
// Mandatory SAML
LOG.debug("Generate StatusCode");
- final StatusCode statusCode = SAMLEngineUtils
- .generateStatusCode(StatusCode.SUCCESS_URI);
+ final StatusCode statusCode = SAMLEngineUtils.generateStatusCode(StatusCode.SUCCESS_URI);
LOG.debug("Generate Status");
final Status status = SAMLEngineUtils.generateStatus(statusCode);
LOG.debug("Generate StatusMessage");
- final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils
- .generateStatusMessage(StatusCode.SUCCESS_URI);
+ final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils.generateStatusMessage(StatusCode.SUCCESS_URI);
status.setStatusMessage(statusMessage);
- final LogoutResponse logoutResponseAux= SAMLEngineUtils
- .generateSAMLLogoutResponse(SAMLEngineUtils.generateNCName(),
- SAMLVersion.VERSION_20, SAMLEngineUtils
- .getCurrentTime(), status, request.getSamlId());
+ final LogoutResponse logoutResponseAux = SAMLEngineUtils.generateSAMLLogoutResponse(SAMLEngineUtils.generateNCName(), SAMLVersion.VERSION_20, SAMLEngineUtils.getCurrentTime(), status,
+ request.getSamlId());
// Set name spaces.
setNameSpaces(logoutResponseAux);
-
// Add parameter optional STORK
// Destination is mandatory if the destination is a C-PEPS
// The application must to know if the destination is a C-PEPS.
if (StringUtils.isNotBlank(response.getDestination())) {
logoutResponseAux.setDestination(response.getDestination());
}
-
+
// Consent is optional. Set from SAMLEngine.xml - consent.
- logoutResponseAux.setConsent(super.getSamlCoreProperties()
- .getConsentAuthnRequest());
+ logoutResponseAux.setConsent(super.getSamlCoreProperties().getConsentAuthnRequest());
final Issuer issuer = SAMLEngineUtils.generateIssuer();
-
-
- if(response.getIssuer()!=null){
+
+ if (response.getIssuer() != null) {
issuer.setValue(response.getIssuer());
- } else {
+ } else {
issuer.setValue(super.getSamlCoreProperties().getRequester());
- }
+ }
// Optional STORK
- final String formatEntity = super.getSamlCoreProperties()
- .getFormatEntity();
+ final String formatEntity = super.getSamlCoreProperties().getFormatEntity();
if (StringUtils.isNotBlank(formatEntity)) {
issuer.setFormat(formatEntity);
}
logoutResponseAux.setIssuer(issuer);
-
-
+
// the result contains an authentication request token (byte[]),
// identifier of the token, and all parameters from the request.
final STORKLogoutResponse logoutResponse = new STORKLogoutResponse();
@@ -1722,28 +1534,26 @@ public final class STORKSAMLEngine extends SAMLEngine {
return logoutResponse;
}
-
+
/**
* Generate failed stork logout response.
*
- * @param response the response that contain all parameters for generate an
- * logout request.
+ * @param response
+ * the response that contain all parameters for generate an logout request.
*
* @return the STORK logout response that has been processed.
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKLogoutResponse generateSTORKLogoutResponseFail(
- final STORKLogoutRequest request,
- final STORKLogoutResponse response ) throws STORKSAMLEngineException {
+ public STORKLogoutResponse generateSTORKLogoutResponseFail(final STORKLogoutRequest request, final STORKLogoutResponse response) throws STORKSAMLEngineException {
LOG.info("Generate STORKLogoutResponse.");
// Validate Parameters mandatories
validateParamLogoutResFail(request, response);
-
+
// Mandatory
- final StatusCode statusCode = SAMLEngineUtils
- .generateStatusCode(response.getStatusCode());
+ final StatusCode statusCode = SAMLEngineUtils.generateStatusCode(response.getStatusCode());
// Mandatory SAML
LOG.debug("Generate StatusCode.");
@@ -1755,8 +1565,7 @@ public final class STORKSAMLEngine extends SAMLEngine {
// - http://www.stork.gov.eu/saml20/statusCodes/QAANotSupported
if (StringUtils.isNotBlank(response.getSubStatusCode())) {
- final StatusCode newStatusCode = SAMLEngineUtils
- .generateStatusCode(response.getSubStatusCode());
+ final StatusCode newStatusCode = SAMLEngineUtils.generateStatusCode(response.getSubStatusCode());
statusCode.setStatusCode(newStatusCode);
}
@@ -1764,51 +1573,43 @@ public final class STORKSAMLEngine extends SAMLEngine {
final Status status = SAMLEngineUtils.generateStatus(statusCode);
if (StringUtils.isNotBlank(response.getStatusMessage())) {
- final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils
- .generateStatusMessage(response.getStatusMessage());
+ final StatusMessage statusMessage = (StatusMessage) SAMLEngineUtils.generateStatusMessage(response.getStatusMessage());
status.setStatusMessage(statusMessage);
}
- final LogoutResponse logoutResponseAux= SAMLEngineUtils
- .generateSAMLLogoutResponse(SAMLEngineUtils.generateNCName(),
- SAMLVersion.VERSION_20, SAMLEngineUtils
- .getCurrentTime(), status, request.getSamlId());
+ final LogoutResponse logoutResponseAux = SAMLEngineUtils.generateSAMLLogoutResponse(SAMLEngineUtils.generateNCName(), SAMLVersion.VERSION_20, SAMLEngineUtils.getCurrentTime(), status,
+ request.getSamlId());
// Set name spaces.
setNameSpaces(logoutResponseAux);
-
// Add parameter optional STORK
// Destination is mandatory if the destination is a C-PEPS
// The application must to know if the destination is a C-PEPS.
if (StringUtils.isNotBlank(response.getDestination())) {
logoutResponseAux.setDestination(response.getDestination());
}
-
+
// Consent is optional. Set from SAMLEngine.xml - consent.
- logoutResponseAux.setConsent(super.getSamlCoreProperties()
- .getConsentAuthnRequest());
+ logoutResponseAux.setConsent(super.getSamlCoreProperties().getConsentAuthnRequest());
final Issuer issuer = SAMLEngineUtils.generateIssuer();
-
-
- if(response.getIssuer()!=null){
+
+ if (response.getIssuer() != null) {
issuer.setValue(response.getIssuer());
- } else {
+ } else {
issuer.setValue(super.getSamlCoreProperties().getRequester());
- }
+ }
// Optional STORK
- final String formatEntity = super.getSamlCoreProperties()
- .getFormatEntity();
+ final String formatEntity = super.getSamlCoreProperties().getFormatEntity();
if (StringUtils.isNotBlank(formatEntity)) {
issuer.setFormat(formatEntity);
}
logoutResponseAux.setIssuer(issuer);
-
-
+
// the result contains an authentication request token (byte[]),
// identifier of the token, and all parameters from the request.
final STORKLogoutResponse logoutResponse = new STORKLogoutResponse();
@@ -1832,25 +1633,22 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Generate stork authentication statement for the authentication statement.
*
- * @param ipAddress the IP address
+ * @param ipAddress
+ * the IP address
*
* @return the authentication statement
*/
private AuthnStatement generateStorkAuthStatement(final String ipAddress) {
LOG.debug("Generate stork authenticate statement.");
- final SubjectLocality subjectLocality = SAMLEngineUtils
- .generateSubjectLocality(ipAddress);
+ final SubjectLocality subjectLocality = SAMLEngineUtils.generateSubjectLocality(ipAddress);
- final AuthnContext authnContext = (AuthnContext) SAMLEngineUtils
- .createSamlObject(AuthnContext.DEFAULT_ELEMENT_NAME);
+ final AuthnContext authnContext = (AuthnContext) SAMLEngineUtils.createSamlObject(AuthnContext.DEFAULT_ELEMENT_NAME);
- final AuthnContextDecl authnContextDecl = (AuthnContextDecl) SAMLEngineUtils
- .createSamlObject(AuthnContextDecl.DEFAULT_ELEMENT_NAME);
+ final AuthnContextDecl authnContextDecl = (AuthnContextDecl) SAMLEngineUtils.createSamlObject(AuthnContextDecl.DEFAULT_ELEMENT_NAME);
authnContext.setAuthnContextDecl(authnContextDecl);
- final AuthnStatement authnStatement = SAMLEngineUtils
- .generateAthnStatement(new DateTime(), authnContext);
+ final AuthnStatement authnStatement = SAMLEngineUtils.generateAthnStatement(new DateTime(), authnContext);
// Optional STORK
authnStatement.setSessionIndex(null);
@@ -1862,101 +1660,84 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Generate stork extensions.
*
- * @param request the request
+ * @param request
+ * the request
*
* @return the extensions
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private Extensions generateSTORKExtensions(final STORKAuthnRequest request)
- throws STORKSAMLEngineException {
+ private Extensions generateSTORKExtensions(final STORKAuthnRequest request) throws STORKSAMLEngineException {
LOG.debug("Generate STORKExtensions");
final Extensions extensions = SAMLEngineUtils.generateExtension();
LOG.debug("Generate QAAAttribute");
- final QAAAttribute qaaAttribute = SAMLEngineUtils
- .generateQAAAttribute(request.getQaa());
+ final QAAAttribute qaaAttribute = SAMLEngineUtils.generateQAAAttribute(request.getQaa());
extensions.getUnknownXMLObjects().add(qaaAttribute);
-
- if (StringUtils.isNotEmpty(request
- .getSpSector())) {
+ if (StringUtils.isNotEmpty(request.getSpSector())) {
// Add information about service provider.
LOG.debug("Generate SPSector");
- final SPSector sector = SAMLEngineUtils.generateSPSector(request
- .getSpSector());
+ final SPSector sector = SAMLEngineUtils.generateSPSector(request.getSpSector());
extensions.getUnknownXMLObjects().add(sector);
}
- //Delete from specification. Kept for compatibility with Provider Name value
+ // Delete from specification. Kept for compatibility with Provider Name value
LOG.debug("Generate SPInstitution");
- final SPInstitution institution = SAMLEngineUtils
- .generateSPInstitution(request.getProviderName());
+ final SPInstitution institution = SAMLEngineUtils.generateSPInstitution(request.getProviderName());
extensions.getUnknownXMLObjects().add(institution);
-
if (StringUtils.isNotEmpty(request.getSpApplication())) {
LOG.debug("Generate SPApplication");
- final SPApplication application = SAMLEngineUtils
- .generateSPApplication(request.getSpApplication());
+ final SPApplication application = SAMLEngineUtils.generateSPApplication(request.getSpApplication());
extensions.getUnknownXMLObjects().add(application);
}
if (StringUtils.isNotEmpty(request.getSpCountry())) {
LOG.debug("Generate SPCountry");
- final SPCountry country = SAMLEngineUtils.generateSPCountry(request
- .getSpCountry());
+ final SPCountry country = SAMLEngineUtils.generateSPCountry(request.getSpCountry());
extensions.getUnknownXMLObjects().add(country);
}
- //eIDSectorShare: optional; default value: false.
- String valueSectorShare = super.getSamlCoreProperties()
- .iseIDSectorShare();
+ // eIDSectorShare: optional; default value: false.
+ String valueSectorShare = super.getSamlCoreProperties().iseIDSectorShare();
if (StringUtils.isNotEmpty(valueSectorShare)) {
// Add information about the use of the SAML message.
LOG.debug("Generate EIDSectorShare");
- final EIDSectorShare eIdSectorShare = (EIDSectorShare) SAMLEngineUtils
- .createSamlObject(EIDSectorShare.DEF_ELEMENT_NAME);
+ final EIDSectorShare eIdSectorShare = (EIDSectorShare) SAMLEngineUtils.createSamlObject(EIDSectorShare.DEF_ELEMENT_NAME);
eIdSectorShare.setEIDSectorShare(String.valueOf(Boolean.valueOf(valueSectorShare)));
extensions.getUnknownXMLObjects().add(eIdSectorShare);
- }
+ }
- String valueCrossSectorShare = super.getSamlCoreProperties()
- .iseIDCrossSectorShare();
+ String valueCrossSectorShare = super.getSamlCoreProperties().iseIDCrossSectorShare();
if (StringUtils.isNotEmpty(valueCrossSectorShare)) {
LOG.debug("Generate EIDCrossSectorShare");
- final EIDCrossSectorShare eIdCrossSecShare = (EIDCrossSectorShare) SAMLEngineUtils
- .createSamlObject(EIDCrossSectorShare.DEF_ELEMENT_NAME);
+ final EIDCrossSectorShare eIdCrossSecShare = (EIDCrossSectorShare) SAMLEngineUtils.createSamlObject(EIDCrossSectorShare.DEF_ELEMENT_NAME);
eIdCrossSecShare.setEIDCrossSectorShare(String.valueOf(Boolean.valueOf(valueCrossSectorShare)));
extensions.getUnknownXMLObjects().add(eIdCrossSecShare);
}
-
- String valueCrossBorderShare = super.getSamlCoreProperties()
- .iseIDCrossBorderShare();
+ String valueCrossBorderShare = super.getSamlCoreProperties().iseIDCrossBorderShare();
if (StringUtils.isNotEmpty(valueCrossBorderShare)) {
LOG.debug("Generate EIDCrossBorderShare");
- final EIDCrossBorderShare eIdCrossBordShare = (EIDCrossBorderShare) SAMLEngineUtils
- .createSamlObject(EIDCrossBorderShare.DEF_ELEMENT_NAME);
+ final EIDCrossBorderShare eIdCrossBordShare = (EIDCrossBorderShare) SAMLEngineUtils.createSamlObject(EIDCrossBorderShare.DEF_ELEMENT_NAME);
eIdCrossBordShare.setEIDCrossBorderShare(String.valueOf(Boolean.valueOf(valueCrossBorderShare)));
extensions.getUnknownXMLObjects().add(eIdCrossBordShare);
}
-
// Add information about requested attributes.
LOG.debug("Generate RequestedAttributes.");
- final RequestedAttributes reqAttributes = (RequestedAttributes) SAMLEngineUtils
- .createSamlObject(RequestedAttributes.DEF_ELEMENT_NAME);
+ final RequestedAttributes reqAttributes = (RequestedAttributes) SAMLEngineUtils.createSamlObject(RequestedAttributes.DEF_ELEMENT_NAME);
LOG.debug("SAML Engine configuration properties load.");
- final Iterator<PersonalAttribute> iterator = request
- .getPersonalAttributeList().iterator();
+ final Iterator<PersonalAttribute> iterator = request.getPersonalAttributeList().iterator();
while (iterator.hasNext()) {
@@ -1968,14 +1749,11 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
// Verified if exits the attribute name.
- final String attributeName = super.getSamlCoreProperties()
- .getProperty(attribute.getName());
+ final String attributeName = super.getSamlCoreProperties().getProperty(attribute.getName());
if (StringUtils.isBlank(attributeName)) {
- LOG.debug("Attribute name: {} was not found.", attribute
- .getName());
- throw new STORKSAMLEngineException("Attribute name: "
- + attribute.getName() + " was not found.");
+ LOG.debug("Attribute name: {} was not found.", attribute.getName());
+ throw new STORKSAMLEngineException("Attribute name: " + attribute.getName() + " was not found.");
}
// Friendly name it's an optional attribute.
@@ -1985,18 +1763,13 @@ public final class STORKSAMLEngine extends SAMLEngine {
friendlyName = attribute.getName();
}
-
String isRequired = null;
if (super.getSamlCoreProperties().isRequired()) {
isRequired = String.valueOf(attribute.isRequired());
}
-
LOG.debug("Generate requested attribute: " + attributeName);
- final RequestedAttribute requestedAttr = SAMLEngineUtils
- .generateReqAuthnAttributeSimple(attributeName,
- friendlyName, isRequired, attribute
- .getValue());
+ final RequestedAttribute requestedAttr = SAMLEngineUtils.generateReqAuthnAttributeSimple(attributeName, friendlyName, isRequired, attribute.getValue());
// Add requested attribute.
reqAttributes.getAttributes().add(requestedAttr);
@@ -2006,123 +1779,103 @@ public final class STORKSAMLEngine extends SAMLEngine {
extensions.getUnknownXMLObjects().add(reqAttributes);
CitizenCountryCode citizenCountryCode = null;
- if (request.getCitizenCountryCode() != null && StringUtils.isNotBlank(request.getCitizenCountryCode())){
+ if (request.getCitizenCountryCode() != null && StringUtils.isNotBlank(request.getCitizenCountryCode())) {
LOG.debug("Generate CitizenCountryCode");
- citizenCountryCode = (CitizenCountryCode) SAMLEngineUtils
- .createSamlObject(CitizenCountryCode.DEF_ELEMENT_NAME);
+ citizenCountryCode = (CitizenCountryCode) SAMLEngineUtils.createSamlObject(CitizenCountryCode.DEF_ELEMENT_NAME);
- citizenCountryCode.setCitizenCountryCode(request
- .getCitizenCountryCode().toUpperCase());
- }
+ citizenCountryCode.setCitizenCountryCode(request.getCitizenCountryCode().toUpperCase());
+ }
SPID spid = null;
- if(request.getSPID()!=null && StringUtils.isNotBlank(request.getSPID())) {
+ if (request.getSPID() != null && StringUtils.isNotBlank(request.getSPID())) {
LOG.debug("Generate SPID");
- spid = (SPID) SAMLEngineUtils
- .createSamlObject(SPID.DEF_ELEMENT_NAME);
+ spid = (SPID) SAMLEngineUtils.createSamlObject(SPID.DEF_ELEMENT_NAME);
spid.setSPID(request.getSPID().toUpperCase());
- }
+ }
- AuthenticationAttributes authenticationAttr = (AuthenticationAttributes) SAMLEngineUtils
- .createSamlObject(AuthenticationAttributes.DEF_ELEMENT_NAME);
+ AuthenticationAttributes authenticationAttr = (AuthenticationAttributes) SAMLEngineUtils.createSamlObject(AuthenticationAttributes.DEF_ELEMENT_NAME);
- final VIDPAuthenticationAttributes vIDPauthenticationAttr = (VIDPAuthenticationAttributes) SAMLEngineUtils
- .createSamlObject(VIDPAuthenticationAttributes.DEF_ELEMENT_NAME);
+ final VIDPAuthenticationAttributes vIDPauthenticationAttr = (VIDPAuthenticationAttributes) SAMLEngineUtils.createSamlObject(VIDPAuthenticationAttributes.DEF_ELEMENT_NAME);
- final SPInformation spInformation = (SPInformation) SAMLEngineUtils
- .createSamlObject(SPInformation.DEF_ELEMENT_NAME);
+ final SPInformation spInformation = (SPInformation) SAMLEngineUtils.createSamlObject(SPInformation.DEF_ELEMENT_NAME);
- if(citizenCountryCode!=null){
+ if (citizenCountryCode != null) {
vIDPauthenticationAttr.setCitizenCountryCode(citizenCountryCode);
}
- if(spid!=null){
+ if (spid != null) {
spInformation.setSPID(spid);
}
vIDPauthenticationAttr.setSPInformation(spInformation);
- authenticationAttr
- .setVIDPAuthenticationAttributes(vIDPauthenticationAttr);
+ authenticationAttr.setVIDPAuthenticationAttributes(vIDPauthenticationAttr);
extensions.getUnknownXMLObjects().add(authenticationAttr);
-
return extensions;
}
-
+
/**
* Generate stork extensions.
*
- * @param request the attribute query request
+ * @param request
+ * the attribute query request
*
* @return the extensions
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private Extensions generateSTORKAttrExtensions(final STORKAttrQueryRequest request)
- throws STORKSAMLEngineException {
+ private Extensions generateSTORKAttrExtensions(final STORKAttrQueryRequest request) throws STORKSAMLEngineException {
LOG.debug("Generate STORKExtensions");
final Extensions extensions = SAMLEngineUtils.generateExtension();
LOG.debug("Generate QAAAttribute");
- final QAAAttribute qaaAttribute = SAMLEngineUtils
- .generateQAAAttribute(request.getQaa());
+ final QAAAttribute qaaAttribute = SAMLEngineUtils.generateQAAAttribute(request.getQaa());
extensions.getUnknownXMLObjects().add(qaaAttribute);
-
- if (StringUtils.isNotEmpty(request
- .getSpSector())) {
+ if (StringUtils.isNotEmpty(request.getSpSector())) {
// Add information about service provider.
LOG.debug("Generate SPSector");
- final SPSector sector = SAMLEngineUtils.generateSPSector(request
- .getSpSector());
+ final SPSector sector = SAMLEngineUtils.generateSPSector(request.getSpSector());
extensions.getUnknownXMLObjects().add(sector);
}
-
if (StringUtils.isNotEmpty(request.getSpApplication())) {
LOG.debug("Generate SPApplication");
- final SPApplication application = SAMLEngineUtils
- .generateSPApplication(request.getSpApplication());
+ final SPApplication application = SAMLEngineUtils.generateSPApplication(request.getSpApplication());
extensions.getUnknownXMLObjects().add(application);
}
if (StringUtils.isNotEmpty(request.getSpCountry())) {
LOG.debug("Generate SPCountry");
- final SPCountry country = SAMLEngineUtils.generateSPCountry(request
- .getSpCountry());
+ final SPCountry country = SAMLEngineUtils.generateSPCountry(request.getSpCountry());
extensions.getUnknownXMLObjects().add(country);
}
- final EIDSectorShare eIdSectorShare = (EIDSectorShare) SAMLEngineUtils
- .createSamlObject(EIDSectorShare.DEF_ELEMENT_NAME);
+ final EIDSectorShare eIdSectorShare = (EIDSectorShare) SAMLEngineUtils.createSamlObject(EIDSectorShare.DEF_ELEMENT_NAME);
eIdSectorShare.setEIDSectorShare(String.valueOf(request.isEIDSectorShare()));
extensions.getUnknownXMLObjects().add(eIdSectorShare);
- final EIDCrossSectorShare eIdCrossSecShare = (EIDCrossSectorShare) SAMLEngineUtils
- .createSamlObject(EIDCrossSectorShare.DEF_ELEMENT_NAME);
+ final EIDCrossSectorShare eIdCrossSecShare = (EIDCrossSectorShare) SAMLEngineUtils.createSamlObject(EIDCrossSectorShare.DEF_ELEMENT_NAME);
eIdCrossSecShare.setEIDCrossSectorShare(String.valueOf(request.isEIDCrossSectorShare()));
extensions.getUnknownXMLObjects().add(eIdCrossSecShare);
- final EIDCrossBorderShare eIdCrossBordShare = (EIDCrossBorderShare) SAMLEngineUtils
- .createSamlObject(EIDCrossBorderShare.DEF_ELEMENT_NAME);
+ final EIDCrossBorderShare eIdCrossBordShare = (EIDCrossBorderShare) SAMLEngineUtils.createSamlObject(EIDCrossBorderShare.DEF_ELEMENT_NAME);
eIdCrossBordShare.setEIDCrossBorderShare(String.valueOf(request.isEIDCrossBorderShare()));
extensions.getUnknownXMLObjects().add(eIdCrossBordShare);
-
// Add information about requested attributes.
LOG.debug("Generate RequestedAttributes.");
- final RequestedAttributes reqAttributes = (RequestedAttributes) SAMLEngineUtils
- .createSamlObject(RequestedAttributes.DEF_ELEMENT_NAME);
+ final RequestedAttributes reqAttributes = (RequestedAttributes) SAMLEngineUtils.createSamlObject(RequestedAttributes.DEF_ELEMENT_NAME);
LOG.debug("SAML Engine configuration properties load.");
- final Iterator<PersonalAttribute> iterator = request
- .getPersonalAttributeList().iterator();
+ final Iterator<PersonalAttribute> iterator = request.getPersonalAttributeList().iterator();
while (iterator.hasNext()) {
@@ -2134,14 +1887,11 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
// Verified if exits the attribute name.
- final String attributeName = super.getSamlCoreProperties()
- .getProperty(attribute.getName());
+ final String attributeName = super.getSamlCoreProperties().getProperty(attribute.getName());
if (StringUtils.isBlank(attributeName)) {
- LOG.debug("Attribute name: {} was not found.", attribute
- .getName());
- throw new STORKSAMLEngineException("Attribute name: "
- + attribute.getName() + " was not found.");
+ LOG.debug("Attribute name: {} was not found.", attribute.getName());
+ throw new STORKSAMLEngineException("Attribute name: " + attribute.getName() + " was not found.");
}
// Friendly name it's an optional attribute.
@@ -2151,18 +1901,13 @@ public final class STORKSAMLEngine extends SAMLEngine {
friendlyName = attribute.getName();
}
-
String isRequired = null;
if (super.getSamlCoreProperties().isRequired()) {
isRequired = String.valueOf(attribute.isRequired());
}
-
LOG.debug("Generate requested attribute: " + attributeName);
- final RequestedAttribute requestedAttr = SAMLEngineUtils
- .generateReqAuthnAttributeSimple(attributeName,
- friendlyName, isRequired, attribute
- .getValue());
+ final RequestedAttribute requestedAttr = SAMLEngineUtils.generateReqAuthnAttributeSimple(attributeName, friendlyName, isRequired, attribute.getValue());
// Add requested attribute.
reqAttributes.getAttributes().add(requestedAttr);
@@ -2172,100 +1917,92 @@ public final class STORKSAMLEngine extends SAMLEngine {
extensions.getUnknownXMLObjects().add(reqAttributes);
CitizenCountryCode citizenCountryCode = null;
- if (request.getCitizenCountryCode() != null && StringUtils.isNotBlank(request.getCitizenCountryCode())){
+ if (request.getCitizenCountryCode() != null && StringUtils.isNotBlank(request.getCitizenCountryCode())) {
LOG.debug("Generate CitizenCountryCode");
- citizenCountryCode = (CitizenCountryCode) SAMLEngineUtils
- .createSamlObject(CitizenCountryCode.DEF_ELEMENT_NAME);
+ citizenCountryCode = (CitizenCountryCode) SAMLEngineUtils.createSamlObject(CitizenCountryCode.DEF_ELEMENT_NAME);
+
+ citizenCountryCode.setCitizenCountryCode(request.getCitizenCountryCode().toUpperCase());
- citizenCountryCode.setCitizenCountryCode(request
- .getCitizenCountryCode().toUpperCase());
- }
+ extensions.getUnknownXMLObjects().add(citizenCountryCode);
+ }
SPID spid = null;
- if(request.getSPID()!=null && StringUtils.isNotBlank(request.getSPID())) {
+ if (request.getSPID() != null && StringUtils.isNotBlank(request.getSPID())) {
LOG.debug("Generate SPID");
- spid = (SPID) SAMLEngineUtils
- .createSamlObject(SPID.DEF_ELEMENT_NAME);
+ spid = (SPID) SAMLEngineUtils.createSamlObject(SPID.DEF_ELEMENT_NAME);
spid.setSPID(request.getSPID().toUpperCase());
- }
+ extensions.getUnknownXMLObjects().add(spid);
+ }
return extensions;
}
-
+
/**
* Gets the alias from X.509 Certificate at keystore.
*
- * @param keyInfo the key info
- * @param storkOwnKeyStore
- * @param storkOwnKeyStore
+ * @param keyInfo
+ * the key info
+ * @param storkOwnKeyStore
+ * @param storkOwnKeyStore
*
* @return the alias
*/
- private String getAlias(final KeyInfo keyInfo, KeyStore storkOwnKeyStore) {
-
- LOG.debug("Recover alias information");
+ private String getAlias(final KeyInfo keyInfo, KeyStore storkOwnKeyStore) {
- String alias = null;
- try {
- final org.opensaml.xml.signature.X509Certificate xmlCert = keyInfo
- .getX509Datas().get(0).getX509Certificates().get(0);
+ LOG.debug("Recover alias information");
- // Transform the KeyInfo to X509Certificate.
- CertificateFactory certFact;
- certFact = CertificateFactory.getInstance("X.509");
+ String alias = null;
+ try {
+ final org.opensaml.xml.signature.X509Certificate xmlCert = keyInfo.getX509Datas().get(0).getX509Certificates().get(0);
- final ByteArrayInputStream bis = new ByteArrayInputStream(Base64
- .decode(xmlCert.getValue()));
+ // Transform the KeyInfo to X509Certificate.
+ CertificateFactory certFact;
+ certFact = CertificateFactory.getInstance("X.509");
- final X509Certificate cert = (X509Certificate) certFact
- .generateCertificate(bis);
+ final ByteArrayInputStream bis = new ByteArrayInputStream(Base64.decode(xmlCert.getValue()));
- final String tokenSerialNumber = cert.getSerialNumber().toString(16);
- final X509Principal tokenIssuerDN = new X509Principal(cert.getIssuerDN().getName());
+ final X509Certificate cert = (X509Certificate) certFact.generateCertificate(bis);
+ final String tokenSerialNumber = cert.getSerialNumber().toString(16);
+ final X509Principal tokenIssuerDN = new X509Principal(cert.getIssuerDN().getName());
- String aliasCert;
- X509Certificate certificate;
- boolean find = false;
+ String aliasCert;
+ X509Certificate certificate;
+ boolean find = false;
- for (final Enumeration<String> e = storkOwnKeyStore.aliases(); e
- .hasMoreElements()
- && !find; ) {
- aliasCert = e.nextElement();
- certificate = (X509Certificate) storkOwnKeyStore
- .getCertificate(aliasCert);
+ for (final Enumeration<String> e = storkOwnKeyStore.aliases(); e.hasMoreElements() && !find;) {
+ aliasCert = e.nextElement();
+ certificate = (X509Certificate) storkOwnKeyStore.getCertificate(aliasCert);
- final String serialNum = certificate.getSerialNumber()
- .toString(16);
+ final String serialNum = certificate.getSerialNumber().toString(16);
- X509Principal issuerDN = new X509Principal(certificate
- .getIssuerDN().getName());
+ X509Principal issuerDN = new X509Principal(certificate.getIssuerDN().getName());
- if(serialNum.equalsIgnoreCase(tokenSerialNumber)
- && X509PrincipalUtil.equals2(issuerDN, tokenIssuerDN)){
- alias = aliasCert;
- find = true;
- }
+ if (serialNum.equalsIgnoreCase(tokenSerialNumber) && X509PrincipalUtil.equals2(issuerDN, tokenIssuerDN)) {
+ alias = aliasCert;
+ find = true;
+ }
- }
+ }
- } catch (KeyStoreException e) {
- LOG.error("Procces getAlias from certificate associated into the signing keystore..", e);
- } catch (CertificateException e) {
- LOG.error("Procces getAlias from certificate associated into the signing keystore..", e);
- } catch (RuntimeException e) {
- LOG.error("Procces getAlias from certificate associated into the signing keystore..", e);
- }
- return alias;
- }
+ } catch (KeyStoreException e) {
+ LOG.error("Procces getAlias from certificate associated into the signing keystore..", e);
+ } catch (CertificateException e) {
+ LOG.error("Procces getAlias from certificate associated into the signing keystore..", e);
+ } catch (RuntimeException e) {
+ LOG.error("Procces getAlias from certificate associated into the signing keystore..", e);
+ }
+ return alias;
+ }
/**
* Gets the country from X.509 Certificate.
*
- * @param keyInfo the key info
+ * @param keyInfo
+ * the key info
*
* @return the country
*/
@@ -2274,23 +2011,19 @@ public final class STORKSAMLEngine extends SAMLEngine {
String result = "";
try {
- final org.opensaml.xml.signature.X509Certificate xmlCert = keyInfo
- .getX509Datas().get(0).getX509Certificates().get(0);
+ final org.opensaml.xml.signature.X509Certificate xmlCert = keyInfo.getX509Datas().get(0).getX509Certificates().get(0);
// Transform the KeyInfo to X509Certificate.
CertificateFactory certFact;
certFact = CertificateFactory.getInstance("X.509");
- final ByteArrayInputStream bis = new ByteArrayInputStream(Base64
- .decode(xmlCert.getValue()));
+ final ByteArrayInputStream bis = new ByteArrayInputStream(Base64.decode(xmlCert.getValue()));
- final X509Certificate cert = (X509Certificate) certFact
- .generateCertificate(bis);
+ final X509Certificate cert = (X509Certificate) certFact.generateCertificate(bis);
String distName = cert.getSubjectDN().toString();
- distName = StringUtils.deleteWhitespace(StringUtils
- .upperCase(distName));
+ distName = StringUtils.deleteWhitespace(StringUtils.upperCase(distName));
final String countryCode = "C=";
final int init = distName.indexOf(countryCode);
@@ -2303,12 +2036,11 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
if (init < end && end > StringUtils.INDEX_NOT_FOUND) {
- result = distName.substring(init + countryCode.length(),
- end);
- //It must be a two characters value
- if(result.length()>2){
+ result = distName.substring(init + countryCode.length(), end);
+ // It must be a two characters value
+ if (result.length() > 2) {
result = result.substring(0, 2);
- }
+ }
}
}
@@ -2321,112 +2053,97 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Process all elements XMLObjects from the extensions.
*
- * @param extensions the extensions from the authentication request.
+ * @param extensions
+ * the extensions from the authentication request.
*
* @return the STORK authentication request
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private STORKAuthnRequest processExtensions(final Extensions extensions)
- throws STORKSAMLEngineException {
+ private STORKAuthnRequest processExtensions(final Extensions extensions) throws STORKSAMLEngineException {
LOG.debug("Procces the extensions.");
final STORKAuthnRequest request = new STORKAuthnRequest();
- final QAAAttribute qaa = (QAAAttribute) extensions
- .getUnknownXMLObjects(QAAAttribute.DEF_ELEMENT_NAME).get(0);
+ final QAAAttribute qaa = (QAAAttribute) extensions.getUnknownXMLObjects(QAAAttribute.DEF_ELEMENT_NAME).get(0);
request.setQaa(Integer.parseInt(qaa.getQaaLevel()));
- List optionalElements = extensions.getUnknownXMLObjects(
- SPSector.DEF_ELEMENT_NAME);
+ List optionalElements = extensions.getUnknownXMLObjects(SPSector.DEF_ELEMENT_NAME);
if (!optionalElements.isEmpty()) {
- final SPSector sector = (SPSector) extensions.getUnknownXMLObjects(
- SPSector.DEF_ELEMENT_NAME).get(0);
+ final SPSector sector = (SPSector) extensions.getUnknownXMLObjects(SPSector.DEF_ELEMENT_NAME).get(0);
request.setSpSector(sector.getSPSector());
}
optionalElements = extensions.getUnknownXMLObjects(SPApplication.DEF_ELEMENT_NAME);
if (!optionalElements.isEmpty()) {
- final SPApplication application = (SPApplication) extensions
- .getUnknownXMLObjects(SPApplication.DEF_ELEMENT_NAME).get(0);
+ final SPApplication application = (SPApplication) extensions.getUnknownXMLObjects(SPApplication.DEF_ELEMENT_NAME).get(0);
request.setSpApplication(application.getSPApplication());
}
optionalElements = extensions.getUnknownXMLObjects(SPCountry.DEF_ELEMENT_NAME);
if (!optionalElements.isEmpty()) {
- final SPCountry application = (SPCountry) extensions
- .getUnknownXMLObjects(SPCountry.DEF_ELEMENT_NAME).get(0);
+ final SPCountry application = (SPCountry) extensions.getUnknownXMLObjects(SPCountry.DEF_ELEMENT_NAME).get(0);
request.setSpCountry(application.getSPCountry());
- }
-
+ }
- List listCrossBorderShare = extensions
- .getUnknownXMLObjects(EIDCrossBorderShare.DEF_ELEMENT_NAME);
+ List listCrossBorderShare = extensions.getUnknownXMLObjects(EIDCrossBorderShare.DEF_ELEMENT_NAME);
- if (!listCrossBorderShare .isEmpty()) {
+ if (!listCrossBorderShare.isEmpty()) {
final EIDCrossBorderShare crossBorderShare = (EIDCrossBorderShare) listCrossBorderShare.get(0);
- request.setEIDCrossBorderShare(Boolean.parseBoolean(crossBorderShare
- .getEIDCrossBorderShare()));
+ request.setEIDCrossBorderShare(Boolean.parseBoolean(crossBorderShare.getEIDCrossBorderShare()));
}
-
- List listCrosSectorShare = extensions
- .getUnknownXMLObjects(EIDCrossSectorShare.DEF_ELEMENT_NAME);
+ List listCrosSectorShare = extensions.getUnknownXMLObjects(EIDCrossSectorShare.DEF_ELEMENT_NAME);
if (!listCrosSectorShare.isEmpty()) {
final EIDCrossSectorShare crossSectorShare = (EIDCrossSectorShare) listCrosSectorShare.get(0);
- request.setEIDCrossSectorShare(Boolean.parseBoolean(crossSectorShare
- .getEIDCrossSectorShare()));
+ request.setEIDCrossSectorShare(Boolean.parseBoolean(crossSectorShare.getEIDCrossSectorShare()));
}
- List listSectorShareExtension = extensions
- .getUnknownXMLObjects(EIDSectorShare.DEF_ELEMENT_NAME);
+ List listSectorShareExtension = extensions.getUnknownXMLObjects(EIDSectorShare.DEF_ELEMENT_NAME);
if (!listSectorShareExtension.isEmpty()) {
final EIDSectorShare sectorShare = (EIDSectorShare) listSectorShareExtension.get(0);
request.setEIDSectorShare(Boolean.parseBoolean(sectorShare.getEIDSectorShare()));
}
-
-
- List<XMLObject> authAttrs = extensions
- .getUnknownXMLObjects(AuthenticationAttributes.DEF_ELEMENT_NAME);
+ List<XMLObject> authAttrs = extensions.getUnknownXMLObjects(AuthenticationAttributes.DEF_ELEMENT_NAME);
if (authAttrs != null && !authAttrs.isEmpty()) {
- final AuthenticationAttributes authnAttr = (AuthenticationAttributes) authAttrs
- .get(0);
+ final AuthenticationAttributes authnAttr = (AuthenticationAttributes) authAttrs.get(0);
VIDPAuthenticationAttributes vidpAuthnAttr = null;
- if (authnAttr != null && !authAttrs.isEmpty()){
+ if (authnAttr != null && !authAttrs.isEmpty()) {
vidpAuthnAttr = authnAttr.getVIDPAuthenticationAttributes();
}
CitizenCountryCode citizenCountryCodeElement = null;
SPInformation spInformation = null;
- if (vidpAuthnAttr != null){
+ if (vidpAuthnAttr != null) {
citizenCountryCodeElement = vidpAuthnAttr.getCitizenCountryCode();
spInformation = vidpAuthnAttr.getSPInformation();
}
String citizenCountryCode = null;
- if(citizenCountryCodeElement!=null){
+ if (citizenCountryCodeElement != null) {
citizenCountryCode = citizenCountryCodeElement.getCitizenCountryCode();
}
- if(citizenCountryCode!= null && StringUtils.isNotBlank(citizenCountryCode)){
+ if (citizenCountryCode != null && StringUtils.isNotBlank(citizenCountryCode)) {
request.setCitizenCountryCode(citizenCountryCode);
- }
+ }
SPID spidElement = null;
- if (spInformation != null){
+ if (spInformation != null) {
spidElement = spInformation.getSPID();
}
String spid = null;
- if(spidElement!=null){
+ if (spidElement != null) {
spid = spidElement.getSPID();
}
@@ -2435,16 +2152,12 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
}
- if (extensions
- .getUnknownXMLObjects(RequestedAttributes.DEF_ELEMENT_NAME) == null) {
+ if (extensions.getUnknownXMLObjects(RequestedAttributes.DEF_ELEMENT_NAME) == null) {
LOG.error("Extensions not contains any requested attribute.");
- throw new STORKSAMLEngineException(
- "Extensions not contains any requested attribute.");
+ throw new STORKSAMLEngineException("Extensions not contains any requested attribute.");
}
- final RequestedAttributes requestedAttr = (RequestedAttributes) extensions
- .getUnknownXMLObjects(RequestedAttributes.DEF_ELEMENT_NAME)
- .get(0);
+ final RequestedAttributes requestedAttr = (RequestedAttributes) extensions.getUnknownXMLObjects(RequestedAttributes.DEF_ELEMENT_NAME).get(0);
final List<RequestedAttribute> reqAttrs = requestedAttr.getAttributes();
@@ -2459,8 +2172,7 @@ public final class STORKSAMLEngine extends SAMLEngine {
attributeName = attribute.getName();
// recover the last name from the string.
- personalAttribute.setName(attributeName.substring(attributeName
- .lastIndexOf('/') + 1));
+ personalAttribute.setName(attributeName.substring(attributeName.lastIndexOf('/') + 1));
final ArrayList<String> valores = new ArrayList<String>();
final List<XMLObject> values = attribute.getOrderedChildren();
@@ -2469,52 +2181,46 @@ public final class STORKSAMLEngine extends SAMLEngine {
// Process attributes simples. An AuthenticationRequest only
// must contains simple values.
-
+
final XMLObject xmlObject = values.get(nextSimpleValue);
-
- if(xmlObject instanceof XSStringImpl){
-
- final XSStringImpl xmlString = (XSStringImpl) values
- .get(nextSimpleValue);
+
+ if (xmlObject instanceof XSStringImpl) {
+
+ final XSStringImpl xmlString = (XSStringImpl) values.get(nextSimpleValue);
valores.add(xmlString.getValue());
-
- }else{
-
+
+ } else {
+
if (attributeName.equals("http://www.stork.gov.eu/1.0/signedDoc")) {
-
- final XSAnyImpl xmlString = (XSAnyImpl) values
- .get(nextSimpleValue);
-
+
+ final XSAnyImpl xmlString = (XSAnyImpl) values.get(nextSimpleValue);
+
TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = null;
try {
transformer = transFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
} catch (TransformerConfigurationException e) {
- LOG.error("Error transformer configuration exception", e);
+ LOG.error("Error transformer configuration exception", e);
}
- StringWriter buffer = new StringWriter();
+ StringWriter buffer = new StringWriter();
try {
- if (xmlString != null && xmlString.getUnknownXMLObjects() != null && xmlString.getUnknownXMLObjects().size() > 0 ){
- transformer.transform(new DOMSource(xmlString.getUnknownXMLObjects().get(0).getDOM()),
- new StreamResult(buffer));
- }
+ if (xmlString != null && xmlString.getUnknownXMLObjects() != null && xmlString.getUnknownXMLObjects().size() > 0) {
+ transformer.transform(new DOMSource(xmlString.getUnknownXMLObjects().get(0).getDOM()), new StreamResult(buffer));
+ }
} catch (TransformerException e) {
- LOG.error("Error transformer exception", e);
+ LOG.error("Error transformer exception", e);
}
String str = buffer.toString();
-
- valores.add(str);
-
- }else{
-
- final XSAnyImpl xmlString = (XSAnyImpl) values
- .get(nextSimpleValue);
+
+ valores.add(str);
+
+ } else {
+
+ final XSAnyImpl xmlString = (XSAnyImpl) values.get(nextSimpleValue);
valores.add(xmlString.getTextContent());
}
-
-
-
+
}
}
personalAttribute.setValue(valores);
@@ -2526,116 +2232,100 @@ public final class STORKSAMLEngine extends SAMLEngine {
return request;
}
-
/**
* Process all elements XMLObjects from the extensions.
*
- * @param extensions the extensions from the authentication request.
+ * @param extensions
+ * the extensions from the authentication request.
*
* @return the STORK authentication request
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private STORKAttrQueryRequest processAttrExtensions(final Extensions extensions)
- throws STORKSAMLEngineException {
+ private STORKAttrQueryRequest processAttrExtensions(final Extensions extensions) throws STORKSAMLEngineException {
LOG.debug("Procces the atribute query extensions.");
final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
- final QAAAttribute qaa = (QAAAttribute) extensions
- .getUnknownXMLObjects(QAAAttribute.DEF_ELEMENT_NAME).get(0);
+ final QAAAttribute qaa = (QAAAttribute) extensions.getUnknownXMLObjects(QAAAttribute.DEF_ELEMENT_NAME).get(0);
request.setQaa(Integer.parseInt(qaa.getQaaLevel()));
- List optionalElements = extensions.getUnknownXMLObjects(
- SPSector.DEF_ELEMENT_NAME);
+ List optionalElements = extensions.getUnknownXMLObjects(SPSector.DEF_ELEMENT_NAME);
if (!optionalElements.isEmpty()) {
- final SPSector sector = (SPSector) extensions.getUnknownXMLObjects(
- SPSector.DEF_ELEMENT_NAME).get(0);
+ final SPSector sector = (SPSector) extensions.getUnknownXMLObjects(SPSector.DEF_ELEMENT_NAME).get(0);
request.setSpSector(sector.getSPSector());
}
optionalElements = extensions.getUnknownXMLObjects(SPApplication.DEF_ELEMENT_NAME);
if (!optionalElements.isEmpty()) {
- final SPApplication application = (SPApplication) extensions
- .getUnknownXMLObjects(SPApplication.DEF_ELEMENT_NAME).get(0);
+ final SPApplication application = (SPApplication) extensions.getUnknownXMLObjects(SPApplication.DEF_ELEMENT_NAME).get(0);
request.setSpApplication(application.getSPApplication());
}
optionalElements = extensions.getUnknownXMLObjects(SPCountry.DEF_ELEMENT_NAME);
if (!optionalElements.isEmpty()) {
- final SPCountry application = (SPCountry) extensions
- .getUnknownXMLObjects(SPCountry.DEF_ELEMENT_NAME).get(0);
+ final SPCountry application = (SPCountry) extensions.getUnknownXMLObjects(SPCountry.DEF_ELEMENT_NAME).get(0);
request.setSpCountry(application.getSPCountry());
- }
-
+ }
- List listCrossBorderShare = extensions
- .getUnknownXMLObjects(EIDCrossBorderShare.DEF_ELEMENT_NAME);
+ List listCrossBorderShare = extensions.getUnknownXMLObjects(EIDCrossBorderShare.DEF_ELEMENT_NAME);
- if (!listCrossBorderShare .isEmpty()) {
+ if (!listCrossBorderShare.isEmpty()) {
final EIDCrossBorderShare crossBorderShare = (EIDCrossBorderShare) listCrossBorderShare.get(0);
- request.setEIDCrossBorderShare(Boolean.parseBoolean(crossBorderShare
- .getEIDCrossBorderShare()));
+ request.setEIDCrossBorderShare(Boolean.parseBoolean(crossBorderShare.getEIDCrossBorderShare()));
}
-
- List listCrosSectorShare = extensions
- .getUnknownXMLObjects(EIDCrossSectorShare.DEF_ELEMENT_NAME);
+ List listCrosSectorShare = extensions.getUnknownXMLObjects(EIDCrossSectorShare.DEF_ELEMENT_NAME);
if (!listCrosSectorShare.isEmpty()) {
final EIDCrossSectorShare crossSectorShare = (EIDCrossSectorShare) listCrosSectorShare.get(0);
- request.setEIDCrossSectorShare(Boolean.parseBoolean(crossSectorShare
- .getEIDCrossSectorShare()));
+ request.setEIDCrossSectorShare(Boolean.parseBoolean(crossSectorShare.getEIDCrossSectorShare()));
}
- List listSectorShareExtension = extensions
- .getUnknownXMLObjects(EIDSectorShare.DEF_ELEMENT_NAME);
+ List listSectorShareExtension = extensions.getUnknownXMLObjects(EIDSectorShare.DEF_ELEMENT_NAME);
if (!listSectorShareExtension.isEmpty()) {
final EIDSectorShare sectorShare = (EIDSectorShare) listSectorShareExtension.get(0);
request.setEIDSectorShare(Boolean.parseBoolean(sectorShare.getEIDSectorShare()));
}
-
-
- List<XMLObject> authAttrs = extensions
- .getUnknownXMLObjects(AuthenticationAttributes.DEF_ELEMENT_NAME);
+ List<XMLObject> authAttrs = extensions.getUnknownXMLObjects(AuthenticationAttributes.DEF_ELEMENT_NAME);
if (authAttrs != null && !authAttrs.isEmpty()) {
- final AuthenticationAttributes authnAttr = (AuthenticationAttributes) authAttrs
- .get(0);
+ final AuthenticationAttributes authnAttr = (AuthenticationAttributes) authAttrs.get(0);
VIDPAuthenticationAttributes vidpAuthnAttr = null;
- if (authnAttr != null && !authAttrs.isEmpty()){
+ if (authnAttr != null && !authAttrs.isEmpty()) {
vidpAuthnAttr = authnAttr.getVIDPAuthenticationAttributes();
}
CitizenCountryCode citizenCountryCodeElement = null;
SPInformation spInformation = null;
- if (vidpAuthnAttr != null){
+ if (vidpAuthnAttr != null) {
citizenCountryCodeElement = vidpAuthnAttr.getCitizenCountryCode();
spInformation = vidpAuthnAttr.getSPInformation();
}
String citizenCountryCode = null;
- if(citizenCountryCodeElement!=null){
+ if (citizenCountryCodeElement != null) {
citizenCountryCode = citizenCountryCodeElement.getCitizenCountryCode();
}
- if(citizenCountryCode!= null && StringUtils.isNotBlank(citizenCountryCode)){
+ if (citizenCountryCode != null && StringUtils.isNotBlank(citizenCountryCode)) {
request.setCitizenCountryCode(citizenCountryCode);
- }
+ }
SPID spidElement = null;
- if (spInformation != null){
+ if (spInformation != null) {
spidElement = spInformation.getSPID();
}
String spid = null;
- if(spidElement!=null){
+ if (spidElement != null) {
spid = spidElement.getSPID();
}
@@ -2644,16 +2334,12 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
}
- if (extensions
- .getUnknownXMLObjects(RequestedAttributes.DEF_ELEMENT_NAME) == null) {
+ if (extensions.getUnknownXMLObjects(RequestedAttributes.DEF_ELEMENT_NAME) == null) {
LOG.error("Extensions not contains any requested attribute.");
- throw new STORKSAMLEngineException(
- "Extensions not contains any requested attribute.");
+ throw new STORKSAMLEngineException("Extensions not contains any requested attribute.");
}
- final RequestedAttributes requestedAttr = (RequestedAttributes) extensions
- .getUnknownXMLObjects(RequestedAttributes.DEF_ELEMENT_NAME)
- .get(0);
+ final RequestedAttributes requestedAttr = (RequestedAttributes) extensions.getUnknownXMLObjects(RequestedAttributes.DEF_ELEMENT_NAME).get(0);
final List<RequestedAttribute> reqAttrs = requestedAttr.getAttributes();
@@ -2668,8 +2354,7 @@ public final class STORKSAMLEngine extends SAMLEngine {
attributeName = attribute.getName();
// recover the last name from the string.
- personalAttribute.setName(attributeName.substring(attributeName
- .lastIndexOf('/') + 1));
+ personalAttribute.setName(attributeName.substring(attributeName.lastIndexOf('/') + 1));
final ArrayList<String> valores = new ArrayList<String>();
final List<XMLObject> values = attribute.getOrderedChildren();
@@ -2678,52 +2363,46 @@ public final class STORKSAMLEngine extends SAMLEngine {
// Process attributes simples. An AuthenticationRequest only
// must contains simple values.
-
+
final XMLObject xmlObject = values.get(nextSimpleValue);
-
- if(xmlObject instanceof XSStringImpl){
-
- final XSStringImpl xmlString = (XSStringImpl) values
- .get(nextSimpleValue);
+
+ if (xmlObject instanceof XSStringImpl) {
+
+ final XSStringImpl xmlString = (XSStringImpl) values.get(nextSimpleValue);
valores.add(xmlString.getValue());
-
- }else{
-
+
+ } else {
+
if (attributeName.equals("http://www.stork.gov.eu/1.0/signedDoc")) {
-
- final XSAnyImpl xmlString = (XSAnyImpl) values
- .get(nextSimpleValue);
-
+
+ final XSAnyImpl xmlString = (XSAnyImpl) values.get(nextSimpleValue);
+
TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = null;
try {
transformer = transFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
} catch (TransformerConfigurationException e) {
- LOG.error("Error transformer configuration exception", e);
+ LOG.error("Error transformer configuration exception", e);
}
- StringWriter buffer = new StringWriter();
+ StringWriter buffer = new StringWriter();
try {
- if (xmlString != null && xmlString.getUnknownXMLObjects() != null && xmlString.getUnknownXMLObjects().size() > 0 ){
- transformer.transform(new DOMSource(xmlString.getUnknownXMLObjects().get(0).getDOM()),
- new StreamResult(buffer));
- }
+ if (xmlString != null && xmlString.getUnknownXMLObjects() != null && xmlString.getUnknownXMLObjects().size() > 0) {
+ transformer.transform(new DOMSource(xmlString.getUnknownXMLObjects().get(0).getDOM()), new StreamResult(buffer));
+ }
} catch (TransformerException e) {
- LOG.error("Error transformer exception", e);
+ LOG.error("Error transformer exception", e);
}
String str = buffer.toString();
-
- valores.add(str);
-
- }else{
-
- final XSAnyImpl xmlString = (XSAnyImpl) values
- .get(nextSimpleValue);
+
+ valores.add(str);
+
+ } else {
+
+ final XSAnyImpl xmlString = (XSAnyImpl) values.get(nextSimpleValue);
valores.add(xmlString.getTextContent());
}
-
-
-
+
}
}
personalAttribute.setValue(valores);
@@ -2738,25 +2417,22 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Sets the name spaces.
*
- * @param tokenSaml the new name spaces
+ * @param tokenSaml
+ * the new name spaces
*/
private void setNameSpaces(final XMLObject tokenSaml) {
LOG.debug("Set namespaces.");
- final Namespace saml2 = new Namespace(SAMLConstants.SAML20_NS,
- SAMLConstants.SAML20_PREFIX);
+ final Namespace saml2 = new Namespace(SAMLConstants.SAML20_NS, SAMLConstants.SAML20_PREFIX);
tokenSaml.addNamespace(saml2);
- final Namespace digSig = new Namespace(
- "http://www.w3.org/2000/09/xmldsig#", "ds");
+ final Namespace digSig = new Namespace("http://www.w3.org/2000/09/xmldsig#", "ds");
tokenSaml.addNamespace(digSig);
- final Namespace storkp = new Namespace(SAMLCore.STORK10P_NS.getValue(),
- SAMLCore.STORK10P_PREFIX.getValue());
+ final Namespace storkp = new Namespace(SAMLCore.STORK10P_NS.getValue(), SAMLCore.STORK10P_PREFIX.getValue());
tokenSaml.addNamespace(storkp);
- final Namespace stork = new Namespace(SAMLCore.STORK10_NS.getValue(),
- SAMLCore.STORK10_PREFIX.getValue());
+ final Namespace stork = new Namespace(SAMLCore.STORK10_NS.getValue(), SAMLCore.STORK10_PREFIX.getValue());
tokenSaml.addNamespace(stork);
}
@@ -2764,248 +2440,209 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Validate parameters from authentication request.
*
- * @param request the request.
+ * @param request
+ * the request.
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private void validateParamAuthnReq(final STORKAuthnRequest request)
- throws STORKSAMLEngineException {
+ private void validateParamAuthnReq(final STORKAuthnRequest request) throws STORKSAMLEngineException {
LOG.info("Validate parameters from authentication request.");
// URL to which Authentication Response must be sent.
if (StringUtils.isBlank(request.getAssertionConsumerServiceURL())) {
- throw new STORKSAMLEngineException(
- "StorkSamlEngine: Assertion Consumer Service URL it's mandatory.");
+ throw new STORKSAMLEngineException("StorkSamlEngine: Assertion Consumer Service URL it's mandatory.");
}
// the name of the original service provider requesting the
// authentication.
if (StringUtils.isBlank(request.getProviderName())) {
- throw new STORKSAMLEngineException(
- "StorkSamlEngine: Service Provider it's mandatory.");
+ throw new STORKSAMLEngineException("StorkSamlEngine: Service Provider it's mandatory.");
}
// object that contain all attributes requesting.
- if (request.getPersonalAttributeList() == null
- || request.getPersonalAttributeList().isEmpty()) {
- throw new STORKSAMLEngineException(
- "attributeQueries is null or empty.");
+ if (request.getPersonalAttributeList() == null || request.getPersonalAttributeList().isEmpty()) {
+ throw new STORKSAMLEngineException("attributeQueries is null or empty.");
}
// Quality authentication assurance level.
- if ((request.getQaa() < QAAAttribute.MIN_VALUE)
- || (request.getQaa() > QAAAttribute.MAX_VALUE)) {
- throw new STORKSAMLEngineException("Qaal: " + request.getQaa()
- + ", is invalid.");
+ if ((request.getQaa() < QAAAttribute.MIN_VALUE) || (request.getQaa() > QAAAttribute.MAX_VALUE)) {
+ throw new STORKSAMLEngineException("Qaal: " + request.getQaa() + ", is invalid.");
}
}
-
+
/**
* Validate parameters from attribute query request.
*
- * @param request the request.
+ * @param request
+ * the request.
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private void validateParamAttrQueryReq(final STORKAttrQueryRequest request)
- throws STORKSAMLEngineException {
+ private void validateParamAttrQueryReq(final STORKAttrQueryRequest request) throws STORKSAMLEngineException {
LOG.info("Validate parameters from attribute query request.");
// URL to which AP Response must be sent.
if (StringUtils.isBlank(request.getAssertionConsumerServiceURL())) {
- throw new STORKSAMLEngineException(
- "StorkSamlEngine: Assertion Consumer Service URL it's mandatory.");
+ throw new STORKSAMLEngineException("StorkSamlEngine: Assertion Consumer Service URL it's mandatory.");
}
- // Destination of the request - not mandatory
- /*if (StringUtils.isBlank(request.getDestination())) {
- throw new STORKSAMLEngineException(
- "StorkSamlEngine: Destination is mandatory.");
- }*/
-
// SP country is empty
if (StringUtils.isBlank(request.getSpCountry())) {
- throw new STORKSAMLEngineException(
- "StorkSamlEngine: SP country is mandatory.");
+ throw new STORKSAMLEngineException("StorkSamlEngine: SP country is mandatory.");
}
// object that contain all attributes requesting.
- if (request.getPersonalAttributeList() == null
- || request.getPersonalAttributeList().isEmpty()) {
- throw new STORKSAMLEngineException(
- "attributeQueries is null or empty.");
+ if (request.getPersonalAttributeList() == null || request.getPersonalAttributeList().isEmpty()) {
+ throw new STORKSAMLEngineException("attributeQueries is null or empty.");
}
// Quality authentication assurance level.
- if ((request.getQaa() < QAAAttribute.MIN_VALUE)
- || (request.getQaa() > QAAAttribute.MAX_VALUE)) {
- throw new STORKSAMLEngineException("Qaal: " + request.getQaa()
- + ", is invalid.");
+ if ((request.getQaa() < QAAAttribute.MIN_VALUE) || (request.getQaa() > QAAAttribute.MAX_VALUE)) {
+ throw new STORKSAMLEngineException("Qaal: " + request.getQaa() + ", is invalid.");
}
}
-
+
/**
* Validate parameters from logout request.
*
- * @param request the request.
+ * @param request
+ * the request.
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private void validateParamLogoutReq(final STORKLogoutRequest request)
- throws STORKSAMLEngineException {
+ private void validateParamLogoutReq(final STORKLogoutRequest request) throws STORKSAMLEngineException {
LOG.info("Validate parameters from logout request.");
-
// URL to which AP Response must be sent.
- /*if (StringUtils.isBlank(request.get())) {
- throw new STORKSAMLEngineException(
- "StorkSamlEngine: Assertion Consumer Service URL it's mandatory.");
- }*/
-
// Destination of the request
if (StringUtils.isBlank(request.getDestination())) {
- throw new STORKSAMLEngineException(
- "StorkSamlEngine: Destination is mandatory.");
+ throw new STORKSAMLEngineException("StorkSamlEngine: Destination is mandatory.");
}
-
+
// SP Provided Id
if (StringUtils.isBlank(request.getSpProvidedId())) {
- throw new STORKSAMLEngineException(
- "StorkSamlEngine: SP provided Id is mandatory.");
+ throw new STORKSAMLEngineException("StorkSamlEngine: SP provided Id is mandatory.");
}
}
-
+
/**
* Validate parameters from logout response.
*
- * @param response the response.
+ * @param response
+ * the response.
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private void validateParamLogoutRes(final STORKLogoutRequest request,
- final STORKLogoutResponse response) throws STORKSAMLEngineException {
+ private void validateParamLogoutRes(final STORKLogoutRequest request, final STORKLogoutResponse response) throws STORKSAMLEngineException {
LOG.info("Validate parameters from logout request.");
// Issuer is mandatory
if (StringUtils.isBlank(request.getIssuer())) {
- throw new STORKSAMLEngineException(
- "Issuer must be not empty or null.");
+ throw new STORKSAMLEngineException("Issuer must be not empty or null.");
}
// Destination of the request
if (StringUtils.isBlank(response.getDestination())) {
- throw new STORKSAMLEngineException(
- "StorkSamlEngine: Destination is mandatory.");
+ throw new STORKSAMLEngineException("StorkSamlEngine: Destination is mandatory.");
}
-
+
// SP Provided Id
if (StringUtils.isBlank(request.getSpProvidedId())) {
- throw new STORKSAMLEngineException(
- "StorkSamlEngine: SP provided Id is mandatory.");
+ throw new STORKSAMLEngineException("StorkSamlEngine: SP provided Id is mandatory.");
}
-
+
if (StringUtils.isBlank(request.getSamlId())) {
throw new STORKSAMLEngineException("request ID is null or empty.");
}
}
-
/**
* Validate parameters from response.
*
- * @param request the request
- * @param responseAuthReq the response authentication request
+ * @param request
+ * the request
+ * @param responseAuthReq
+ * the response authentication request
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private void validateParamResponse(final STORKAuthnRequest request,
- final STORKAuthnResponse responseAuthReq)
- throws STORKSAMLEngineException {
+ private void validateParamResponse(final STORKAuthnRequest request, final STORKAuthnResponse responseAuthReq) throws STORKSAMLEngineException {
LOG.info("Validate parameters response.");
if (StringUtils.isBlank(request.getIssuer())) {
- throw new STORKSAMLEngineException(
- "Issuer must be not empty or null.");
+ throw new STORKSAMLEngineException("Issuer must be not empty or null.");
}
- if (responseAuthReq.getPersonalAttributeList() == null
- || responseAuthReq.getPersonalAttributeList().isEmpty()) {
- LOG.error("PersonalAttributeList is null or empty.");
- throw new STORKSAMLEngineException(
- "PersonalAttributeList is null or empty.");
+ if (responseAuthReq.getPersonalAttributeList() == null) {
+ LOG.error("PersonalAttributeList is null.");
+ throw new STORKSAMLEngineException("PersonalAttributeList is null.");
}
if (StringUtils.isBlank(request.getAssertionConsumerServiceURL())) {
- throw new STORKSAMLEngineException(
- "assertionConsumerServiceURL is null or empty.");
+ throw new STORKSAMLEngineException("assertionConsumerServiceURL is null or empty.");
}
if (StringUtils.isBlank(request.getSamlId())) {
throw new STORKSAMLEngineException("request ID is null or empty.");
}
}
-
+
/**
* Validate parameters from response.
*
- * @param request the request
- * @param responseAttrQueryReq the response authentication request
+ * @param request
+ * the request
+ * @param responseAttrQueryReq
+ * the response authentication request
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private void validateParamAttrQueryResponse(final STORKAttrQueryRequest request,
- final STORKAttrQueryResponse responseAttrQueryReq)
- throws STORKSAMLEngineException {
+ private void validateParamAttrQueryResponse(final STORKAttrQueryRequest request, final STORKAttrQueryResponse responseAttrQueryReq) throws STORKSAMLEngineException {
LOG.info("Validate attribute querey parameters response.");
if (StringUtils.isBlank(request.getIssuer())) {
- throw new STORKSAMLEngineException(
- "Issuer must be not empty or null.");
+ throw new STORKSAMLEngineException("Issuer must be not empty or null.");
}
- if (responseAttrQueryReq.getPersonalAttributeList() == null
- || responseAttrQueryReq.getPersonalAttributeList().isEmpty()) {
+ if (responseAttrQueryReq.getPersonalAttributeList() == null || responseAttrQueryReq.getPersonalAttributeList().isEmpty()) {
LOG.error("PersonalAttributeList is null or empty.");
- throw new STORKSAMLEngineException(
- "PersonalAttributeList is null or empty.");
+ throw new STORKSAMLEngineException("PersonalAttributeList is null or empty.");
}
- /*if (StringUtils.isBlank(request.getAssertionConsumerServiceURL())) {
- throw new STORKSAMLEngineException(
- "assertionConsumerServiceURL is null or empty.");
- }*/
-
if (StringUtils.isBlank(request.getSamlId())) {
throw new STORKSAMLEngineException("request ID is null or empty.");
}
}
-
+
/**
* Validate parameters from response.
*
- * @param request the request
- * @param responseAttrQueryReq the response authentication request
+ * @param request
+ * the request
+ * @param responseAttrQueryReq
+ * the response authentication request
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private void validateParamAttrQueryResponseFromAssertions(final STORKAttrQueryRequest request,
- final STORKAttrQueryResponse responseAttrQueryReq)
- throws STORKSAMLEngineException {
+ private void validateParamAttrQueryResponseFromAssertions(final STORKAttrQueryRequest request, final STORKAttrQueryResponse responseAttrQueryReq) throws STORKSAMLEngineException {
LOG.info("Validate attribute querey parameters response.");
if (StringUtils.isBlank(request.getIssuer())) {
- throw new STORKSAMLEngineException(
- "Issuer must be not empty or null.");
+ throw new STORKSAMLEngineException("Issuer must be not empty or null.");
}
- /*if (responseAttrQueryReq.getPersonalAttributeList() == null
- || responseAttrQueryReq.getPersonalAttributeList().isEmpty()) {
- LOG.error("PersonalAttributeList is null or empty.");
- throw new STORKSAMLEngineException(
- "PersonalAttributeList is null or empty.");
- }*/
+ /*
+ * if (responseAttrQueryReq.getPersonalAttributeList() == null || responseAttrQueryReq.getPersonalAttributeList().isEmpty()) { LOG.error("PersonalAttributeList is null or empty."); throw new
+ * STORKSAMLEngineException( "PersonalAttributeList is null or empty."); }
+ */
- /*if (StringUtils.isBlank(request.getAssertionConsumerServiceURL())) {
- throw new STORKSAMLEngineException(
- "assertionConsumerServiceURL is null or empty.");
- }*/
+ /*
+ * if (StringUtils.isBlank(request.getAssertionConsumerServiceURL())) { throw new STORKSAMLEngineException( "assertionConsumerServiceURL is null or empty."); }
+ */
if (StringUtils.isBlank(request.getSamlId())) {
throw new STORKSAMLEngineException("request ID is null or empty.");
@@ -3015,38 +2652,41 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Validate parameter from response fail.
*
- * @param request the request
- * @param response the response
+ * @param request
+ * the request
+ * @param response
+ * the response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private void validateParamResponseFail(final STORKAuthnRequest request,
- final STORKAuthnResponse response) throws STORKSAMLEngineException {
+ private void validateParamResponseFail(final STORKAuthnRequest request, final STORKAuthnResponse response) throws STORKSAMLEngineException {
LOG.info("Validate parameters response fail.");
if (StringUtils.isBlank(response.getStatusCode())) {
throw new STORKSAMLEngineException("Code error it's null or empty.");
}
if (StringUtils.isBlank(request.getAssertionConsumerServiceURL())) {
- throw new STORKSAMLEngineException(
- "assertionConsumerServiceURL is null or empty.");
+ throw new STORKSAMLEngineException("assertionConsumerServiceURL is null or empty.");
}
if (StringUtils.isBlank(request.getSamlId())) {
throw new STORKSAMLEngineException("request ID is null or empty.");
}
}
-
+
/**
* Validate parameter from response fail.
*
- * @param request the request
- * @param response the response
+ * @param request
+ * the request
+ * @param response
+ * the response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private void validateParamAttrQueryResponseFail(final STORKAttrQueryRequest request,
- final STORKAttrQueryResponse response) throws STORKSAMLEngineException {
+ private void validateParamAttrQueryResponseFail(final STORKAttrQueryRequest request, final STORKAttrQueryResponse response) throws STORKSAMLEngineException {
LOG.info("Validate parameters response fail.");
if (StringUtils.isBlank(response.getStatusCode())) {
throw new STORKSAMLEngineException("Code error it's null or empty.");
@@ -3056,22 +2696,23 @@ public final class STORKSAMLEngine extends SAMLEngine {
throw new STORKSAMLEngineException("request ID is null or empty.");
}
}
-
+
/**
* Validate parameter from response fail.
*
- * @param request the request
- * @param response the response
+ * @param request
+ * the request
+ * @param response
+ * the response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private void validateParamLogoutResFail(final STORKLogoutRequest request,
- final STORKLogoutResponse response) throws STORKSAMLEngineException {
+ private void validateParamLogoutResFail(final STORKLogoutRequest request, final STORKLogoutResponse response) throws STORKSAMLEngineException {
LOG.info("Validate parameters response fail.");
-
+
if (StringUtils.isBlank(request.getIssuer())) {
- throw new STORKSAMLEngineException(
- "Issuer must be not empty or null.");
+ throw new STORKSAMLEngineException("Issuer must be not empty or null.");
}
if (StringUtils.isBlank(response.getStatusCode())) {
@@ -3086,14 +2727,15 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Validate stork authentication request.
*
- * @param tokenSaml the token SAML
+ * @param tokenSaml
+ * the token SAML
*
* @return the sTORK authentication request
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKAuthnRequest validateSTORKAuthnRequest(final byte[] tokenSaml)
- throws STORKSAMLEngineException {
+ public STORKAuthnRequest validateSTORKAuthnRequest(final byte[] tokenSaml) throws STORKSAMLEngineException {
LOG.info("validateSTORKAuthnRequest");
final AuthnRequest samlRequest = (AuthnRequest) validateStorkSaml(tokenSaml);
@@ -3108,60 +2750,56 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
LOG.debug("Generate STORKAuthnRequest.");
- final STORKAuthnRequest authnRequest = processExtensions(samlRequest
- .getExtensions());
-
- authnRequest.setCountry(this.getCountry(samlRequest.getSignature()
- .getKeyInfo()));
-
- authnRequest.setAlias(this.getAlias(samlRequest.getSignature()
- .getKeyInfo(), super.getSigner().getTrustStore()));
-
+ final STORKAuthnRequest authnRequest = processExtensions(samlRequest.getExtensions());
+
+ authnRequest.setCountry(this.getCountry(samlRequest.getSignature().getKeyInfo()));
+
+ authnRequest.setAlias(this.getAlias(samlRequest.getSignature().getKeyInfo(), super.getSigner().getTrustStore()));
+
authnRequest.setSamlId(samlRequest.getID());
authnRequest.setDestination(samlRequest.getDestination());
- authnRequest.setAssertionConsumerServiceURL(samlRequest
- .getAssertionConsumerServiceURL());
+ authnRequest.setAssertionConsumerServiceURL(samlRequest.getAssertionConsumerServiceURL());
authnRequest.setProviderName(samlRequest.getProviderName());
authnRequest.setIssuer(samlRequest.getIssuer().getValue());
- //Delete unknown elements from requested ones
+ // Delete unknown elements from requested ones
final Iterator<PersonalAttribute> iterator = authnRequest.getPersonalAttributeList().iterator();
- IPersonalAttributeList cleanPerAttrList = (PersonalAttributeList) authnRequest.getPersonalAttributeList();
+ IPersonalAttributeList cleanPerAttrList = (PersonalAttributeList) authnRequest.getPersonalAttributeList();
while (iterator.hasNext()) {
final PersonalAttribute attribute = iterator.next();
// Verify if the attribute name exits.
- final String attributeName = super.getSamlCoreProperties()
- .getProperty(attribute.getName());
+ final String attributeName = super.getSamlCoreProperties().getProperty(attribute.getName());
if (StringUtils.isBlank(attributeName)) {
LOG.info("Attribute name: {} was not found. It will be removed from the request object", attribute.getName());
cleanPerAttrList.remove(attribute.getName());
}
- }
+ }
authnRequest.setPersonalAttributeList(cleanPerAttrList);
return authnRequest;
}
-
+
/**
* Validate stork attribute query request.
*
- * @param tokenSaml the token SAML
+ * @param tokenSaml
+ * the token SAML
*
* @return the STORK attribute query request
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKAttrQueryRequest validateSTORKAttrQueryRequest(final byte[] tokenSaml)
- throws STORKSAMLEngineException {
+ public STORKAttrQueryRequest validateSTORKAttrQueryRequest(final byte[] tokenSaml) throws STORKSAMLEngineException {
LOG.info("validateSTORKAttrQueryRequest");
- //final AttributeQuery samlRequest = (AttributeQuery) validateStorkSaml(tokenSaml);
+ // final AttributeQuery samlRequest = (AttributeQuery) validateStorkSaml(tokenSaml);
final CustomRequestAbstractType samlRequest = (CustomRequestAbstractType) validateStorkSaml(tokenSaml);
LOG.debug("Validate Extensions.");
@@ -3174,82 +2812,77 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
LOG.debug("Generate STORKAttrQueryRequest.");
- final STORKAttrQueryRequest attrRequest = processAttrExtensions(samlRequest
- .getExtensions());
-
- attrRequest.setCountry(this.getCountry(samlRequest.getSignature()
- .getKeyInfo()));
-
- attrRequest.setAlias(this.getAlias(samlRequest.getSignature()
- .getKeyInfo(), super.getSigner().getTrustStore()));
-
+ final STORKAttrQueryRequest attrRequest = processAttrExtensions(samlRequest.getExtensions());
+
+ attrRequest.setCountry(this.getCountry(samlRequest.getSignature().getKeyInfo()));
+
+ attrRequest.setAlias(this.getAlias(samlRequest.getSignature().getKeyInfo(), super.getSigner().getTrustStore()));
+
attrRequest.setSamlId(samlRequest.getID());
attrRequest.setDestination(samlRequest.getDestination());
- attrRequest.setAssertionConsumerServiceURL(samlRequest
- .getAssertionConsumerServiceURL());
+ attrRequest.setAssertionConsumerServiceURL(samlRequest.getAssertionConsumerServiceURL());
- /*authnRequest.setProviderName(samlRequest.getProviderName());*/
attrRequest.setIssuer(samlRequest.getIssuer().getValue());
- //Delete unknown elements from requested ones
+ // Delete unknown elements from requested ones
final Iterator<PersonalAttribute> iterator = attrRequest.getPersonalAttributeList().iterator();
- IPersonalAttributeList cleanPerAttrList = (PersonalAttributeList) attrRequest.getPersonalAttributeList();
+ IPersonalAttributeList cleanPerAttrList = (PersonalAttributeList) attrRequest.getPersonalAttributeList();
while (iterator.hasNext()) {
final PersonalAttribute attribute = iterator.next();
// Verify if the attribute name exits.
- final String attributeName = super.getSamlCoreProperties()
- .getProperty(attribute.getName());
+ final String attributeName = super.getSamlCoreProperties().getProperty(attribute.getName());
if (StringUtils.isBlank(attributeName)) {
LOG.info("Attribute name: {} was not found. It will be removed from the request object", attribute.getName());
cleanPerAttrList.remove(attribute.getName());
}
- }
+ }
attrRequest.setPersonalAttributeList(cleanPerAttrList);
return attrRequest;
}
-
+
/**
* Validate stork logout request.
*
- * @param tokenSaml the token SAML
+ * @param tokenSaml
+ * the token SAML
*
* @return the STORK logout request
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKLogoutRequest validateSTORKLogoutRequest(final byte[] tokenSaml)
- throws STORKSAMLEngineException {
+ public STORKLogoutRequest validateSTORKLogoutRequest(final byte[] tokenSaml) throws STORKSAMLEngineException {
LOG.info("validateSTORKLogoutRequest");
- final LogoutRequest samlRequest = (LogoutRequest)validateStorkSaml(tokenSaml);
+ final LogoutRequest samlRequest = (LogoutRequest) validateStorkSaml(tokenSaml);
- LOG.debug("Validate Extensions.");
- final Validator<Extensions> validatorExt = new ExtensionsSchemaValidator();
- try {
- validatorExt.validate(samlRequest.getExtensions());
- } catch (ValidationException e) {
- LOG.error("ValidationException: validate Extensions.", e);
- throw new STORKSAMLEngineException(e);
+ if (samlRequest.getExtensions() != null) {
+ LOG.debug("Validate Extensions.");
+ final Validator<Extensions> validatorExt = new ExtensionsSchemaValidator();
+ try {
+ validatorExt.validate(samlRequest.getExtensions());
+ } catch (ValidationException e) {
+ LOG.error("ValidationException: validate Extensions.", e);
+ throw new STORKSAMLEngineException(e);
+ }
}
LOG.debug("Generate STORKLogoutRequest.");
final STORKLogoutRequest logoutRequest = new STORKLogoutRequest();
- logoutRequest.setCountry(this.getCountry(samlRequest.getSignature()
- .getKeyInfo()));
-
- logoutRequest.setAlias(this.getAlias(samlRequest.getSignature()
- .getKeyInfo(), super.getSigner().getTrustStore()));
-
+ logoutRequest.setCountry(this.getCountry(samlRequest.getSignature().getKeyInfo()));
+
+ logoutRequest.setAlias(this.getAlias(samlRequest.getSignature().getKeyInfo(), super.getSigner().getTrustStore()));
+
logoutRequest.setSamlId(samlRequest.getID());
logoutRequest.setDestination(samlRequest.getDestination());
-
+
logoutRequest.setIssuer(samlRequest.getIssuer().getValue());
logoutRequest.setSpProvidedId(samlRequest.getNameID().getValue());
@@ -3259,18 +2892,56 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
/**
+ * Validate stork logout response.
+ *
+ * @param tokenSaml
+ * The SAML token
+ *
+ * @return the STORK logout response
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ public STORKLogoutResponse validateSTORKLogoutResponse(final byte[] tokenSaml) throws STORKSAMLEngineException {
+
+ LOG.info("validate STORK Logout Response");
+
+ final LogoutResponse samlRes = (LogoutResponse) validateStorkSaml(tokenSaml);
+
+ LOG.debug("Generate STORKLogoutResponse.");
+ final STORKLogoutResponse logoutRes = new STORKLogoutResponse();
+
+ try {
+ logoutRes.setTokenSaml(super.signAndMarshall(samlRes));
+ } catch (SAMLEngineException e) {
+ LOG.error("Sign and Marshall.", e);
+ throw new STORKSAMLEngineException(e);
+ }
+
+ logoutRes.setAlias(this.getAlias(samlRes.getSignature().getKeyInfo(), super.getSigner().getTrustStore()));
+ logoutRes.setSamlId(samlRes.getID());
+ logoutRes.setDestination(samlRes.getDestination());
+ logoutRes.setIssuer(samlRes.getIssuer().getValue());
+ logoutRes.setStatusCode(samlRes.getStatus().getStatusCode().getValue().toString());
+ logoutRes.setStatusMessage(samlRes.getStatus().getStatusMessage().getMessage().toString());
+ logoutRes.setInResponseTo(samlRes.getInResponseTo());
+ return logoutRes;
+ }
+
+ /**
* Validate stork authentication response.
*
- * @param tokenSaml the token SAML
- * @param userIP the user IP
+ * @param tokenSaml
+ * the token SAML
+ * @param userIP
+ * the user IP
*
* @return the Stork authentication response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKAuthnResponse validateSTORKAuthnResponse(
- final byte[] tokenSaml, final String userIP)
- throws STORKSAMLEngineException {
+ public STORKAuthnResponse validateSTORKAuthnResponse(final byte[] tokenSaml, final String userIP) throws STORKSAMLEngineException {
LOG.info("validateSTORKAuthnResponse");
final Response samlResponse = (Response) validateStorkSaml(tokenSaml);
@@ -3278,90 +2949,76 @@ public final class STORKSAMLEngine extends SAMLEngine {
LOG.debug("Create StorkAuthResponse.");
final STORKAuthnResponse authnResponse = new STORKAuthnResponse();
- authnResponse.setCountry(this.getCountry(samlResponse.getSignature()
- .getKeyInfo()));
+ authnResponse.setCountry(this.getCountry(samlResponse.getSignature().getKeyInfo()));
LOG.debug("Set ID.");
authnResponse.setSamlId(samlResponse.getID());
LOG.debug("Set InResponseTo.");
authnResponse.setInResponseTo(samlResponse.getInResponseTo());
LOG.debug("Set statusCode.");
- authnResponse.setStatusCode(samlResponse.getStatus().getStatusCode()
- .getValue());
+ authnResponse.setStatusCode(samlResponse.getStatus().getStatusCode().getValue());
// Subordinate code.
if (samlResponse.getStatus().getStatusCode().getStatusCode() != null) {
- authnResponse.setSubStatusCode(samlResponse.getStatus()
- .getStatusCode().getStatusCode().getValue());
+ authnResponse.setSubStatusCode(samlResponse.getStatus().getStatusCode().getStatusCode().getValue());
}
if (samlResponse.getStatus().getStatusMessage() != null) {
LOG.debug("Set statusMessage.");
- authnResponse.setMessage(samlResponse.getStatus()
- .getStatusMessage().getMessage());
+ authnResponse.setMessage(samlResponse.getStatus().getStatusMessage().getMessage());
}
LOG.debug("validateStorkResponse");
- final Assertion assertion = (Assertion) validateStorkResponse(
- samlResponse, userIP);
-
- if(assertion!=null){
+ final Assertion assertion = (Assertion) validateStorkResponse(samlResponse, userIP);
+
+ if (assertion != null) {
final DateTime serverDate = new DateTime();
if (assertion.getConditions().getNotOnOrAfter().isBefore(serverDate)) {
- LOG.error("Token date expired (getNotOnOrAfter = "
- + assertion.getConditions().getNotOnOrAfter()
- + ", server_date: " + serverDate + ")");
- throw new STORKSAMLEngineException(
- "Token date expired (getNotOnOrAfter = "
- + assertion.getConditions().getNotOnOrAfter()
- + " ), server_date: " + serverDate);
+ LOG.error("Token date expired (getNotOnOrAfter = " + assertion.getConditions().getNotOnOrAfter() + ", server_date: " + serverDate + ")");
+ throw new STORKSAMLEngineException("Token date expired (getNotOnOrAfter = " + assertion.getConditions().getNotOnOrAfter() + " ), server_date: " + serverDate);
}
LOG.debug("Set notOnOrAfter.");
- authnResponse.setNotOnOrAfter(assertion.getConditions()
- .getNotOnOrAfter());
+ authnResponse.setNotOnOrAfter(assertion.getConditions().getNotOnOrAfter());
LOG.debug("Set notBefore.");
authnResponse.setNotBefore(assertion.getConditions().getNotBefore());
authnResponse.setNotBefore(assertion.getConditions().getNotBefore());
- authnResponse.setAudienceRestriction(((AudienceRestriction) assertion
- .getConditions().getAudienceRestrictions().get(0))
- .getAudiences().get(0).getAudienceURI());
+ authnResponse.setAudienceRestriction(((AudienceRestriction) assertion.getConditions().getAudienceRestrictions().get(0)).getAudiences().get(0).getAudienceURI());
authnResponse.setAssertions(samlResponse.getAssertions());
}
-
+
// Case no error.
- if (assertion!=null && StatusCode.SUCCESS_URI.equalsIgnoreCase(authnResponse
- .getStatusCode())) {
+ if (assertion != null && StatusCode.SUCCESS_URI.equalsIgnoreCase(authnResponse.getStatusCode())) {
LOG.debug("Status Success. Set PersonalAttributeList.");
- authnResponse
- .setPersonalAttributeList(generatePersonalAttributeList(assertion));
+ authnResponse.setPersonalAttributeList(generatePersonalAttributeList(assertion));
authnResponse.setFail(false);
} else {
LOG.debug("Status Fail.");
authnResponse.setFail(true);
- }
+ }
LOG.debug("Return result.");
return authnResponse;
}
-
+
/**
* Validate stork authentication response.
*
- * @param tokenSaml the token SAML
- * @param userIP the user IP
+ * @param tokenSaml
+ * the token SAML
+ * @param userIP
+ * the user IP
*
* @return the Stork authentication response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKAuthnResponse validateSTORKAuthnResponseWithQuery(
- final byte[] tokenSaml, final String userIP)
- throws STORKSAMLEngineException {
+ public STORKAuthnResponse validateSTORKAuthnResponseWithQuery(final byte[] tokenSaml, final String userIP) throws STORKSAMLEngineException {
LOG.info("validateSTORKAuthnResponse");
final Response samlResponse = (Response) validateStorkSaml(tokenSaml);
@@ -3369,113 +3026,95 @@ public final class STORKSAMLEngine extends SAMLEngine {
LOG.debug("Create StorkAuthResponse.");
final STORKAuthnResponse authnResponse = new STORKAuthnResponse();
- authnResponse.setCountry(this.getCountry(samlResponse.getSignature()
- .getKeyInfo()));
+ authnResponse.setCountry(this.getCountry(samlResponse.getSignature().getKeyInfo()));
LOG.debug("Set ID.");
authnResponse.setSamlId(samlResponse.getID());
LOG.debug("Set InResponseTo.");
authnResponse.setInResponseTo(samlResponse.getInResponseTo());
LOG.debug("Set statusCode.");
- authnResponse.setStatusCode(samlResponse.getStatus().getStatusCode()
- .getValue());
+ authnResponse.setStatusCode(samlResponse.getStatus().getStatusCode().getValue());
// Subordinate code.
if (samlResponse.getStatus().getStatusCode().getStatusCode() != null) {
- authnResponse.setSubStatusCode(samlResponse.getStatus()
- .getStatusCode().getStatusCode().getValue());
+ authnResponse.setSubStatusCode(samlResponse.getStatus().getStatusCode().getStatusCode().getValue());
}
if (samlResponse.getStatus().getStatusMessage() != null) {
LOG.debug("Set statusMessage.");
- authnResponse.setMessage(samlResponse.getStatus()
- .getStatusMessage().getMessage());
+ authnResponse.setMessage(samlResponse.getStatus().getStatusMessage().getMessage());
}
LOG.debug("validateStorkResponse");
- final Assertion assertion = (Assertion) validateStorkResponse(
- samlResponse, userIP);
-
- if(assertion!=null){
+ final Assertion assertion = (Assertion) validateStorkResponse(samlResponse, userIP);
+
+ if (assertion != null) {
final DateTime serverDate = new DateTime();
if (assertion.getConditions().getNotOnOrAfter().isBefore(serverDate)) {
- LOG.error("Token date expired (getNotOnOrAfter = "
- + assertion.getConditions().getNotOnOrAfter()
- + ", server_date: " + serverDate + ")");
- throw new STORKSAMLEngineException(
- "Token date expired (getNotOnOrAfter = "
- + assertion.getConditions().getNotOnOrAfter()
- + " ), server_date: " + serverDate);
+ LOG.error("Token date expired (getNotOnOrAfter = " + assertion.getConditions().getNotOnOrAfter() + ", server_date: " + serverDate + ")");
+ throw new STORKSAMLEngineException("Token date expired (getNotOnOrAfter = " + assertion.getConditions().getNotOnOrAfter() + " ), server_date: " + serverDate);
}
LOG.debug("Set notOnOrAfter.");
- authnResponse.setNotOnOrAfter(assertion.getConditions()
- .getNotOnOrAfter());
+ authnResponse.setNotOnOrAfter(assertion.getConditions().getNotOnOrAfter());
LOG.debug("Set notBefore.");
authnResponse.setNotBefore(assertion.getConditions().getNotBefore());
authnResponse.setNotBefore(assertion.getConditions().getNotBefore());
- authnResponse.setAudienceRestriction(((AudienceRestriction) assertion
- .getConditions().getAudienceRestrictions().get(0))
- .getAudiences().get(0).getAudienceURI());
+ authnResponse.setAudienceRestriction(((AudienceRestriction) assertion.getConditions().getAudienceRestrictions().get(0)).getAudiences().get(0).getAudienceURI());
}
-
+
// Case no error.
- if (assertion!=null && StatusCode.SUCCESS_URI.equalsIgnoreCase(authnResponse
- .getStatusCode())) {
+ if (assertion != null && StatusCode.SUCCESS_URI.equalsIgnoreCase(authnResponse.getStatusCode())) {
LOG.debug("Status Success. Set PersonalAttributeList.");
- authnResponse
- .setPersonalAttributeList(generatePersonalAttributeList(assertion));
+ authnResponse.setPersonalAttributeList(generatePersonalAttributeList(assertion));
authnResponse.setFail(false);
} else {
LOG.debug("Status Fail.");
authnResponse.setFail(true);
}
-
+
authnResponse.setAssertions(samlResponse.getAssertions());
- if (samlResponse.getAssertions().size() > 1)
- {
+ if (samlResponse.getAssertions().size() > 1) {
PersonalAttributeList total = new PersonalAttributeList();
- List<IPersonalAttributeList> attrList = new ArrayList();
- for (int i = 0; i < samlResponse.getAssertions().size(); i++)
- {
- Assertion tempAssertion = (Assertion)samlResponse.getAssertions().get(i);
+ List<IPersonalAttributeList> attrList = new ArrayList<IPersonalAttributeList>();
+ for (int i = 0; i < samlResponse.getAssertions().size(); i++) {
+ Assertion tempAssertion = (Assertion) samlResponse.getAssertions().get(i);
IPersonalAttributeList temp = generatePersonalAttributeList(tempAssertion);
- if (temp != null)
- {
+ if (temp != null) {
attrList.add(temp);
- for (PersonalAttribute attribute : temp) {
- PersonalAttribute attr = (PersonalAttribute)attribute.clone();
- attr.setName(attr.getName()+tempAssertion.getID());
- total.add(attr);
+ for (PersonalAttribute attribute : (IPersonalAttributeList) temp.clone()) {
+ attribute.setName(attribute.getName() + tempAssertion.getID());
+ total.add(attribute);
}
}
}
authnResponse.setPersonalAttributeLists(attrList);
authnResponse.setTotalPersonalAttributeList(total);
}
-
+
LOG.debug("Return result.");
return authnResponse;
}
-
+
/**
* Validate stork attribute query response.
*
- * @param tokenSaml the token SAML
- * @param userIP the user IP
+ * @param tokenSaml
+ * the token SAML
+ * @param userIP
+ * the user IP
*
* @return the Stork attribute query response
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- public STORKAttrQueryResponse validateSTORKAttrQueryResponse(
- final byte[] tokenSaml, final String userIP)
- throws STORKSAMLEngineException {
+ public STORKAttrQueryResponse validateSTORKAttrQueryResponse(final byte[] tokenSaml, final String userIP) throws STORKSAMLEngineException {
LOG.info("validateSTORKAttrQueryResponse");
final Response samlResponse = (Response) validateStorkSaml(tokenSaml);
@@ -3483,90 +3122,71 @@ public final class STORKSAMLEngine extends SAMLEngine {
LOG.debug("Create StorkAttrQueryResponse.");
final STORKAttrQueryResponse attrQueryResponse = new STORKAttrQueryResponse();
- attrQueryResponse.setCountry(this.getCountry(samlResponse.getSignature()
- .getKeyInfo()));
+ attrQueryResponse.setCountry(this.getCountry(samlResponse.getSignature().getKeyInfo()));
LOG.debug("Set ID.");
attrQueryResponse.setSamlId(samlResponse.getID());
LOG.debug("Set InResponseTo.");
attrQueryResponse.setInResponseTo(samlResponse.getInResponseTo());
LOG.debug("Set statusCode.");
- attrQueryResponse.setStatusCode(samlResponse.getStatus().getStatusCode()
- .getValue());
-
+ attrQueryResponse.setStatusCode(samlResponse.getStatus().getStatusCode().getValue());
// Subordinate code.
if (samlResponse.getStatus().getStatusCode().getStatusCode() != null) {
- attrQueryResponse.setSubStatusCode(samlResponse.getStatus()
- .getStatusCode().getStatusCode().getValue());
+ attrQueryResponse.setSubStatusCode(samlResponse.getStatus().getStatusCode().getStatusCode().getValue());
}
if (samlResponse.getStatus().getStatusMessage() != null) {
LOG.debug("Set statusMessage.");
- attrQueryResponse.setMessage(samlResponse.getStatus()
- .getStatusMessage().getMessage());
+ attrQueryResponse.setMessage(samlResponse.getStatus().getStatusMessage().getMessage());
}
LOG.debug("validateStorkResponse");
- final Assertion assertion = (Assertion) validateStorkResponse(
- samlResponse, userIP);
-
- if(assertion!=null){
+ final Assertion assertion = (Assertion) validateStorkResponse(samlResponse, userIP);
+
+ if (assertion != null) {
final DateTime serverDate = new DateTime();
attrQueryResponse.setAssertion(assertion);
if (assertion.getConditions().getNotOnOrAfter().isBefore(serverDate)) {
- LOG.error("Token date expired (getNotOnOrAfter = "
- + assertion.getConditions().getNotOnOrAfter()
- + ", server_date: " + serverDate + ")");
- throw new STORKSAMLEngineException(
- "Token date expired (getNotOnOrAfter = "
- + assertion.getConditions().getNotOnOrAfter()
- + " ), server_date: " + serverDate);
+ LOG.error("Token date expired (getNotOnOrAfter = " + assertion.getConditions().getNotOnOrAfter() + ", server_date: " + serverDate + ")");
+ throw new STORKSAMLEngineException("Token date expired (getNotOnOrAfter = " + assertion.getConditions().getNotOnOrAfter() + " ), server_date: " + serverDate);
}
LOG.debug("Set notOnOrAfter.");
- attrQueryResponse.setNotOnOrAfter(assertion.getConditions()
- .getNotOnOrAfter());
+ attrQueryResponse.setNotOnOrAfter(assertion.getConditions().getNotOnOrAfter());
LOG.debug("Set notBefore.");
attrQueryResponse.setNotBefore(assertion.getConditions().getNotBefore());
attrQueryResponse.setNotBefore(assertion.getConditions().getNotBefore());
- attrQueryResponse.setAudienceRestriction(((AudienceRestriction) assertion
- .getConditions().getAudienceRestrictions().get(0))
- .getAudiences().get(0).getAudienceURI());
+ attrQueryResponse.setAudienceRestriction(((AudienceRestriction) assertion.getConditions().getAudienceRestrictions().get(0)).getAudiences().get(0).getAudienceURI());
}
-
+
// Case no error.
- if (assertion!=null && StatusCode.SUCCESS_URI.equalsIgnoreCase(attrQueryResponse
- .getStatusCode())) {
+ if (assertion != null && StatusCode.SUCCESS_URI.equalsIgnoreCase(attrQueryResponse.getStatusCode())) {
LOG.debug("Status Success. Set PersonalAttributeList.");
- attrQueryResponse
- .setPersonalAttributeList(generatePersonalAttributeList(assertion));
+ attrQueryResponse.setPersonalAttributeList(generatePersonalAttributeList(assertion));
attrQueryResponse.setFail(false);
} else {
LOG.debug("Status Fail.");
attrQueryResponse.setFail(true);
}
-
+
attrQueryResponse.setAssertions(samlResponse.getAssertions());
- if (samlResponse.getAssertions().size() > 1)
- {
+ if (samlResponse.getAssertions().size() > 1) {
PersonalAttributeList total = new PersonalAttributeList();
List<IPersonalAttributeList> attrList = new ArrayList();
- for (int i = 0; i < samlResponse.getAssertions().size(); i++)
- {
- Assertion tempAssertion = (Assertion)samlResponse.getAssertions().get(i);
+ for (int i = 0; i < samlResponse.getAssertions().size(); i++) {
+ Assertion tempAssertion = (Assertion) samlResponse.getAssertions().get(i);
IPersonalAttributeList temp = generatePersonalAttributeList(tempAssertion);
- if (temp != null)
- {
+ if (temp != null) {
attrList.add(temp);
for (PersonalAttribute attribute : temp) {
- PersonalAttribute attr = (PersonalAttribute)attribute.clone();
- attr.setName(attr.getName()+tempAssertion.getID());
+ PersonalAttribute attr = (PersonalAttribute) attribute.clone();
+ attr.setName(attr.getName() + tempAssertion.getID());
total.add(attr);
}
}
@@ -3574,7 +3194,7 @@ public final class STORKSAMLEngine extends SAMLEngine {
attrQueryResponse.setPersonalAttributeLists(attrList);
attrQueryResponse.setTotalPersonalAttributeList(total);
}
-
+
LOG.debug("Return result.");
return attrQueryResponse;
@@ -3583,61 +3203,50 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Validate stork response.
*
- * @param samlResponse the SAML response
- * @param userIP the user IP
+ * @param samlResponse
+ * the SAML response
+ * @param userIP
+ * the user IP
*
* @return the assertion
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private Assertion validateStorkResponse(final Response samlResponse,
- final String userIP) throws STORKSAMLEngineException {
+ private Assertion validateStorkResponse(final Response samlResponse, final String userIP) throws STORKSAMLEngineException {
// Exist only one Assertion
- if (samlResponse.getAssertions() == null
- || samlResponse.getAssertions().isEmpty()) {
- LOG.info("Assertion is null or empty."); //in replace of throw new STORKSAMLEngineException("Assertion is null or empty.")
+ if (samlResponse.getAssertions() == null || samlResponse.getAssertions().isEmpty()) {
+ LOG.info("Assertion is null or empty."); // in replace of throw new STORKSAMLEngineException("Assertion is null or empty.")
return null;
}
- final Assertion assertion = (Assertion) samlResponse.getAssertions()
- .get(0);
+ final Assertion assertion = (Assertion) samlResponse.getAssertions().get(0);
LOG.debug("Verified method Bearer");
- for (final Iterator<SubjectConfirmation> iter = assertion.getSubject()
- .getSubjectConfirmations().iterator(); iter.hasNext();) {
+ for (final Iterator<SubjectConfirmation> iter = assertion.getSubject().getSubjectConfirmations().iterator(); iter.hasNext();) {
final SubjectConfirmation element = iter.next();
- final boolean isBearer = SubjectConfirmation.METHOD_BEARER
- .equals(element.getMethod());
+ final boolean isBearer = SubjectConfirmation.METHOD_BEARER.equals(element.getMethod());
- final boolean ipValidate = super.getSamlCoreProperties()
- .isIpValidation();
+ final boolean ipValidate = super.getSamlCoreProperties().isIpValidation();
if (ipValidate) {
if (isBearer) {
if (StringUtils.isBlank(userIP)) {
LOG.error("browser_ip is null or empty.");
- throw new STORKSAMLEngineException(
- "browser_ip is null or empty.");
- } else if (StringUtils.isBlank(element
- .getSubjectConfirmationData().getAddress())) {
+ throw new STORKSAMLEngineException("browser_ip is null or empty.");
+ } else if (StringUtils.isBlank(element.getSubjectConfirmationData().getAddress())) {
LOG.error("token_ip attribute is null or empty.");
- throw new STORKSAMLEngineException(
- "token_ip attribute is null or empty.");
+ throw new STORKSAMLEngineException("token_ip attribute is null or empty.");
}
}
- final boolean ipEqual = element.getSubjectConfirmationData()
- .getAddress().equals(userIP);
+ final boolean ipEqual = element.getSubjectConfirmationData().getAddress().equals(userIP);
// Validation ipUser
if (!ipEqual && ipValidate) {
LOG.error("SubjectConfirmation BEARER: ");
- throw new STORKSAMLEngineException(
- "IPs doesn't match : token_ip ("
- + element.getSubjectConfirmationData()
- .getAddress() + ") browser_ip ("
- + userIP + ")");
+ throw new STORKSAMLEngineException("IPs doesn't match : token_ip (" + element.getSubjectConfirmationData().getAddress() + ") browser_ip (" + userIP + ")");
}
}
@@ -3648,27 +3257,27 @@ public final class STORKSAMLEngine extends SAMLEngine {
/**
* Validate stork SAML.
*
- * @param tokenSaml the token SAML
+ * @param tokenSaml
+ * the token SAML
*
* @return the signable SAML object
*
- * @throws STORKSAMLEngineException the STORKSAML engine exception
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
*/
- private SignableSAMLObject validateStorkSaml(final byte[] tokenSaml)
- throws STORKSAMLEngineException {
+ private SignableSAMLObject validateStorkSaml(final byte[] tokenSaml) throws STORKSAMLEngineException {
LOG.info("Validate StorkSaml message.");
if (tokenSaml == null) {
LOG.error("Saml authentication request is null.");
- throw new STORKSAMLEngineException(
- "Saml authentication request is null.");
+ throw new STORKSAMLEngineException("Saml authentication request is null.");
}
LOG.debug("Generate AuthnRequest from request.");
SignableSAMLObject samlObject;
- try {
+ try {
samlObject = (SignableSAMLObject) super.unmarshall(tokenSaml);
} catch (SAMLEngineException e) {
LOG.error("SAMLEngineException unmarshall.", e);
@@ -3677,10 +3286,8 @@ public final class STORKSAMLEngine extends SAMLEngine {
boolean validateSign = true;
- if (StringUtils.isNotBlank(super.getSamlCoreProperties().getProperty(
- "validateSignature"))) {
- validateSign = Boolean.valueOf(super.getSamlCoreProperties()
- .getProperty("validateSignature"));
+ if (StringUtils.isNotBlank(super.getSamlCoreProperties().getProperty("validateSignature"))) {
+ validateSign = Boolean.valueOf(super.getSamlCoreProperties().getProperty("validateSignature"));
}
if (validateSign) {
@@ -3694,22 +3301,15 @@ public final class STORKSAMLEngine extends SAMLEngine {
}
LOG.debug("Validate Schema.");
- final ValidatorSuite validatorSuite = Configuration
- .getValidatorSuite("saml2-core-schema-validator");
- try {
- if (samlObject.getElementQName().toString().endsWith(CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME))
- {
- CustomAttributeQueryValidator val =
- new CustomAttributeQueryValidator();
- val.validate((CustomAttributeQuery)samlObject);
- }
- else if (samlObject instanceof Response
- && ((Response) samlObject).getAssertions().size() > 1) {
- MultipleAssertionResponseValidator val =
- new MultipleAssertionResponseValidator();
- val.validate((Response)samlObject);
- }
- else
+ final ValidatorSuite validatorSuite = Configuration.getValidatorSuite("saml2-core-schema-validator");
+ try {
+ if (samlObject.getElementQName().toString().endsWith(CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME)) {
+ CustomAttributeQueryValidator val = new CustomAttributeQueryValidator();
+ val.validate((CustomAttributeQuery) samlObject);
+ } else if (samlObject instanceof Response && ((Response) samlObject).getAssertions().size() > 1) {
+ MultipleAssertionResponseValidator val = new MultipleAssertionResponseValidator();
+ val.validate((Response) samlObject);
+ } else
validatorSuite.validate(samlObject);
} catch (ValidationException e) {
LOG.error("ValidationException.", e);
@@ -3718,27 +3318,22 @@ public final class STORKSAMLEngine extends SAMLEngine {
return samlObject;
}
-
- private boolean isComplex(XMLObject xmlObject)
- {
+
+ private boolean isComplex(XMLObject xmlObject) {
boolean isComplex = false;
-
+
final XSAnyImpl complexValue = (XSAnyImpl) xmlObject;
- for (int nextComplexValue = 0; nextComplexValue < complexValue
- .getUnknownXMLObjects().size(); nextComplexValue++) {
+ for (int nextComplexValue = 0; nextComplexValue < complexValue.getUnknownXMLObjects().size(); nextComplexValue++) {
- final XSAnyImpl simple = (XSAnyImpl) complexValue
- .getUnknownXMLObjects().get(
- nextComplexValue);
-
- if (simple.getElementQName().getLocalPart() != null)
- {
+ final XSAnyImpl simple = (XSAnyImpl) complexValue.getUnknownXMLObjects().get(nextComplexValue);
+
+ if (simple.getElementQName().getLocalPart() != null) {
isComplex = true;
break;
}
}
-
+
return isComplex;
- }
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/X509PrincipalUtil.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/X509PrincipalUtil.java
index 724a522d1..73d7e4f62 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/X509PrincipalUtil.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/X509PrincipalUtil.java
@@ -11,59 +11,53 @@ import org.slf4j.LoggerFactory;
* @author vanegdi
* @version $Revision: 1.00 $, $Date: 2013-05-24 20:53:51 $
*/
-public final class X509PrincipalUtil{
+public final class X509PrincipalUtil {
- private static final DERObjectIdentifier[] DER_OBJECT_IDENTIFIERS_ARRAY= {
- X509Principal.CN,
- X509Principal.OU,
- X509Principal.O,
- X509Principal.L,
- X509Principal.ST,
- X509Principal.C,
- X509Principal.E
- };
-
- private static final Logger LOG = LoggerFactory.getLogger(eu.stork.peps.auth.engine.X509PrincipalUtil.class);
+ private static final DERObjectIdentifier[] DER_OBJECT_IDENTIFIERS_ARRAY = { X509Principal.CN, X509Principal.OU, X509Principal.O, X509Principal.L, X509Principal.ST, X509Principal.C,
+ X509Principal.E };
- /**
- * Compares 2 X509Principals to detect if they equals
- * @param principal1
- * @param principal2
- * @return true if arguments are not null and equals
- */
- public static boolean equals(X509Principal principal1, X509Principal principal2) {
- boolean continueProcess = true;
- if (principal1 == null || principal2 == null){
- return false;
- }
-
- int cpt = 0;
- while(continueProcess && cpt < DER_OBJECT_IDENTIFIERS_ARRAY.length){
- continueProcess = continueProcess && x509ValuesByIdentifierEquals(principal1, principal2, DER_OBJECT_IDENTIFIERS_ARRAY[cpt]);
- cpt++;
- }
- return continueProcess;
- }
-
- public static boolean equals2(X509Principal principal1, X509Principal principal2) {
-
- if (principal1 == null || principal2 == null){
- return false;
- }
-
- if (principal1.getName().equals(principal2.getName()))
- return true;
- else
- return false;
-
- }
+ private static final Logger LOG = LoggerFactory.getLogger(eu.stork.peps.auth.engine.X509PrincipalUtil.class);
- private static boolean x509ValuesByIdentifierEquals(X509Principal principal1, X509Principal principal2, DERObjectIdentifier identifier){
- return principal1.getValues(identifier).equals(principal2.getValues(identifier));
- }
+ /**
+ * Compares 2 X509Principals to detect if they equals
+ *
+ * @param principal1
+ * @param principal2
+ * @return true if arguments are not null and equals
+ */
+ public static boolean X509equals(X509Principal principal1, X509Principal principal2) {
+ boolean continueProcess = true;
+ if (principal1 == null || principal2 == null) {
+ return false;
+ }
- private X509PrincipalUtil(){
- // default contructor
- LOG.error("Fake X509PrincipalUtil : never be called");
- }
+ int cpt = 0;
+ while (continueProcess && cpt < DER_OBJECT_IDENTIFIERS_ARRAY.length) {
+ continueProcess = continueProcess && x509ValuesByIdentifierEquals(principal1, principal2, DER_OBJECT_IDENTIFIERS_ARRAY[cpt]);
+ cpt++;
+ }
+ return continueProcess;
+ }
+
+ public static boolean equals2(X509Principal principal1, X509Principal principal2) {
+
+ if (principal1 == null || principal2 == null) {
+ return false;
+ }
+
+ if (principal1.getName().equals(principal2.getName()))
+ return true;
+ else
+ return false;
+
+ }
+
+ private static boolean x509ValuesByIdentifierEquals(X509Principal principal1, X509Principal principal2, DERObjectIdentifier identifier) {
+ return principal1.getValues(identifier).equals(principal2.getValues(identifier));
+ }
+
+ private X509PrincipalUtil() {
+ // default contructor
+ LOG.error("Fake X509PrincipalUtil : never be called");
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/AuthenticationAttributes.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/AuthenticationAttributes.java
index a9efe6362..3821f3c06 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/AuthenticationAttributes.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/AuthenticationAttributes.java
@@ -21,37 +21,35 @@ import org.opensaml.common.SAMLObject;
/**
* The Interface AuthenticationAttributes.
+ *
* @author fjquevedo
*/
public interface AuthenticationAttributes extends SAMLObject {
- /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
- String DEF_LOCAL_NAME = "AuthenticationAttributes";
-
- /** Default element name. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
+ /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
+ String DEF_LOCAL_NAME = "AuthenticationAttributes";
- /** Local name of the XSI type. */
- String TYPE_LOCAL_NAME = "AuthenticationAttributesType";
+ /** Default element name. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
- /** QName of the XSI type. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
+ /** Local name of the XSI type. */
+ String TYPE_LOCAL_NAME = "AuthenticationAttributesType";
+ /** QName of the XSI type. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
- /**
- * Gets the citizen country code.
- *
- * @return the citizen country code
- */
- VIDPAuthenticationAttributes getVIDPAuthenticationAttributes();
-
+ /**
+ * Gets the citizen country code.
+ *
+ * @return the citizen country code
+ */
+ VIDPAuthenticationAttributes getVIDPAuthenticationAttributes();
- /**
- * Sets the vIDP authentication attributes.
- *
- * @param newVIDPAuthenticationAttr the new vIDP authentication attributes
- */
- void setVIDPAuthenticationAttributes(VIDPAuthenticationAttributes newVIDPAuthenticationAttr);
+ /**
+ * Sets the vIDP authentication attributes.
+ *
+ * @param newVIDPAuthenticationAttr
+ * the new vIDP authentication attributes
+ */
+ void setVIDPAuthenticationAttributes(VIDPAuthenticationAttributes newVIDPAuthenticationAttr);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CitizenCountryCode.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CitizenCountryCode.java
index 4af7524ea..95994695d 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CitizenCountryCode.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CitizenCountryCode.java
@@ -21,36 +21,35 @@ import org.opensaml.common.SAMLObject;
/**
* The Interface EIDCrossBorderShare.
+ *
* @author fjquevedo
*/
public interface CitizenCountryCode extends SAMLObject {
- /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
- String DEF_LOCAL_NAME = "CitizenCountryCode";
-
- /** The Constant DEFAULT_ELEMENT_NAME. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
+ /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
+ String DEF_LOCAL_NAME = "CitizenCountryCode";
- /** The Constant TYPE_LOCAL_NAME. */
- String TYPE_LOCAL_NAME = "CitizenCountryCodeType";
+ /** The Constant DEFAULT_ELEMENT_NAME. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
- /** The Constant TYPE_NAME. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
+ /** The Constant TYPE_LOCAL_NAME. */
+ String TYPE_LOCAL_NAME = "CitizenCountryCodeType";
- /**
- * Gets the SP country.
- *
- * @return the sP country
- */
- String getCitizenCountryCode();
+ /** The Constant TYPE_NAME. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+ /**
+ * Gets the SP country.
+ *
+ * @return the sP country
+ */
+ String getCitizenCountryCode();
- /**
- * Sets the citizen country code.
- *
- * @param citizenCountryCode the new citizen country code
- */
- void setCitizenCountryCode(String citizenCountryCode);
+ /**
+ * Sets the citizen country code.
+ *
+ * @param citizenCountryCode
+ * the new citizen country code
+ */
+ void setCitizenCountryCode(String citizenCountryCode);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CustomAttributeQuery.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CustomAttributeQuery.java
index b558fc19d..d603c2293 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CustomAttributeQuery.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CustomAttributeQuery.java
@@ -10,42 +10,40 @@ import org.opensaml.saml2.core.SubjectQuery;
public interface CustomAttributeQuery extends CustomRequestAbstractType {
/** Element local name. */
- public static final String DEFAULT_ELEMENT_LOCAL_NAME = "AttributeQuery";
-
- /** Default element name. */
- public static final QName DEFAULT_ELEMENT_NAME = new QName(SAMLConstants.SAML20P_NS, DEFAULT_ELEMENT_LOCAL_NAME,
- SAMLConstants.SAML20P_PREFIX);
-
- /** Local name of the XSI type. */
- public static final String TYPE_LOCAL_NAME = "CustomAttributeQueryType";
-
- /** QName of the XSI type. */
- public static final QName TYPE_NAME = new QName(SAMLConstants.SAML20P_NS, TYPE_LOCAL_NAME,
- SAMLConstants.SAML20P_PREFIX);
-
- /** AssertionConsumerServiceURL attribute name. */
- public static final String ASSERTION_CONSUMER_SERVICE_URL_ATTRIB_NAME
- = "AssertionConsumerServiceURL";
-
- /**
- * Gets the Attributes of this query.
- *
- * @return the list of Attributes of this query
- */
- public List<Attribute> getAttributes();
-
- /**
- * Gets the Subject of this request.
- *
- * @return the Subject of this request
- */
- public Subject getSubject();
-
- /**
- * Sets the Subject of this request.
- *
- * @param newSubject the Subject of this request
- */
- public void setSubject(Subject newSubject);
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "AttributeQuery";
+
+ /** Default element name. */
+ public static final QName DEFAULT_ELEMENT_NAME = new QName(SAMLConstants.SAML20P_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAMLConstants.SAML20P_PREFIX);
+
+ /** Local name of the XSI type. */
+ public static final String TYPE_LOCAL_NAME = "CustomAttributeQueryType";
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAMLConstants.SAML20P_NS, TYPE_LOCAL_NAME, SAMLConstants.SAML20P_PREFIX);
+
+ /** AssertionConsumerServiceURL attribute name. */
+ public static final String ASSERTION_CONSUMER_SERVICE_URL_ATTRIB_NAME = "AssertionConsumerServiceURL";
+
+ /**
+ * Gets the Attributes of this query.
+ *
+ * @return the list of Attributes of this query
+ */
+ public List<Attribute> getAttributes();
+
+ /**
+ * Gets the Subject of this request.
+ *
+ * @return the Subject of this request
+ */
+ public Subject getSubject();
+
+ /**
+ * Sets the Subject of this request.
+ *
+ * @param newSubject
+ * the Subject of this request
+ */
+ public void setSubject(Subject newSubject);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CustomRequestAbstractType.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CustomRequestAbstractType.java
index 77dd8c4a5..2dd36a4d9 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CustomRequestAbstractType.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/CustomRequestAbstractType.java
@@ -10,167 +10,172 @@ import org.opensaml.saml2.common.Extensions;
import org.opensaml.saml2.core.Issuer;
public interface CustomRequestAbstractType extends SignableSAMLObject {
-
+
/** Local name of the XSI type. */
- public static final String TYPE_LOCAL_NAME = "RequestAbstractType";
-
- /** QName of the XSI type. */
- public static final QName TYPE_NAME = new QName(SAMLConstants.SAML20P_NS, TYPE_LOCAL_NAME,
- SAMLConstants.SAML20P_PREFIX);
-
- /** ID attribute name. */
- public static final String ID_ATTRIB_NAME = "ID";
-
- /** Version attribute name. */
- public static final String VERSION_ATTRIB_NAME = "Version";
-
- /** IssueInstant attribute name. */
- public static final String ISSUE_INSTANT_ATTRIB_NAME = "IssueInstant";
-
- /** Destination attribute name. */
- public static final String DESTINATION_ATTRIB_NAME = "Destination";
-
- /** Destination attribute name. */
- public static final String ASSERTION_CONSUMER_SERVICE_URL_ATTRIB_NAME = "AssertionConsumerServiceURL";
-
- /** Consent attribute name. */
- public static final String CONSENT_ATTRIB_NAME = "Consent";
-
- /** Unspecified consent URI. */
- public static final String UNSPECIFIED_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:unspecified";
-
- /** Obtained consent URI. */
- public static final String OBTAINED_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:obtained";
-
- /** Prior consent URI. */
- public static final String PRIOR_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:prior";
-
- /** Implicit consent URI. */
- public static final String IMPLICIT_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:current-implicit";
-
- /** Explicit consent URI. */
- public static final String EXPLICIT_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:current-explicit";
-
- /** Unavailable consent URI. */
- public static final String UNAVAILABLE_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:unavailable";
-
- /** Inapplicable consent URI. */
- public static final String INAPPLICABLE_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:inapplicable";
-
- /**
- * Gets the SAML Version of this request.
- *
- * @return the SAML Version of this request.
- */
- public SAMLVersion getVersion();
-
- /**
- * Sets the SAML Version of this request.
- *
- * @param newVersion the SAML Version of this request
- */
- public void setVersion(SAMLVersion newVersion);
-
- /**
- * Gets the unique identifier of the request.
- *
- * @return the unique identifier of the request
- */
- public String getID();
-
- /**
- * Sets the unique identifier of the request.
- *
- * @param newID the unique identifier of the request
- */
-
- public void setID(String newID);
-
- /**
- * Gets the date/time the request was issued.
- *
- * @return the date/time the request was issued
- */
-
- public DateTime getIssueInstant();
-
- /**
- * Sets the date/time the request was issued.
- *
- * @param newIssueInstant the date/time the request was issued
- */
- public void setIssueInstant(DateTime newIssueInstant);
-
- /**
- * Gets the URI of the destination of the request.
- *
- * @return the URI of the destination of the request
- */
- public String getDestination();
-
- /**
- * Sets the URI of the destination of the request.
- *
- * @param newDestination the URI of the destination of the request
- */
- public void setDestination(String newDestination);
-
- /**
- * Sets the index of the particular Assertion Consumer Service to which the response to this request should be
- * delivered.
- *
- * @param newAssertionConsumerServiceIndex the new value of the AssertionConsumerServiceIndex attribute
- */
- public void setAssertionConsumerServiceURL(String newServiceUrl);
-
- /**
- * Gets the URL of the particular Assertion Consumer Service to which the response to this request should be
- * delivered.
- *
- * @return the value of the AssertionConsumerServiceURL attribute
- */
- public String getAssertionConsumerServiceURL();
-
- /**
- * Gets the consent obtained from the principal for sending this request.
- *
- * @return the consent obtained from the principal for sending this request
- */
- public String getConsent();
-
- /**
- * Sets the consent obtained from the principal for sending this request.
- *
- * @param newConsent the new consent obtained from the principal for sending this request
- */
- public void setConsent(String newConsent);
-
- /**
- * Gets the issuer of this request.
- *
- * @return the issuer of this request
- */
- public Issuer getIssuer();
-
- /**
- * Sets the issuer of this request.
- *
- * @param newIssuer the issuer of this request
- */
- public void setIssuer(Issuer newIssuer);
-
- /**
- * Gets the Extensions of this request.
- *
- * @return the Status of this request
- */
- public Extensions getExtensions();
-
- /**
- * Sets the Extensions of this request.
- *
- * @param newExtensions the Extensions of this request
- */
- public void setExtensions(Extensions newExtensions);
+ public static final String TYPE_LOCAL_NAME = "RequestAbstractType";
+
+ /** QName of the XSI type. */
+ public static final QName TYPE_NAME = new QName(SAMLConstants.SAML20P_NS, TYPE_LOCAL_NAME, SAMLConstants.SAML20P_PREFIX);
+
+ /** ID attribute name. */
+ public static final String ID_ATTRIB_NAME = "ID";
+
+ /** Version attribute name. */
+ public static final String VERSION_ATTRIB_NAME = "Version";
+
+ /** IssueInstant attribute name. */
+ public static final String ISSUE_INSTANT_ATTRIB_NAME = "IssueInstant";
+
+ /** Destination attribute name. */
+ public static final String DESTINATION_ATTRIB_NAME = "Destination";
+
+ /** Destination attribute name. */
+ public static final String ASSERTION_CONSUMER_SERVICE_URL_ATTRIB_NAME = "AssertionConsumerServiceURL";
+
+ /** Consent attribute name. */
+ public static final String CONSENT_ATTRIB_NAME = "Consent";
+
+ /** Unspecified consent URI. */
+ public static final String UNSPECIFIED_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:unspecified";
+
+ /** Obtained consent URI. */
+ public static final String OBTAINED_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:obtained";
+
+ /** Prior consent URI. */
+ public static final String PRIOR_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:prior";
+
+ /** Implicit consent URI. */
+ public static final String IMPLICIT_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:current-implicit";
+
+ /** Explicit consent URI. */
+ public static final String EXPLICIT_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:current-explicit";
+
+ /** Unavailable consent URI. */
+ public static final String UNAVAILABLE_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:unavailable";
+
+ /** Inapplicable consent URI. */
+ public static final String INAPPLICABLE_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:inapplicable";
+
+ /**
+ * Gets the SAML Version of this request.
+ *
+ * @return the SAML Version of this request.
+ */
+ public SAMLVersion getVersion();
+
+ /**
+ * Sets the SAML Version of this request.
+ *
+ * @param newVersion
+ * the SAML Version of this request
+ */
+ public void setVersion(SAMLVersion newVersion);
+
+ /**
+ * Gets the unique identifier of the request.
+ *
+ * @return the unique identifier of the request
+ */
+ public String getID();
+
+ /**
+ * Sets the unique identifier of the request.
+ *
+ * @param newID
+ * the unique identifier of the request
+ */
+
+ public void setID(String newID);
+
+ /**
+ * Gets the date/time the request was issued.
+ *
+ * @return the date/time the request was issued
+ */
+
+ public DateTime getIssueInstant();
+
+ /**
+ * Sets the date/time the request was issued.
+ *
+ * @param newIssueInstant
+ * the date/time the request was issued
+ */
+ public void setIssueInstant(DateTime newIssueInstant);
+
+ /**
+ * Gets the URI of the destination of the request.
+ *
+ * @return the URI of the destination of the request
+ */
+ public String getDestination();
+
+ /**
+ * Sets the URI of the destination of the request.
+ *
+ * @param newDestination
+ * the URI of the destination of the request
+ */
+ public void setDestination(String newDestination);
+
+ /**
+ * Sets the index of the particular Assertion Consumer Service to which the response to this request should be delivered.
+ *
+ * @param newAssertionConsumerServiceIndex
+ * the new value of the AssertionConsumerServiceIndex attribute
+ */
+ public void setAssertionConsumerServiceURL(String newServiceUrl);
+
+ /**
+ * Gets the URL of the particular Assertion Consumer Service to which the response to this request should be delivered.
+ *
+ * @return the value of the AssertionConsumerServiceURL attribute
+ */
+ public String getAssertionConsumerServiceURL();
+
+ /**
+ * Gets the consent obtained from the principal for sending this request.
+ *
+ * @return the consent obtained from the principal for sending this request
+ */
+ public String getConsent();
+
+ /**
+ * Sets the consent obtained from the principal for sending this request.
+ *
+ * @param newConsent
+ * the new consent obtained from the principal for sending this request
+ */
+ public void setConsent(String newConsent);
+
+ /**
+ * Gets the issuer of this request.
+ *
+ * @return the issuer of this request
+ */
+ public Issuer getIssuer();
+
+ /**
+ * Sets the issuer of this request.
+ *
+ * @param newIssuer
+ * the issuer of this request
+ */
+ public void setIssuer(Issuer newIssuer);
+
+ /**
+ * Gets the Extensions of this request.
+ *
+ * @return the Status of this request
+ */
+ public Extensions getExtensions();
+
+ /**
+ * Sets the Extensions of this request.
+ *
+ * @param newExtensions
+ * the Extensions of this request
+ */
+ public void setExtensions(Extensions newExtensions);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDCrossBorderShare.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDCrossBorderShare.java
index 03541ece1..423f0f342 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDCrossBorderShare.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDCrossBorderShare.java
@@ -21,38 +21,36 @@ import org.opensaml.common.SAMLObject;
/**
* The Interface EIDCrossBorderShare.
+ *
* @author fjquevedo
*/
public interface EIDCrossBorderShare extends SAMLObject {
- /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
- String DEF_LOCAL_NAME = "eIDCrossBorderShare";
-
- /** The Constant DEFAULT_ELEMENT_NAME. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
-
- /** The Constant TYPE_LOCAL_NAME. */
- String TYPE_LOCAL_NAME = "eIDCrossBorderShareType";
-
- /** The Constant TYPE_NAME. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
-
-
- /**
- * Gets the eID cross border share.
- *
- * @return the eID cross border share
- */
- String getEIDCrossBorderShare();
-
-
- /**
- * Sets the eID cross border share.
- *
- * @param eIDCrossBorderShare the new eID cross border share
- */
- void setEIDCrossBorderShare(String eIDCrossBorderShare);
+ /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
+ String DEF_LOCAL_NAME = "eIDCrossBorderShare";
+
+ /** The Constant DEFAULT_ELEMENT_NAME. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+
+ /** The Constant TYPE_LOCAL_NAME. */
+ String TYPE_LOCAL_NAME = "eIDCrossBorderShareType";
+
+ /** The Constant TYPE_NAME. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+
+ /**
+ * Gets the eID cross border share.
+ *
+ * @return the eID cross border share
+ */
+ String getEIDCrossBorderShare();
+
+ /**
+ * Sets the eID cross border share.
+ *
+ * @param eIDCrossBorderShare
+ * the new eID cross border share
+ */
+ void setEIDCrossBorderShare(String eIDCrossBorderShare);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDCrossSectorShare.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDCrossSectorShare.java
index 14c504510..260f91046 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDCrossSectorShare.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDCrossSectorShare.java
@@ -21,36 +21,36 @@ import org.opensaml.common.SAMLObject;
/**
* The Interface EIDCrossSectorShare.
+ *
* @author fjquevedo
*/
public interface EIDCrossSectorShare extends SAMLObject {
- /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
- String ELEM_LOCAL_NAME = "eIDCrossSectorShare";
-
- /** The Constant DEFAULT_ELEMENT_NAME. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), ELEM_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
-
- /** The Constant TYPE_LOCAL_NAME. */
- String TYPE_LOCAL_NAME = "eIDCrossSectorShareType";
-
- /** The Constant TYPE_NAME. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
-
- /**
- * Gets the eID cross sector share.
- *
- * @return the eID cross sector share
- */
- String getEIDCrossSectorShare();
-
- /**
- * Sets the eID cross sector share.
- *
- * @param eIDCrossSectorShare the new eID cross sector share
- */
- void setEIDCrossSectorShare(String eIDCrossSectorShare);
+ /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
+ String ELEM_LOCAL_NAME = "eIDCrossSectorShare";
+
+ /** The Constant DEFAULT_ELEMENT_NAME. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), ELEM_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+
+ /** The Constant TYPE_LOCAL_NAME. */
+ String TYPE_LOCAL_NAME = "eIDCrossSectorShareType";
+
+ /** The Constant TYPE_NAME. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+
+ /**
+ * Gets the eID cross sector share.
+ *
+ * @return the eID cross sector share
+ */
+ String getEIDCrossSectorShare();
+
+ /**
+ * Sets the eID cross sector share.
+ *
+ * @param eIDCrossSectorShare
+ * the new eID cross sector share
+ */
+ void setEIDCrossSectorShare(String eIDCrossSectorShare);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDSectorShare.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDSectorShare.java
index 0202f000c..a5748d5f1 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDSectorShare.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/EIDSectorShare.java
@@ -21,37 +21,36 @@ import org.opensaml.common.SAMLObject;
/**
* The Interface EIDSectorShare.
+ *
* @author fjquevedo
*/
public interface EIDSectorShare extends SAMLObject {
- /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
- String DEF_LOCAL_NAME = "eIDSectorShare";
-
- /** The Constant DEFAULT_ELEMENT_NAME. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
-
- /** The Constant TYPE_LOCAL_NAME. */
- String TYPE_LOCAL_NAME = "eIDSectorShare";
-
- /** The Constant TYPE_NAME. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
-
-
- /**
- * Gets the eID sector share.
- *
- * @return the eID sector share
- */
- String getEIDSectorShare();
-
- /**
- * Sets the eID sector share.
- *
- * @param eIDSectorShare the new eID sector share
- */
- void setEIDSectorShare(String eIDSectorShare);
+ /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
+ String DEF_LOCAL_NAME = "eIDSectorShare";
+
+ /** The Constant DEFAULT_ELEMENT_NAME. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+
+ /** The Constant TYPE_LOCAL_NAME. */
+ String TYPE_LOCAL_NAME = "eIDSectorShare";
+
+ /** The Constant TYPE_NAME. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+
+ /**
+ * Gets the eID sector share.
+ *
+ * @return the eID sector share
+ */
+ String getEIDSectorShare();
+
+ /**
+ * Sets the eID sector share.
+ *
+ * @param eIDSectorShare
+ * the new eID sector share
+ */
+ void setEIDSectorShare(String eIDSectorShare);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/QAAAttribute.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/QAAAttribute.java
index d99d23896..22d472be9 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/QAAAttribute.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/QAAAttribute.java
@@ -26,38 +26,37 @@ import org.opensaml.common.SAMLObject;
*/
public interface QAAAttribute extends SAMLObject {
- /** Element local name. */
- String DEF_LOCAL_NAME = "QualityAuthenticationAssuranceLevel";
-
- /** Default element name. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10_PREFIX.getValue());
-
- /** Local name of the XSI type. */
- String TYPE_LOCAL_NAME = "QualityAuthenticationAssuranceLevelAbstractType";
-
- /** QName of the XSI type. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10_PREFIX.getValue());
-
- /** The minimum value allowed. */
- int MIN_VALUE = 1;
-
- /** The Max value allowed. */
- int MAX_VALUE = 4;
-
- /**
- * Gets the qAA level.
- *
- * @return the qAA level
- */
- String getQaaLevel();
-
- /**
- * Sets the qAA level.
- *
- * @param qaaLevel the new qAA level
- *
- */
- void setQaaLevel(String qaaLevel);
+ /** Element local name. */
+ String DEF_LOCAL_NAME = "QualityAuthenticationAssuranceLevel";
+
+ /** Default element name. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10_PREFIX.getValue());
+
+ /** Local name of the XSI type. */
+ String TYPE_LOCAL_NAME = "QualityAuthenticationAssuranceLevelAbstractType";
+
+ /** QName of the XSI type. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10_PREFIX.getValue());
+
+ /** The minimum value allowed. */
+ int MIN_VALUE = 1;
+
+ /** The Max value allowed. */
+ int MAX_VALUE = 4;
+
+ /**
+ * Gets the qAA level.
+ *
+ * @return the qAA level
+ */
+ String getQaaLevel();
+
+ /**
+ * Sets the qAA level.
+ *
+ * @param qaaLevel
+ * the new qAA level
+ *
+ */
+ void setQaaLevel(String qaaLevel);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/RequestedAttribute.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/RequestedAttribute.java
index ffd32b3cf..955f6bef9 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/RequestedAttribute.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/RequestedAttribute.java
@@ -29,112 +29,113 @@ import org.opensaml.xml.XMLObject;
*
* @author fjquevedo
*/
-public interface RequestedAttribute extends SAMLObject,
- AttributeExtensibleXMLObject {
-
- /** Element local name. */
- String DEF_LOCAL_NAME = "RequestedAttribute";
-
- /** Default element name. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10_PREFIX.getValue());
-
- /** Local name of the XSI type. */
- String TYPE_LOCAL_NAME = "RequestedAttributeAbstractType";
-
- /** QName of the XSI type. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10_PREFIX.getValue());
-
- /** NAME_ATTRIB_NAME attribute name. */
- String NAME_ATTRIB_NAME = "Name";
-
- /** NAME_FORMAT_ATTRIB_NAME attribute name. */
- String NAME_FORMAT_ATTR = "NameFormat";
-
- /** IS_REQUIRED_ATTRIB_NAME attribute name. */
- String IS_REQUIRED_ATTR = "isRequired";
-
- /** FRIENDLY_NAME_ATTRIB_NAME attribute name. */
- String FRIENDLY_NAME_ATT = "FriendlyName";
-
- /** Unspecified attribute format ID. */
- String UNSPECIFIED = "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified";
-
- /** URI reference attribute format ID. */
- String URI_REFERENCE = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri";
-
- /** Basic attribute format ID. */
- String BASIC = "urn:oasis:names:tc:SAML:2.0:attrname-format:basic";
-
- /**
- * Gets the name.
- *
- * @return the name
- */
- String getName();
-
- /**
- * Sets the name.
- *
- * @param name the new name
- */
- void setName(String name);
-
- /**
- * Gets the name format.
- *
- * @return the name format
- */
- String getNameFormat();
-
- /**
- * Sets the name format.
- *
- * @param nameFormat the new name format
- */
- void setNameFormat(String nameFormat);
-
- /**
- * Gets the friendly name.
- *
- * @return the friendly name
- */
- String getFriendlyName();
-
- /**
- * Sets the friendly name.
- *
- * @param friendlyName the new friendly name
- */
- void setFriendlyName(String friendlyName);
-
- /**
- * Gets the checks if is required.
- *
- * @return the checks if is required
- */
- String isRequired();
-
- /**
- * Gets the checks if is required xs boolean.
- *
- * @return the checks if is required xs boolean
- */
- String getIsRequiredXSBoolean();
-
- /**
- * Sets the checks if is required.
- *
- * @param newIsRequired the new checks if is required
- */
- void setIsRequired(String newIsRequired);
-
- /**
- * Gets the attribute values.
- *
- * @return the attribute values
- */
- List<XMLObject> getAttributeValues();
+public interface RequestedAttribute extends SAMLObject, AttributeExtensibleXMLObject {
+
+ /** Element local name. */
+ String DEF_LOCAL_NAME = "RequestedAttribute";
+
+ /** Default element name. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10_PREFIX.getValue());
+
+ /** Local name of the XSI type. */
+ String TYPE_LOCAL_NAME = "RequestedAttributeAbstractType";
+
+ /** QName of the XSI type. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10_PREFIX.getValue());
+
+ /** NAME_ATTRIB_NAME attribute name. */
+ String NAME_ATTRIB_NAME = "Name";
+
+ /** NAME_FORMAT_ATTRIB_NAME attribute name. */
+ String NAME_FORMAT_ATTR = "NameFormat";
+
+ /** IS_REQUIRED_ATTRIB_NAME attribute name. */
+ String IS_REQUIRED_ATTR = "isRequired";
+
+ /** FRIENDLY_NAME_ATTRIB_NAME attribute name. */
+ String FRIENDLY_NAME_ATT = "FriendlyName";
+
+ /** Unspecified attribute format ID. */
+ String UNSPECIFIED = "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified";
+
+ /** URI reference attribute format ID. */
+ String URI_REFERENCE = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri";
+
+ /** Basic attribute format ID. */
+ String BASIC = "urn:oasis:names:tc:SAML:2.0:attrname-format:basic";
+
+ /**
+ * Gets the name.
+ *
+ * @return the name
+ */
+ String getName();
+
+ /**
+ * Sets the name.
+ *
+ * @param name
+ * the new name
+ */
+ void setName(String name);
+
+ /**
+ * Gets the name format.
+ *
+ * @return the name format
+ */
+ String getNameFormat();
+
+ /**
+ * Sets the name format.
+ *
+ * @param nameFormat
+ * the new name format
+ */
+ void setNameFormat(String nameFormat);
+
+ /**
+ * Gets the friendly name.
+ *
+ * @return the friendly name
+ */
+ String getFriendlyName();
+
+ /**
+ * Sets the friendly name.
+ *
+ * @param friendlyName
+ * the new friendly name
+ */
+ void setFriendlyName(String friendlyName);
+
+ /**
+ * Gets the checks if is required.
+ *
+ * @return the checks if is required
+ */
+ String isRequired();
+
+ /**
+ * Gets the checks if is required xs boolean.
+ *
+ * @return the checks if is required xs boolean
+ */
+ String getIsRequiredXSBoolean();
+
+ /**
+ * Sets the checks if is required.
+ *
+ * @param newIsRequired
+ * the new checks if is required
+ */
+ void setIsRequired(String newIsRequired);
+
+ /**
+ * Gets the attribute values.
+ *
+ * @return the attribute values
+ */
+ List<XMLObject> getAttributeValues();
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/RequestedAttributes.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/RequestedAttributes.java
index 6e3da28c3..4527bfdb6 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/RequestedAttributes.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/RequestedAttributes.java
@@ -28,24 +28,22 @@ import org.opensaml.common.SAMLObject;
*/
public interface RequestedAttributes extends SAMLObject {
- /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
- String DEF_LOCAL_NAME = "RequestedAttributes";
-
- /** Default element name. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
-
- /** Local name of the XSI type. */
- String TYPE_LOCAL_NAME = "RequestedAttributesType";
-
- /** QName of the XSI type. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
-
- /**
- * Gets the attributes.
- *
- * @return the attributes
- */
- List<RequestedAttribute> getAttributes();
+ /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
+ String DEF_LOCAL_NAME = "RequestedAttributes";
+
+ /** Default element name. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+
+ /** Local name of the XSI type. */
+ String TYPE_LOCAL_NAME = "RequestedAttributesType";
+
+ /** QName of the XSI type. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+
+ /**
+ * Gets the attributes.
+ *
+ * @return the attributes
+ */
+ List<RequestedAttribute> getAttributes();
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SAMLCore.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SAMLCore.java
index cbedcf7d9..16b9afd18 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SAMLCore.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SAMLCore.java
@@ -22,77 +22,81 @@ package eu.stork.peps.auth.engine.core;
*/
public enum SAMLCore {
-
- /** The consent authentication request. */
- CONSENT_AUTHN_REQ("consentAuthnRequest"),
-
- /** The consent authentication response. */
- CONSENT_AUTHN_RES("consentAuthnResponse"),
-
- /** The FORC e_ auth n_ tag. */
- FORCE_AUTHN_TAG("forceAuthN"),
-
- /** The I s_ passiv e_ tag. */
- IS_PASSIVE_TAG("isPassive"),
-
- /** The FORMA t_ entity. */
- FORMAT_ENTITY("formatEntity"),
-
- /** The FRIENDLY name. */
- FRIENDLY_NAME("friendlyName"),
-
- /** The IS_REQUIRED AN ATTRIBUTE */
- IS_REQUIRED("isRequired"),
-
- /** The PRO t_ bindin g_ tag. */
- PROT_BINDING_TAG("protocolBinding"),
-
- /** The ASSER t_ con s_ tag. */
- ASSERT_CONS_TAG("assertionConsumerServiceURL"),
-
- /** The REQUESTE r_ tag. */
- REQUESTER_TAG("requester"),
-
- /** The RESPONDE r_ tag. */
- RESPONDER_TAG("responder"),
-
- /** The STOR k10_ ns. */
- STORK10_NS("urn:eu:stork:names:tc:STORK:1.0:assertion"),
-
- /** The STOR k10 p_ ns. */
- STORK10P_NS("urn:eu:stork:names:tc:STORK:1.0:protocol"),
-
- /** The STOR k10_ prefix. */
- STORK10_PREFIX("stork"),
-
- /** The STOR k10 p_ prefix. */
- STORK10P_PREFIX("storkp"),
-
- /** The STOR k10_ bas e_ uri. */
- STORK10_BASE_URI("http://www.stork.gov.eu/1.0/"),
-
- /** The ON e_ tim e_ use. */
- ONE_TIME_USE("oneTimeUse");
-
- /** The value. */
- private String value;
-
- /**
- * Instantiates a new sAML core.
- *
- * @param fullName the full name
- */
- private SAMLCore(final String fullName) {
- this.value = fullName;
- }
-
- /**
- * Gets the value.
- *
- * @return the value
- */
- public String getValue() {
- return value;
- }
+
+ /** The consent authentication request. */
+ CONSENT_AUTHN_REQ("consentAuthnRequest"),
+
+ /** The consent authentication response. */
+ CONSENT_AUTHN_RES("consentAuthnResponse"),
+
+ /** The FORC e_ auth n_ tag. */
+ FORCE_AUTHN_TAG("forceAuthN"),
+
+ /** The I s_ passiv e_ tag. */
+ IS_PASSIVE_TAG("isPassive"),
+
+ /** The FORMA t_ entity. */
+ FORMAT_ENTITY("formatEntity"),
+
+ /** The FRIENDLY name. */
+ FRIENDLY_NAME("friendlyName"),
+
+ /** The IS_REQUIRED AN ATTRIBUTE */
+ IS_REQUIRED("isRequired"),
+
+ /** The PRO t_ bindin g_ tag. */
+ PROT_BINDING_TAG("protocolBinding"),
+
+ /** The ASSER t_ con s_ tag. */
+ ASSERT_CONS_TAG("assertionConsumerServiceURL"),
+
+ /** The REQUESTE r_ tag. */
+ REQUESTER_TAG("requester"),
+
+ /** The RESPONDE r_ tag. */
+ RESPONDER_TAG("responder"),
+
+ /** The format r_tag. */
+ FORMAT_TAG("format"),
+
+ /** The STOR k10_ ns. */
+ STORK10_NS("urn:eu:stork:names:tc:STORK:1.0:assertion"),
+
+ /** The STOR k10 p_ ns. */
+ STORK10P_NS("urn:eu:stork:names:tc:STORK:1.0:protocol"),
+
+ /** The STOR k10_ prefix. */
+ STORK10_PREFIX("stork"),
+
+ /** The STOR k10 p_ prefix. */
+ STORK10P_PREFIX("storkp"),
+
+ /** The STOR k10_ bas e_ uri. */
+ STORK10_BASE_URI("http://www.stork.gov.eu/1.0/"),
+
+ /** The ON e_ tim e_ use. */
+ ONE_TIME_USE("oneTimeUse");
+
+ /** The value. */
+ private String value;
+
+ /**
+ * Instantiates a new sAML core.
+ *
+ * @param fullName
+ * the full name
+ */
+ private SAMLCore(final String fullName) {
+ this.value = fullName;
+ }
+
+ /**
+ * Gets the value.
+ *
+ * @return the value
+ */
+ public String getValue() {
+ return value;
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SAMLEngineSignI.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SAMLEngineSignI.java
index e846983d8..8474eeedc 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SAMLEngineSignI.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SAMLEngineSignI.java
@@ -30,59 +30,64 @@ import eu.stork.peps.exceptions.SAMLEngineException;
*/
public interface SAMLEngineSignI {
- /**
- * Sign.
- *
- * @param tokenSaml the token SAML
- *
- * @return the sAML object
- *
- * @throws SAMLEngineException the SAML engine exception
- */
- SAMLObject sign(SignableSAMLObject tokenSaml) throws SAMLEngineException;
+ /**
+ * Sign.
+ *
+ * @param tokenSaml
+ * the token SAML
+ *
+ * @return the sAML object
+ *
+ * @throws SAMLEngineException
+ * the SAML engine exception
+ */
+ SAMLObject sign(SignableSAMLObject tokenSaml) throws SAMLEngineException;
- /**
- * Gets the certificate.
- *
- * @return the certificate
- */
- X509Certificate getCertificate();
+ /**
+ * Gets the certificate.
+ *
+ * @return the certificate
+ */
+ X509Certificate getCertificate();
- /**
- * Gets the trustStore used when validating SAMLTokens
- *
- * @return the trustStore
- *
- */
+ /**
+ * Gets the trustStore used when validating SAMLTokens
+ *
+ * @return the trustStore
+ *
+ */
KeyStore getTrustStore();
-
- /**
- * Validate signature.
- *
- * @param tokenSaml the token SAML
- *
- * @return the sAML object
- *
- * @throws SAMLEngineException the SAML engine exception
- */
- SAMLObject validateSignature(SignableSAMLObject tokenSaml)
- throws SAMLEngineException;
- /**
- * Initialize the signature module.
- *
- * @param fileConf the configuration file.
- *
- * @throws SAMLEngineException the STORKSAML engine runtime
- * exception
- */
- void init(String fileConf) throws SAMLEngineException;
+ /**
+ * Validate signature.
+ *
+ * @param tokenSaml
+ * the token SAML
+ *
+ * @return the sAML object
+ *
+ * @throws SAMLEngineException
+ * the SAML engine exception
+ */
+ SAMLObject validateSignature(SignableSAMLObject tokenSaml) throws SAMLEngineException;
+
+ /**
+ * Initialize the signature module.
+ *
+ * @param fileConf
+ * the configuration file.
+ *
+ * @throws SAMLEngineException
+ * the STORKSAML engine runtime exception
+ */
+ void init(String fileConf) throws SAMLEngineException;
+
+ /**
+ * Load cryptographic service provider.
+ *
+ * @throws SAMLEngineException
+ * the SAML engine exception
+ */
+ void loadCryptServiceProvider() throws SAMLEngineException;
- /**
- * Load cryptographic service provider.
- *
- * @throws SAMLEngineException the SAML engine exception
- */
- void loadCryptServiceProvider() throws SAMLEngineException;
-
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPApplication.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPApplication.java
index 9510bf790..82753b61f 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPApplication.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPApplication.java
@@ -26,31 +26,30 @@ import org.opensaml.common.SAMLObject;
*/
public interface SPApplication extends SAMLObject {
- /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
- String DEF_LOCAL_NAME = "spApplication";
-
- /** The Constant DEFAULT_ELEMENT_NAME. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10_PREFIX.getValue());
-
- /** The Constant TYPE_LOCAL_NAME. */
- String TYPE_LOCAL_NAME = "spApplicationType";
-
- /** The Constant TYPE_NAME. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10_PREFIX.getValue());
-
- /**
- * Gets the service provider application.
- *
- * @return the service provider application
- */
- String getSPApplication();
-
- /**
- * Sets the service provider application.
- *
- * @param spApplication the new service provider application
- */
- void setSPApplication(String spApplication);
+ /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
+ String DEF_LOCAL_NAME = "spApplication";
+
+ /** The Constant DEFAULT_ELEMENT_NAME. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10_PREFIX.getValue());
+
+ /** The Constant TYPE_LOCAL_NAME. */
+ String TYPE_LOCAL_NAME = "spApplicationType";
+
+ /** The Constant TYPE_NAME. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10_PREFIX.getValue());
+
+ /**
+ * Gets the service provider application.
+ *
+ * @return the service provider application
+ */
+ String getSPApplication();
+
+ /**
+ * Sets the service provider application.
+ *
+ * @param spApplication
+ * the new service provider application
+ */
+ void setSPApplication(String spApplication);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPCountry.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPCountry.java
index 829ace878..e04d817ca 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPCountry.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPCountry.java
@@ -26,31 +26,30 @@ import org.opensaml.common.SAMLObject;
*/
public interface SPCountry extends SAMLObject {
- /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
- String DEF_LOCAL_NAME = "spCountry";
-
- /** The Constant DEFAULT_ELEMENT_NAME. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10_PREFIX.getValue());
-
- /** The Constant TYPE_LOCAL_NAME. */
- String TYPE_LOCAL_NAME = "spCountryType";
-
- /** The Constant TYPE_NAME. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10_PREFIX.getValue());
-
- /**
- * Gets the service provider country.
- *
- * @return the service provider country
- */
- String getSPCountry();
-
- /**
- * Sets the service provider country.
- *
- * @param spCountry the new service provider country
- */
- void setSPCountry(String spCountry);
+ /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
+ String DEF_LOCAL_NAME = "spCountry";
+
+ /** The Constant DEFAULT_ELEMENT_NAME. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10_PREFIX.getValue());
+
+ /** The Constant TYPE_LOCAL_NAME. */
+ String TYPE_LOCAL_NAME = "spCountryType";
+
+ /** The Constant TYPE_NAME. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10_PREFIX.getValue());
+
+ /**
+ * Gets the service provider country.
+ *
+ * @return the service provider country
+ */
+ String getSPCountry();
+
+ /**
+ * Sets the service provider country.
+ *
+ * @param spCountry
+ * the new service provider country
+ */
+ void setSPCountry(String spCountry);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPID.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPID.java
index bd13f6dbf..8dad4d968 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPID.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPID.java
@@ -21,36 +21,35 @@ import org.opensaml.common.SAMLObject;
/**
* The Interface EIDCrossBorderShare.
+ *
* @author iinigo
*/
public interface SPID extends SAMLObject {
- /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
- String DEF_LOCAL_NAME = "SPID";
-
- /** The Constant DEFAULT_ELEMENT_NAME. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
+ /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
+ String DEF_LOCAL_NAME = "SPID";
- /** The Constant TYPE_LOCAL_NAME. */
- String TYPE_LOCAL_NAME = "SPIDType";
+ /** The Constant DEFAULT_ELEMENT_NAME. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
- /** The Constant TYPE_NAME. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
+ /** The Constant TYPE_LOCAL_NAME. */
+ String TYPE_LOCAL_NAME = "SPIDType";
- /**
- * Gets the SP ID.
- *
- * @return the SP ID
- */
- String getSPID();
+ /** The Constant TYPE_NAME. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+ /**
+ * Gets the SP ID.
+ *
+ * @return the SP ID
+ */
+ String getSPID();
- /**
- * Sets the SP ID.
- *
- * @param SPID the new SP ID
- */
- void setSPID(String newSPID);
+ /**
+ * Sets the SP ID.
+ *
+ * @param SPID
+ * the new SP ID
+ */
+ void setSPID(String newSPID);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPInformation.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPInformation.java
index bc870c2cc..8ad5b6eef 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPInformation.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPInformation.java
@@ -21,36 +21,35 @@ import org.opensaml.common.SAMLObject;
/**
* The Interface EIDCrossBorderShare.
+ *
* @author iinigo
*/
public interface SPInformation extends SAMLObject {
- /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
- String DEF_LOCAL_NAME = "SPInformation";
-
- /** The Constant DEFAULT_ELEMENT_NAME. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
+ /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
+ String DEF_LOCAL_NAME = "SPInformation";
- /** The Constant TYPE_LOCAL_NAME. */
- String TYPE_LOCAL_NAME = "SPInformationType";
+ /** The Constant DEFAULT_ELEMENT_NAME. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
- /** The Constant TYPE_NAME. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
+ /** The Constant TYPE_LOCAL_NAME. */
+ String TYPE_LOCAL_NAME = "SPInformationType";
- /**
- * Gets the SP Id.
- *
- * @return the SP Id
- */
- SPID getSPID();
+ /** The Constant TYPE_NAME. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+ /**
+ * Gets the SP Id.
+ *
+ * @return the SP Id
+ */
+ SPID getSPID();
- /**
- * Sets the SP Id.
- *
- * @param newSPId the new SP Id
- */
- void setSPID(SPID newSPID);
+ /**
+ * Sets the SP Id.
+ *
+ * @param newSPId
+ * the new SP Id
+ */
+ void setSPID(SPID newSPID);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPInstitution.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPInstitution.java
index add45023c..8a34a94ff 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPInstitution.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPInstitution.java
@@ -26,31 +26,30 @@ import org.opensaml.common.SAMLObject;
*/
public interface SPInstitution extends SAMLObject {
- /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
- String DEF_LOCAL_NAME = "spInstitution";
-
- /** The Constant DEFAULT_ELEMENT_NAME. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10_PREFIX.getValue());
-
- /** The Constant TYPE_LOCAL_NAME. */
- String TYPE_LOCAL_NAME = "spInstitutionType";
-
- /** The Constant TYPE_NAME. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10_PREFIX.getValue());
-
- /**
- * Gets the service provider institution.
- *
- * @return the service provider institution
- */
- String getSPInstitution();
-
- /**
- * Sets the service provider institution.
- *
- * @param spInstitution the new service provider institution
- */
- void setSPInstitution(String spInstitution);
+ /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
+ String DEF_LOCAL_NAME = "spInstitution";
+
+ /** The Constant DEFAULT_ELEMENT_NAME. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10_PREFIX.getValue());
+
+ /** The Constant TYPE_LOCAL_NAME. */
+ String TYPE_LOCAL_NAME = "spInstitutionType";
+
+ /** The Constant TYPE_NAME. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10_PREFIX.getValue());
+
+ /**
+ * Gets the service provider institution.
+ *
+ * @return the service provider institution
+ */
+ String getSPInstitution();
+
+ /**
+ * Sets the service provider institution.
+ *
+ * @param spInstitution
+ * the new service provider institution
+ */
+ void setSPInstitution(String spInstitution);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPSector.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPSector.java
index 8322a0d47..4b8af10cf 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPSector.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/SPSector.java
@@ -26,31 +26,30 @@ import org.opensaml.common.SAMLObject;
*/
public interface SPSector extends SAMLObject {
- /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
- String DEF_LOCAL_NAME = "spSector";
-
- /** The Constant DEFAULT_ELEMENT_NAME. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10_PREFIX.getValue());
-
- /** The Constant TYPE_LOCAL_NAME. */
- String TYPE_LOCAL_NAME = "spSectorType";
-
- /** The Constant TYPE_NAME. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10_PREFIX.getValue());
-
- /**
- * Gets the service provider sector.
- *
- * @return the service provider sector
- */
- String getSPSector();
-
- /**
- * Sets the service provider sector.
- *
- * @param spSector the new service provider sector
- */
- void setSPSector(String spSector);
+ /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
+ String DEF_LOCAL_NAME = "spSector";
+
+ /** The Constant DEFAULT_ELEMENT_NAME. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10_PREFIX.getValue());
+
+ /** The Constant TYPE_LOCAL_NAME. */
+ String TYPE_LOCAL_NAME = "spSectorType";
+
+ /** The Constant TYPE_NAME. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10_PREFIX.getValue());
+
+ /**
+ * Gets the service provider sector.
+ *
+ * @return the service provider sector
+ */
+ String getSPSector();
+
+ /**
+ * Sets the service provider sector.
+ *
+ * @param spSector
+ * the new service provider sector
+ */
+ void setSPSector(String spSector);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/STORKSAMLCore.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/STORKSAMLCore.java
index 4c314ae68..2a548ca6f 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/STORKSAMLCore.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/STORKSAMLCore.java
@@ -34,475 +34,495 @@ import eu.stork.peps.exceptions.STORKSAMLEngineRuntimeException;
*/
public final class STORKSAMLCore {
- /** The Constant LOGGER. */
- private static final Logger LOGGER = LoggerFactory
- .getLogger(STORKSAMLCore.class.getName());
+ /** The Constant LOGGER. */
+ private static final Logger LOGGER = LoggerFactory.getLogger(STORKSAMLCore.class.getName());
- /** The consent authentication request. */
- private String consentAuthnReq = null;
+ /** The consent authentication request. */
+ private String consentAuthnReq = null;
- /** The consent authentication response. */
- private String consentAuthnResp = null;
+ /** The consent authentication response. */
+ private String consentAuthnResp = null;
- /** The id cross border share. */
- private String eIDCrossBordShare = null;
+ /** The id cross border share. */
+ private String eIDCrossBordShare = null;
- /** The e id cross sect share. */
- private String eIDCrossSectShare = null;
+ /** The e id cross sect share. */
+ private String eIDCrossSectShare = null;
- /** The e id sector share. */
- private String eIDSectorShare = null;
+ /** The e id sector share. */
+ private String eIDSectorShare = null;
- /** The format entity. */
- private String formatEntity = null;
+ /** The format entity. */
+ private String formatEntity = null;
- /** The friendly name. */
- private boolean friendlyName = false;
+ /** The friendly name. */
+ private boolean friendlyName = false;
- /** The IP validation. */
- private boolean ipValidation = false;
+ /** The IP validation. */
+ private boolean ipValidation = false;
- /** The one time use. */
- private boolean oneTimeUse = true;
+ /** The one time use. */
+ private boolean oneTimeUse = true;
- /** The protocol binding. */
- private String protocolBinding = null;
+ /** The protocol binding. */
+ private String protocolBinding = null;
- /** The requester. */
- private String requester = null;
+ /** The requester. */
+ private String requester = null;
+ /** The responder. */
+ private String responder = null;
- /** The responder. */
- private String responder = null;
+ private String format = null;
- /** The SAML core properties. */
- private Properties samlCoreProp = null;
+ /**
+ * The SAML core properties.
+ */
+ private Properties samlCoreProp = null;
- /** The time not on or after. */
- private Integer timeNotOnOrAfter = null;
+ /** The time not on or after. */
+ private Integer timeNotOnOrAfter = null;
- /** The is required parameter. */
- private boolean isRequired = true;
+ /** The is required parameter. */
+ private boolean isRequired = true;
- private static final String SAML_ENGINE_LITERAL = "SamlEngine.xml: ";
+ private static final String SAML_ENGINE_LITERAL = "SamlEngine.xml: ";
- /**
- * Gets the isRequired.
- *
- * @return the isRequired
- */
- public boolean isRequired() {
- return isRequired;
+ /**
+ * Gets the isRequired.
+ *
+ * @return the isRequired
+ */
+ public boolean isRequired() {
+ return isRequired;
}
- /**
- * Sets the isRequired.
- *
- * @param isRequired the required.
- */
+ /**
+ * Sets the isRequired.
+ *
+ * @param isRequired
+ * the required.
+ */
public void setRequired(boolean isRequired) {
this.isRequired = isRequired;
}
/**
- * Instantiates a new sAML core.
- *
- * @param instance the instance
- */
- public STORKSAMLCore(final Properties instance) {
- loadConfiguration(instance);
- }
-
- /**
- * Gets the consent.
- *
- * @return the consent
- */
- public String getConsentAuthnRequest() {
- return consentAuthnReq;
- }
-
- /**
- * Gets the consent authentication response.
- *
- * @return the consent authentication response.
- */
- public String getConsentAuthnResp() {
- return consentAuthnResp;
- }
-
- /**
- * Gets the consent authentication response.
- *
- * @return the consent authentication response
- */
- public String getConsentAuthnResponse() {
- return consentAuthnResp;
- }
-
- /**
- * Gets the format entity.
- *
- * @return the format entity
- */
- public String getFormatEntity() {
- return formatEntity;
- }
-
- /**
- * Gets the property.
- *
- * @param key the key
- *
- * @return the property
- */
- public String getProperty(final String key) {
- return samlCoreProp.getProperty(key);
- }
-
- /**
- * Gets the protocol binding.
- *
- * @return the protocol binding
- */
- public String getProtocolBinding() {
- return protocolBinding;
- }
-
- /**
- * Gets the requester.
- *
- * @return the requester
- */
- public String getRequester() {
- return requester;
- }
-
- /**
- * Gets the responder.
- *
- * @return the responder
- */
- public String getResponder() {
- return responder;
- }
-
- /**
- * Gets the time not on or after.
- *
- * @return the time not on or after
- */
- public Integer getTimeNotOnOrAfter() {
- return timeNotOnOrAfter;
- }
-
- /**
- * Checks if is e id cross border share.
- *
- * @return true, if is e id cross border share
- */
- public String iseIDCrossBorderShare() {
- return eIDCrossBordShare;
- }
-
- /**
- * Checks if is e id cross border share.
- *
- * @return true, if is e id cross border share
- */
- public String iseIDCrossBordShare() {
- return eIDCrossBordShare;
- }
-
- /**
- * Checks if is e id cross sector share.
- *
- * @return true, if is e id cross sector share
- */
- public String iseIDCrossSectorShare() {
- return eIDCrossSectShare;
- }
-
- /**
- * Checks if is e id cross sect share.
- *
- * @return true, if is e id cross sect share
- */
- public String iseIDCrossSectShare() {
- return eIDCrossSectShare;
- }
-
- /**
- * Checks if is e id sector share.
- *
- * @return true, if is e id sector share
- */
- public String iseIDSectorShare() {
- return eIDSectorShare;
- }
-
- /**
- * Checks if is friendly name.
- *
- * @return true, if checks if is friendly name
- */
- public boolean isFriendlyName() {
- return friendlyName;
- }
-
- /**
- * Checks if is IP validation.
- *
- * @return true, if is IP validation
- */
- public boolean isIpValidation() {
- return ipValidation;
- }
-
- /**
- * Checks if is one time use.
- *
- * @return true, if is one time use
- */
- public boolean isOneTimeUse() {
- return oneTimeUse;
- }
-
- /**
- * Method that loads the configuration file for the SAML Engine.
- *
- * @param instance the instance of the Engine properties.
- */
- private void loadConfiguration(final Properties instance) {
-
- try {
- LOGGER.info("SAMLCore: Loading SAMLEngine properties.");
-
- samlCoreProp = instance;
-
- final String parameter = samlCoreProp
- .getProperty(SAMLCore.FORMAT_ENTITY.getValue());
-
- if ("entity".equalsIgnoreCase(parameter)) {
- formatEntity = NameIDType.ENTITY;
- }
-
- friendlyName = Boolean.valueOf(samlCoreProp
- .getProperty(SAMLCore.FRIENDLY_NAME.getValue()));
-
- String isRequiredValue = samlCoreProp.
- getProperty(SAMLCore.IS_REQUIRED.getValue());
- if (isRequiredValue != null) {
- isRequired = Boolean.valueOf(isRequiredValue);
- }
-
- eIDSectorShare = samlCoreProp
- .getProperty("eIDSectorShare");
- eIDCrossSectShare = samlCoreProp
- .getProperty("eIDCrossSectorShare");
- eIDCrossBordShare = samlCoreProp
- .getProperty("eIDCrossBorderShare");
-
- ipValidation = Boolean.valueOf(samlCoreProp
- .getProperty("ipAddrValidation"));
-
- final String oneTimeUseProp = samlCoreProp
- .getProperty(SAMLCore.ONE_TIME_USE.getValue());
-
- if (StringUtils.isNotBlank(oneTimeUseProp)) {
- oneTimeUse = Boolean.valueOf(oneTimeUseProp);
- }
-
- // Protocol Binding
- loadProtocolBiding();
-
- // Consent Authentication Request
- consentAuthnReq = samlCoreProp
- .getProperty(SAMLCore.CONSENT_AUTHN_REQ.getValue());
-
- if ("unspecified".equalsIgnoreCase(consentAuthnReq)) {
- consentAuthnReq = RequestAbstractType.UNSPECIFIED_CONSENT;
- }
-
- loadConsentAuthResp();
-
- timeNotOnOrAfter = Integer.valueOf(samlCoreProp
- .getProperty("timeNotOnOrAfter"));
-
- if (timeNotOnOrAfter.intValue() < 0) {
- LOGGER.error(SAML_ENGINE_LITERAL + "timeNotOnOrAfter"
- + " is negative number.");
-
- throw new SAMLEngineException(SAML_ENGINE_LITERAL
- + "timeNotOnOrAfter" + " is negative number.");
- }
-
- requester = samlCoreProp.getProperty(SAMLCore.REQUESTER_TAG.getValue());
- responder = samlCoreProp.getProperty(SAMLCore.RESPONDER_TAG.getValue());
-
- } catch (SAMLEngineException e) {
- LOGGER.error("SAMLCore: error loadConfiguration. ", e);
- throw new STORKSAMLEngineRuntimeException(e);
- } catch (RuntimeException e) {
- LOGGER.error("SAMLCore: error loadConfiguration. ", e);
- throw new STORKSAMLEngineRuntimeException(e);
- }
- }
-
- /**
- * Load consent authentication response.
- */
- private void loadConsentAuthResp() {
- // Consent Authentication Response
- consentAuthnResp = samlCoreProp
- .getProperty(SAMLCore.CONSENT_AUTHN_RES.getValue());
-
- if ("obtained".equalsIgnoreCase(consentAuthnResp)) {
- consentAuthnResp = RequestAbstractType.OBTAINED_CONSENT;
- } else if ("prior".equalsIgnoreCase(consentAuthnResp)) {
- consentAuthnResp = RequestAbstractType.PRIOR_CONSENT;
- } else if ("curent-implicit".equalsIgnoreCase(consentAuthnResp)) {
- consentAuthnResp =
- "urn:oasis:names:tc:SAML:2.0:consent:current-implicit";
- } else if ("curent-explicit".equalsIgnoreCase(consentAuthnResp)) {
- consentAuthnResp =
- "urn:oasis:names:tc:SAML:2.0:consent:current-explicit";
- } else if ("unspecified".equalsIgnoreCase(consentAuthnResp)) {
- consentAuthnResp = RequestAbstractType.UNSPECIFIED_CONSENT;
- }
- }
-
- /**
- * Load protocol biding.
- *
- * @throws SAMLEngineException the SAML engine exception
- */
- private void loadProtocolBiding() throws SAMLEngineException {
- // Protocol Binding
- protocolBinding = samlCoreProp.getProperty(SAMLCore.PROT_BINDING_TAG.getValue());
-
- if (StringUtils.isBlank(protocolBinding)) {
- LOGGER.error(SAML_ENGINE_LITERAL + SAMLCore.PROT_BINDING_TAG
- + " it's mandatory.");
- throw new SAMLEngineException(SAML_ENGINE_LITERAL
- + SAMLCore.PROT_BINDING_TAG + " it's mandatory.");
- } else if (protocolBinding.equalsIgnoreCase("HTTP-POST")) {
- protocolBinding = SAMLConstants.SAML2_POST_BINDING_URI;
- } else {
- LOGGER.error(SAML_ENGINE_LITERAL + SAMLCore.PROT_BINDING_TAG
- + " it's not supporting.");
-
- throw new SAMLEngineException(SAML_ENGINE_LITERAL
- + SAMLCore.PROT_BINDING_TAG + " it's not supporting.");
- }
- }
-
- /**
- * Sets the consent authentication response.
- *
- * @param newConsAuthnResp the new consent authentication response
- */
- public void setConsentAuthnResp(final String newConsAuthnResp) {
- this.consentAuthnResp = newConsAuthnResp;
- }
-
- /**
- * Sets an eID that can be shared outside of the Service Provider’s member state.
- *
- * @param newEIDCrossBord the new eid cross border share
- */
- public void setEIDCrossBordShare(final String newEIDCrossBord) {
- this.eIDCrossBordShare = newEIDCrossBord;
- }
-
- /**
- * Sets an eID that can be shared outside of the Service Provider’s sector.
- *
- * @param newEIDCrossSect the new eid cross sect share
- */
- public void setEIDCrossSectShare(final String newEIDCrossSect) {
- this.eIDCrossSectShare = newEIDCrossSect;
- }
-
- /**
- * Sets an eID that can be shared within the Service Provider’s sector.
- *
- * @param newEIDSectorShare the new eid sector share
- */
- public void seteIDSectorShare(final String newEIDSectorShare) {
- this.eIDSectorShare = newEIDSectorShare;
- }
-
- /**
- * Sets the format entity.
- *
- * @param newFormatEntity the new format entity
- */
- public void setFormatEntity(final String newFormatEntity) {
- this.formatEntity = newFormatEntity;
- }
-
- /**
- * Sets the friendly name.
- *
- * @param newFriendlyName the new friendly name
- */
- public void setFriendlyName(final boolean newFriendlyName) {
- this.friendlyName = newFriendlyName;
- }
-
- /**
- * Sets the IP validation.
- *
- * @param newIpValidation the new IP validation
- */
- public void setIpValidation(final boolean newIpValidation) {
- this.ipValidation = newIpValidation;
- }
-
- /**
- * Sets the one time use.
- *
- * @param newOneTimeUse the new one time use
- */
- public void setOneTimeUse(final boolean newOneTimeUse) {
- this.oneTimeUse = newOneTimeUse;
- }
-
- /**
- * Sets the protocol binding.
- *
- * @param newProtBinding the new protocol binding
- */
- public void setProtocolBinding(final String newProtBinding) {
- this.protocolBinding = newProtBinding;
- }
-
- /**
- * Sets the requester.
- *
- * @param newRequester the new requester
- */
- public void setRequester(final String newRequester) {
- this.requester = newRequester;
- }
-
- /**
- * Sets the responder.
- *
- * @param newResponder the new responder
- */
- public void setResponder(final String newResponder) {
- this.responder = newResponder;
- }
-
- /**
- * Sets the time not on or after.
- *
- * @param newTimeNotOnOrAft the new time not on or after
- */
- public void setTimeNotOnOrAfter(final Integer newTimeNotOnOrAft) {
- this.timeNotOnOrAfter = newTimeNotOnOrAft;
- }
+ * Instantiates a new sAML core.
+ *
+ * @param instance
+ * the instance
+ */
+ public STORKSAMLCore(final Properties instance) {
+ loadConfiguration(instance);
+ }
+
+ /**
+ * Gets the consent.
+ *
+ * @return the consent
+ */
+ public String getConsentAuthnRequest() {
+ return consentAuthnReq;
+ }
+
+ /**
+ * Gets the consent authentication response.
+ *
+ * @return the consent authentication response.
+ */
+ public String getConsentAuthnResp() {
+ return consentAuthnResp;
+ }
+
+ /**
+ * Gets the consent authentication response.
+ *
+ * @return the consent authentication response
+ */
+ public String getConsentAuthnResponse() {
+ return consentAuthnResp;
+ }
+
+ /**
+ * Gets the format entity.
+ *
+ * @return the format entity
+ */
+ public String getFormatEntity() {
+ return formatEntity;
+ }
+
+ /**
+ * Gets the property.
+ *
+ * @param key
+ * the key
+ *
+ * @return the property
+ */
+ public String getProperty(final String key) {
+ return samlCoreProp.getProperty(key);
+ }
+
+ /**
+ * Gets the protocol binding.
+ *
+ * @return the protocol binding
+ */
+ public String getProtocolBinding() {
+ return protocolBinding;
+ }
+
+ /**
+ * Gets the requester.
+ *
+ * @return the requester
+ */
+ public String getRequester() {
+ return requester;
+ }
+
+ /**
+ * Gets the responder.
+ *
+ * @return the responder
+ */
+ public String getResponder() {
+ return responder;
+ }
+
+ /**
+ * return the format string.
+ *
+ * @return
+ */
+ public String getFormat() {
+ return this.format;
+ }
+
+ /**
+ * Gets the time not on or after.
+ *
+ * @return the time not on or after
+ */
+ public Integer getTimeNotOnOrAfter() {
+ return timeNotOnOrAfter;
+ }
+
+ /**
+ * Checks if is e id cross border share.
+ *
+ * @return true, if is e id cross border share
+ */
+ public String iseIDCrossBorderShare() {
+ return eIDCrossBordShare;
+ }
+
+ /**
+ * Checks if is e id cross border share.
+ *
+ * @return true, if is e id cross border share
+ */
+ public String iseIDCrossBordShare() {
+ return eIDCrossBordShare;
+ }
+
+ /**
+ * Checks if is e id cross sector share.
+ *
+ * @return true, if is e id cross sector share
+ */
+ public String iseIDCrossSectorShare() {
+ return eIDCrossSectShare;
+ }
+
+ /**
+ * Checks if is e id cross sect share.
+ *
+ * @return true, if is e id cross sect share
+ */
+ public String iseIDCrossSectShare() {
+ return eIDCrossSectShare;
+ }
+
+ /**
+ * Checks if is e id sector share.
+ *
+ * @return true, if is e id sector share
+ */
+ public String iseIDSectorShare() {
+ return eIDSectorShare;
+ }
+
+ /**
+ * Checks if is friendly name.
+ *
+ * @return true, if checks if is friendly name
+ */
+ public boolean isFriendlyName() {
+ return friendlyName;
+ }
+
+ /**
+ * Checks if is IP validation.
+ *
+ * @return true, if is IP validation
+ */
+ public boolean isIpValidation() {
+ return ipValidation;
+ }
+
+ /**
+ * Checks if is one time use.
+ *
+ * @return true, if is one time use
+ */
+ public boolean isOneTimeUse() {
+ return oneTimeUse;
+ }
+
+ /**
+ * Method that loads the configuration file for the SAML Engine.
+ *
+ * @param instance
+ * the instance of the Engine properties.
+ */
+ private void loadConfiguration(final Properties instance) {
+
+ try {
+ LOGGER.info("SAMLCore: Loading SAMLEngine properties.");
+
+ samlCoreProp = instance;
+
+ final String parameter = samlCoreProp.getProperty(SAMLCore.FORMAT_ENTITY.getValue());
+
+ if ("entity".equalsIgnoreCase(parameter)) {
+ formatEntity = NameIDType.ENTITY;
+ }
+
+ friendlyName = Boolean.valueOf(samlCoreProp.getProperty(SAMLCore.FRIENDLY_NAME.getValue()));
+
+ String isRequiredValue = samlCoreProp.getProperty(SAMLCore.IS_REQUIRED.getValue());
+ if (isRequiredValue != null) {
+ isRequired = Boolean.valueOf(isRequiredValue);
+ }
+
+ eIDSectorShare = samlCoreProp.getProperty("eIDSectorShare");
+ eIDCrossSectShare = samlCoreProp.getProperty("eIDCrossSectorShare");
+ eIDCrossBordShare = samlCoreProp.getProperty("eIDCrossBorderShare");
+
+ ipValidation = Boolean.valueOf(samlCoreProp.getProperty("ipAddrValidation"));
+
+ final String oneTimeUseProp = samlCoreProp.getProperty(SAMLCore.ONE_TIME_USE.getValue());
+
+ if (StringUtils.isNotBlank(oneTimeUseProp)) {
+ oneTimeUse = Boolean.valueOf(oneTimeUseProp);
+ }
+
+ // Protocol Binding
+ loadProtocolBiding();
+
+ // Consent Authentication Request
+ consentAuthnReq = samlCoreProp.getProperty(SAMLCore.CONSENT_AUTHN_REQ.getValue());
+
+ if ("unspecified".equalsIgnoreCase(consentAuthnReq)) {
+ consentAuthnReq = RequestAbstractType.UNSPECIFIED_CONSENT;
+ }
+
+ loadConsentAuthResp();
+
+ timeNotOnOrAfter = Integer.valueOf(samlCoreProp.getProperty("timeNotOnOrAfter"));
+
+ if (timeNotOnOrAfter.intValue() < 0) {
+ LOGGER.error(SAML_ENGINE_LITERAL + "timeNotOnOrAfter" + " is negative number.");
+
+ throw new SAMLEngineException(SAML_ENGINE_LITERAL + "timeNotOnOrAfter" + " is negative number.");
+ }
+
+ requester = samlCoreProp.getProperty(SAMLCore.REQUESTER_TAG.getValue());
+ responder = samlCoreProp.getProperty(SAMLCore.RESPONDER_TAG.getValue());
+
+ format = samlCoreProp.getProperty(SAMLCore.FORMAT_TAG.getValue(), "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified");
+
+ } catch (SAMLEngineException e) {
+ LOGGER.error("SAMLCore: error loadConfiguration. ", e);
+ throw new STORKSAMLEngineRuntimeException(e);
+ } catch (RuntimeException e) {
+ LOGGER.error("SAMLCore: error loadConfiguration. ", e);
+ throw new STORKSAMLEngineRuntimeException(e);
+ }
+ }
+
+ /**
+ * Load consent authentication response.
+ */
+ private void loadConsentAuthResp() {
+ // Consent Authentication Response
+ consentAuthnResp = samlCoreProp.getProperty(SAMLCore.CONSENT_AUTHN_RES.getValue());
+
+ if ("obtained".equalsIgnoreCase(consentAuthnResp)) {
+ consentAuthnResp = RequestAbstractType.OBTAINED_CONSENT;
+ } else if ("prior".equalsIgnoreCase(consentAuthnResp)) {
+ consentAuthnResp = RequestAbstractType.PRIOR_CONSENT;
+ } else if ("curent-implicit".equalsIgnoreCase(consentAuthnResp)) {
+ consentAuthnResp = "urn:oasis:names:tc:SAML:2.0:consent:current-implicit";
+ } else if ("curent-explicit".equalsIgnoreCase(consentAuthnResp)) {
+ consentAuthnResp = "urn:oasis:names:tc:SAML:2.0:consent:current-explicit";
+ } else if ("unspecified".equalsIgnoreCase(consentAuthnResp)) {
+ consentAuthnResp = RequestAbstractType.UNSPECIFIED_CONSENT;
+ }
+ }
+
+ /**
+ * Load protocol biding.
+ *
+ * @throws SAMLEngineException
+ * the SAML engine exception
+ */
+ private void loadProtocolBiding() throws SAMLEngineException {
+ // Protocol Binding
+ protocolBinding = samlCoreProp.getProperty(SAMLCore.PROT_BINDING_TAG.getValue());
+
+ if (StringUtils.isBlank(protocolBinding)) {
+ LOGGER.error(SAML_ENGINE_LITERAL + SAMLCore.PROT_BINDING_TAG + " it's mandatory.");
+ throw new SAMLEngineException(SAML_ENGINE_LITERAL + SAMLCore.PROT_BINDING_TAG + " it's mandatory.");
+ } else if (protocolBinding.equalsIgnoreCase("HTTP-POST")) {
+ protocolBinding = SAMLConstants.SAML2_POST_BINDING_URI;
+ } else {
+ LOGGER.error(SAML_ENGINE_LITERAL + SAMLCore.PROT_BINDING_TAG + " it's not supporting.");
+
+ throw new SAMLEngineException(SAML_ENGINE_LITERAL + SAMLCore.PROT_BINDING_TAG + " it's not supporting.");
+ }
+ }
+
+ /**
+ * Sets the consent authentication response.
+ *
+ * @param newConsAuthnResp
+ * the new consent authentication response
+ */
+ public void setConsentAuthnResp(final String newConsAuthnResp) {
+ this.consentAuthnResp = newConsAuthnResp;
+ }
+
+ /**
+ * Sets an eID that can be shared outside of the Service Provider’s member state.
+ *
+ * @param newEIDCrossBord
+ * the new eid cross border share
+ */
+ public void setEIDCrossBordShare(final String newEIDCrossBord) {
+ this.eIDCrossBordShare = newEIDCrossBord;
+ }
+
+ /**
+ * Sets an eID that can be shared outside of the Service Provider’s sector.
+ *
+ * @param newEIDCrossSect
+ * the new eid cross sect share
+ */
+ public void setEIDCrossSectShare(final String newEIDCrossSect) {
+ this.eIDCrossSectShare = newEIDCrossSect;
+ }
+
+ /**
+ * Sets an eID that can be shared within the Service Provider’s sector.
+ *
+ * @param newEIDSectorShare
+ * the new eid sector share
+ */
+ public void seteIDSectorShare(final String newEIDSectorShare) {
+ this.eIDSectorShare = newEIDSectorShare;
+ }
+
+ /**
+ * Sets the format entity.
+ *
+ * @param newFormatEntity
+ * the new format entity
+ */
+ public void setFormatEntity(final String newFormatEntity) {
+ this.formatEntity = newFormatEntity;
+ }
+
+ /**
+ * Sets the friendly name.
+ *
+ * @param newFriendlyName
+ * the new friendly name
+ */
+ public void setFriendlyName(final boolean newFriendlyName) {
+ this.friendlyName = newFriendlyName;
+ }
+
+ /**
+ * Sets the IP validation.
+ *
+ * @param newIpValidation
+ * the new IP validation
+ */
+ public void setIpValidation(final boolean newIpValidation) {
+ this.ipValidation = newIpValidation;
+ }
+
+ /**
+ * Sets the one time use.
+ *
+ * @param newOneTimeUse
+ * the new one time use
+ */
+ public void setOneTimeUse(final boolean newOneTimeUse) {
+ this.oneTimeUse = newOneTimeUse;
+ }
+
+ /**
+ * Sets the protocol binding.
+ *
+ * @param newProtBinding
+ * the new protocol binding
+ */
+ public void setProtocolBinding(final String newProtBinding) {
+ this.protocolBinding = newProtBinding;
+ }
+
+ /**
+ * Sets the requester.
+ *
+ * @param newRequester
+ * the new requester
+ */
+ public void setRequester(final String newRequester) {
+ this.requester = newRequester;
+ }
+
+ /**
+ * Sets the responder.
+ *
+ * @param newResponder
+ * the new responder
+ */
+ public void setResponder(final String newResponder) {
+ this.responder = newResponder;
+ }
+
+ /**
+ * Sets the format string
+ *
+ * @param newFormat
+ */
+ public void setFormat(final String newFormat) {
+ this.format = newFormat;
+ }
+
+ /**
+ * Sets the time not on or after.
+ *
+ * @param newTimeNotOnOrAft
+ * the new time not on or after
+ */
+ public void setTimeNotOnOrAfter(final Integer newTimeNotOnOrAft) {
+ this.timeNotOnOrAfter = newTimeNotOnOrAft;
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/VIDPAuthenticationAttributes.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/VIDPAuthenticationAttributes.java
index 6ee9e0e1b..c4c1ec845 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/VIDPAuthenticationAttributes.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/VIDPAuthenticationAttributes.java
@@ -26,47 +26,46 @@ import org.opensaml.common.SAMLObject;
*/
public interface VIDPAuthenticationAttributes extends SAMLObject {
- /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
- String DEF_LOCAL_NAME = "VIDPAuthenticationAttributes";
+ /** The Constant DEFAULT_ELEMENT_LOCAL_NAME. */
+ String DEF_LOCAL_NAME = "VIDPAuthenticationAttributes";
- /** Default element name. */
- QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
+ /** Default element name. */
+ QName DEF_ELEMENT_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), DEF_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
- /** Local name of the XSI type. */
- String TYPE_LOCAL_NAME = "VIDPAuthenticationAttributesType";
+ /** Local name of the XSI type. */
+ String TYPE_LOCAL_NAME = "VIDPAuthenticationAttributesType";
- /** QName of the XSI type. */
- QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME,
- SAMLCore.STORK10P_PREFIX.getValue());
+ /** QName of the XSI type. */
+ QName TYPE_NAME = new QName(SAMLCore.STORK10P_NS.getValue(), TYPE_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+ /**
+ * Gets the citizen country code.
+ *
+ * @return the citizen country code
+ */
+ CitizenCountryCode getCitizenCountryCode();
+
+ /**
+ * Sets the citizen country code.
+ *
+ * @param newCitizenCountryCode
+ * the new citizen country code
+ */
+ void setCitizenCountryCode(CitizenCountryCode newCitizenCountryCode);
+
+ /**
+ * Gets the SP information
+ *
+ * @return the SP information
+ */
+ SPInformation getSPInformation();
+
+ /**
+ * Sets the SP information
+ *
+ * @param newSPInformation
+ * the new SPInformation
+ */
+ void setSPInformation(SPInformation newSPInformation);
- /**
- * Gets the citizen country code.
- *
- * @return the citizen country code
- */
- CitizenCountryCode getCitizenCountryCode();
-
- /**
- * Sets the citizen country code.
- *
- * @param newCitizenCountryCode the new citizen country code
- */
- void setCitizenCountryCode(CitizenCountryCode newCitizenCountryCode);
-
- /**
- * Gets the SP information
- *
- * @return the SP information
- */
- SPInformation getSPInformation();
-
- /**
- * Sets the SP information
- *
- * @param newSPInformation the new SPInformation
- */
- void setSPInformation(SPInformation newSPInformation);
-
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesBuilder.java
index 2d9039d4c..f34adfcb4 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesBuilder.java
@@ -24,33 +24,31 @@ import eu.stork.peps.auth.engine.core.AuthenticationAttributes;
*
* @author fjquevedo
*/
-public class AuthenticationAttributesBuilder extends
- AbstractSAMLObjectBuilder<AuthenticationAttributes> {
-
-
-
- /**
- * Builds the object.
- *
- * @return the authentication attributes
- */
- public final AuthenticationAttributes buildObject() {
- return buildObject(AuthenticationAttributes.DEF_ELEMENT_NAME);
- }
-
- /**
- * Builds the object.
- *
- * @param namespaceURI the namespace URI
- * @param localName the local name
- * @param namespacePrefix the namespace prefix
- *
- * @return the authentication attributes
- */
- public final AuthenticationAttributes buildObject(final String namespaceURI,
- final String localName, final String namespacePrefix) {
- return new AuthenticationAttributesImpl(namespaceURI, localName,
- namespacePrefix);
- }
+public class AuthenticationAttributesBuilder extends AbstractSAMLObjectBuilder<AuthenticationAttributes> {
+
+ /**
+ * Builds the object.
+ *
+ * @return the authentication attributes
+ */
+ public final AuthenticationAttributes buildObject() {
+ return buildObject(AuthenticationAttributes.DEF_ELEMENT_NAME);
+ }
+
+ /**
+ * Builds the object.
+ *
+ * @param namespaceURI
+ * the namespace URI
+ * @param localName
+ * the local name
+ * @param namespacePrefix
+ * the namespace prefix
+ *
+ * @return the authentication attributes
+ */
+ public final AuthenticationAttributes buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new AuthenticationAttributesImpl(namespaceURI, localName, namespacePrefix);
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesImpl.java
index e0de20f7d..9f602aba1 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesImpl.java
@@ -32,78 +32,74 @@ import org.slf4j.LoggerFactory;
*
* @author fjquevedo
*/
-public final class AuthenticationAttributesImpl extends AbstractSignableSAMLObject implements
-AuthenticationAttributes {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(AuthenticationAttributesImpl.class.getName());
-
- /** The indexed children. */
- private VIDPAuthenticationAttributes vIDPAuthenAttr;
-
- /**
- * Instantiates a new authentication attributes implementation.
- *
- * @param namespaceURI the namespace uri
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected AuthenticationAttributesImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- }
-
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- *
- */
- public List<XMLObject> getOrderedChildren() {
- final ArrayList<XMLObject> children = new ArrayList<XMLObject>();
-
- children.add(vIDPAuthenAttr);
-
- if (getSignature() != null) {
- children.add(getSignature());
+public final class AuthenticationAttributesImpl extends AbstractSignableSAMLObject implements AuthenticationAttributes {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AuthenticationAttributesImpl.class.getName());
+
+ /** The indexed children. */
+ private VIDPAuthenticationAttributes vIDPAuthenAttr;
+
+ /**
+ * Instantiates a new authentication attributes implementation.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected AuthenticationAttributesImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children
+ *
+ */
+ public List<XMLObject> getOrderedChildren() {
+ final ArrayList<XMLObject> children = new ArrayList<XMLObject>();
+
+ children.add(vIDPAuthenAttr);
+
+ if (getSignature() != null) {
+ children.add(getSignature());
+ }
+
+ return Collections.unmodifiableList(children);
+ }
+
+ /**
+ * Gets the signature reference id.
+ *
+ * @return the signature reference id
+ *
+ */
+ public String getSignatureReferenceID() {
+ return null;
+ }
+
+ /**
+ * Gets the vidp authentication attributes.
+ *
+ * @return the VIDP authentication attributes
+ *
+ */
+ public VIDPAuthenticationAttributes getVIDPAuthenticationAttributes() {
+ return vIDPAuthenAttr;
+ }
+
+ /**
+ * Sets the vidp authentication attributes.
+ *
+ * @param newVIDPAuthenAttr
+ * the new vidp authen attr
+ *
+ */
+ public void setVIDPAuthenticationAttributes(final VIDPAuthenticationAttributes newVIDPAuthenAttr) {
+ vIDPAuthenAttr = prepareForAssignment(this.vIDPAuthenAttr, newVIDPAuthenAttr);
}
- return Collections.unmodifiableList(children);
- }
-
- /**
- * Gets the signature reference id.
- *
- * @return the signature reference id
- *
- */
- public String getSignatureReferenceID() {
- return null;
- }
-
- /**
- * Gets the vidp authentication attributes.
- *
- * @return the VIDP authentication attributes
- *
- */
- public VIDPAuthenticationAttributes getVIDPAuthenticationAttributes() {
- return vIDPAuthenAttr;
- }
-
- /**
- * Sets the vidp authentication attributes.
- *
- * @param newVIDPAuthenAttr the new vidp authen attr
- *
- */
- public void setVIDPAuthenticationAttributes(
- final VIDPAuthenticationAttributes newVIDPAuthenAttr) {
- vIDPAuthenAttr = prepareForAssignment(this.vIDPAuthenAttr, newVIDPAuthenAttr);
- }
-
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesUnmarshaller.java
index 113214712..7e1b6bbe2 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/AuthenticationAttributesUnmarshaller.java
@@ -28,20 +28,21 @@ import eu.stork.peps.auth.engine.core.AuthenticationAttributes;
*
* @author fjquevedo
*/
-public class AuthenticationAttributesUnmarshaller extends
-AbstractSAMLObjectUnmarshaller {
+public class AuthenticationAttributesUnmarshaller extends AbstractSAMLObjectUnmarshaller {
/**
* Process child element.
*
- * @param parentObject the parent object
- * @param childObject the child object
+ * @param parentObject
+ * the parent object
+ * @param childObject
+ * the child object
*
- * @throws UnmarshallingException the unmarshalling exception
+ * @throws UnmarshallingException
+ * the unmarshalling exception
*
*/
- protected final void processChildElement(final XMLObject parentObject,
- final XMLObject childObject) throws UnmarshallingException {
+ protected final void processChildElement(final XMLObject parentObject, final XMLObject childObject) throws UnmarshallingException {
final AuthenticationAttributes attrStatement = (AuthenticationAttributes) parentObject;
if (childObject instanceof VIDPAuthenticationAttributes) {
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeBuilder.java
index 64651691f..49ed66d88 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeBuilder.java
@@ -26,25 +26,27 @@ import eu.stork.peps.auth.engine.core.CitizenCountryCode;
*/
public class CitizenCountryCodeBuilder extends AbstractSAMLObjectBuilder<CitizenCountryCode> {
- /**
- * Builds the object.
- *
- * @return the citizen country code
- */
- public final CitizenCountryCode buildObject() {
- return buildObject(CitizenCountryCode.DEF_ELEMENT_NAME);
- }
+ /**
+ * Builds the object.
+ *
+ * @return the citizen country code
+ */
+ public final CitizenCountryCode buildObject() {
+ return buildObject(CitizenCountryCode.DEF_ELEMENT_NAME);
+ }
- /**
- * Builds the object.
- *
- * @param namespaceURI the namespace uri
- * @param localName the local name
- * @param namespacePrefix the namespace prefix
- * @return the citizen country code
- */
- public final CitizenCountryCode buildObject(final String namespaceURI,
- final String localName, final String namespacePrefix) {
- return new CitizenCountryCodeImpl(namespaceURI, localName, namespacePrefix);
- }
+ /**
+ * Builds the object.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param localName
+ * the local name
+ * @param namespacePrefix
+ * the namespace prefix
+ * @return the citizen country code
+ */
+ public final CitizenCountryCode buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new CitizenCountryCodeImpl(namespaceURI, localName, namespacePrefix);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeImpl.java
index 374398cf1..aa4c725f1 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeImpl.java
@@ -31,52 +31,50 @@ import org.slf4j.LoggerFactory;
*/
public class CitizenCountryCodeImpl extends AbstractSAMLObject implements CitizenCountryCode {
- private static final Logger LOGGER = LoggerFactory.getLogger(CitizenCountryCodeImpl.class.getName());
- /** The citizen country code. */
- private String citizenCountryCode;
-
- /**
- * Instantiates a new sP country impl.
- *
- * @param namespaceURI the namespace uri
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected CitizenCountryCodeImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- }
+ private static final Logger LOGGER = LoggerFactory.getLogger(CitizenCountryCodeImpl.class.getName());
+ /** The citizen country code. */
+ private String citizenCountryCode;
- /**
- * Gets the citizen country code.
- *
- * @return the citizen country code
- */
- public final String getCitizenCountryCode() {
- return citizenCountryCode;
- }
+ /**
+ * Instantiates a new sP country impl.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected CitizenCountryCodeImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
- /**
- * Sets the citizen country code.
- *
- * @param newCitizenCountryCode the new citizen country code
- */
- public final void setCitizenCountryCode(final String newCitizenCountryCode) {
- this.citizenCountryCode = prepareForAssignment(this.citizenCountryCode, newCitizenCountryCode);
- }
+ /**
+ * Gets the citizen country code.
+ *
+ * @return the citizen country code
+ */
+ public final String getCitizenCountryCode() {
+ return citizenCountryCode;
+ }
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- */
- public final List<XMLObject> getOrderedChildren() {
- return null;
- }
+ /**
+ * Sets the citizen country code.
+ *
+ * @param newCitizenCountryCode
+ * the new citizen country code
+ */
+ public final void setCitizenCountryCode(final String newCitizenCountryCode) {
+ this.citizenCountryCode = prepareForAssignment(this.citizenCountryCode, newCitizenCountryCode);
+ }
+
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children
+ */
+ public final List<XMLObject> getOrderedChildren() {
+ return null;
+ }
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeMarshaller.java
index decae04c5..e04323f06 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeMarshaller.java
@@ -30,16 +30,18 @@ import eu.stork.peps.auth.engine.core.CitizenCountryCode;
*/
public class CitizenCountryCodeMarshaller extends AbstractSAMLObjectMarshaller {
- /**
- * Marshall element content.
- *
- * @param samlObject the SAML object
- * @param domElement the DOM element
- * @throws MarshallingException the marshalling exception
- */
- protected final void marshallElementContent(final XMLObject samlObject,
- final Element domElement) throws MarshallingException {
- final CitizenCountryCode citizenCountryCode = (CitizenCountryCode) samlObject;
- XMLHelper.appendTextContent(domElement, citizenCountryCode.getCitizenCountryCode());
- }
+ /**
+ * Marshall element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param domElement
+ * the DOM element
+ * @throws MarshallingException
+ * the marshalling exception
+ */
+ protected final void marshallElementContent(final XMLObject samlObject, final Element domElement) throws MarshallingException {
+ final CitizenCountryCode citizenCountryCode = (CitizenCountryCode) samlObject;
+ XMLHelper.appendTextContent(domElement, citizenCountryCode.getCitizenCountryCode());
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeUnmarshaller.java
index 93132b508..eca6d69b9 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CitizenCountryCodeUnmarshaller.java
@@ -27,15 +27,16 @@ import eu.stork.peps.auth.engine.core.CitizenCountryCode;
*/
public class CitizenCountryCodeUnmarshaller extends AbstractSAMLObjectUnmarshaller {
- /**
- * Process element content.
- *
- * @param samlObject the SAML object
- * @param elementContent the element content
- */
- protected final void processElementContent(final XMLObject samlObject,
- final String elementContent) {
- final CitizenCountryCode citizenCountryCode = (CitizenCountryCode) samlObject;
- citizenCountryCode.setCitizenCountryCode(elementContent);
- }
+ /**
+ * Process element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param elementContent
+ * the element content
+ */
+ protected final void processElementContent(final XMLObject samlObject, final String elementContent) {
+ final CitizenCountryCode citizenCountryCode = (CitizenCountryCode) samlObject;
+ citizenCountryCode.setCitizenCountryCode(elementContent);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryBuilder.java
index 48da2a24b..f2d2fe7fb 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryBuilder.java
@@ -6,21 +6,20 @@ import eu.stork.peps.auth.engine.core.CustomAttributeQuery;
public class CustomAttributeQueryBuilder extends AbstractSAMLObjectBuilder<CustomAttributeQuery> {
/**
- * Constructor.
- */
- public CustomAttributeQueryBuilder() {
+ * Constructor.
+ */
+ public CustomAttributeQueryBuilder() {
- }
+ }
- /** {@inheritDoc} */
- public CustomAttributeQuery buildObject() {
- return buildObject(SAMLConstants.SAML20P_NS, CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME,
- SAMLConstants.SAML20P_PREFIX);
- }
+ /** {@inheritDoc} */
+ public CustomAttributeQuery buildObject() {
+ return buildObject(SAMLConstants.SAML20P_NS, CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME, SAMLConstants.SAML20P_PREFIX);
+ }
- /** {@inheritDoc} */
- public CustomAttributeQuery buildObject(String namespaceURI, String localName, String namespacePrefix) {
- return new CustomAttributeQueryImpl(namespaceURI, localName, namespacePrefix);
- }
+ /** {@inheritDoc} */
+ public CustomAttributeQuery buildObject(String namespaceURI, String localName, String namespacePrefix) {
+ return new CustomAttributeQueryImpl(namespaceURI, localName, namespacePrefix);
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryImpl.java
index cbf9221eb..d88ede1a3 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryImpl.java
@@ -11,44 +11,46 @@ import org.opensaml.xml.util.XMLObjectChildrenList;
import eu.stork.peps.auth.engine.core.CustomAttributeQuery;
-
public class CustomAttributeQueryImpl extends SubjectQueryImpl implements CustomAttributeQuery {
/** Attribute child elements. */
- private final XMLObjectChildrenList<Attribute> attributes;
- private String serviceURL;
+ private final XMLObjectChildrenList<Attribute> attributes;
+ private String serviceURL;
- /**
- * Constructor.
- *
- * @param namespaceURI the namespace the element is in
- * @param elementLocalName the local name of the XML element this Object represents
- * @param namespacePrefix the prefix for the given namespace
- */
- protected CustomAttributeQueryImpl(String namespaceURI, String elementLocalName, String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- attributes = new XMLObjectChildrenList<Attribute>(this);
- }
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI
+ * the namespace the element is in
+ * @param elementLocalName
+ * the local name of the XML element this Object represents
+ * @param namespacePrefix
+ * the prefix for the given namespace
+ */
+ protected CustomAttributeQueryImpl(String namespaceURI, String elementLocalName, String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ attributes = new XMLObjectChildrenList<Attribute>(this);
+ }
- /** {@inheritDoc} */
- public List<Attribute> getAttributes() {
- return attributes;
- }
+ /** {@inheritDoc} */
+ public List<Attribute> getAttributes() {
+ return attributes;
+ }
- /** {@inheritDoc} */
- public List<XMLObject> getOrderedChildren() {
- ArrayList<XMLObject> children = new ArrayList<XMLObject>();
+ /** {@inheritDoc} */
+ public List<XMLObject> getOrderedChildren() {
+ ArrayList<XMLObject> children = new ArrayList<XMLObject>();
- if (super.getOrderedChildren() != null) {
- children.addAll(super.getOrderedChildren());
- }
- children.addAll(attributes);
+ if (super.getOrderedChildren() != null) {
+ children.addAll(super.getOrderedChildren());
+ }
+ children.addAll(attributes);
- if (children.size() == 0) {
- return null;
- }
+ if (children.size() == 0) {
+ return null;
+ }
- return Collections.unmodifiableList(children);
- }
+ return Collections.unmodifiableList(children);
+ }
@Override
public String getAssertionConsumerServiceURL() {
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryMarshaller.java
index 7f2013ca8..5e0cf55b3 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryMarshaller.java
@@ -10,41 +10,40 @@ import org.w3c.dom.Element;
import eu.stork.peps.auth.engine.core.CustomRequestAbstractType;
public class CustomAttributeQueryMarshaller extends SubjectQueryMarshaller {
-
- /** {@inheritDoc} */
- protected void marshallAttributes(XMLObject samlObject, Element domElement) throws MarshallingException {
- CustomRequestAbstractType req = (CustomRequestAbstractType) samlObject;
-
- if (req.getVersion() != null) {
- domElement.setAttributeNS(null, RequestAbstractType.VERSION_ATTRIB_NAME, req.getVersion().toString());
- }
-
- if (req.getID() != null) {
- domElement.setAttributeNS(null, RequestAbstractType.ID_ATTRIB_NAME, req.getID());
- domElement.setIdAttributeNS(null, RequestAbstractType.ID_ATTRIB_NAME, true);
- }
-
- if (req.getVersion() != null) {
- domElement.setAttributeNS(null, RequestAbstractType.VERSION_ATTRIB_NAME, req.getVersion().toString());
- }
-
- if (req.getIssueInstant() != null) {
- String iiStr = Configuration.getSAMLDateFormatter().print(req.getIssueInstant());
- domElement.setAttributeNS(null, RequestAbstractType.ISSUE_INSTANT_ATTRIB_NAME, iiStr);
- }
-
- if (req.getDestination() != null) {
- domElement.setAttributeNS(null, RequestAbstractType.DESTINATION_ATTRIB_NAME, req.getDestination());
- }
-
- if (req.getAssertionConsumerServiceURL() != null) {
- domElement.setAttributeNS(null, CustomRequestAbstractType.ASSERTION_CONSUMER_SERVICE_URL_ATTRIB_NAME, req.getAssertionConsumerServiceURL());
- }
-
- if (req.getConsent() != null) {
- domElement.setAttributeNS(null, RequestAbstractType.CONSENT_ATTRIB_NAME, req.getConsent());
- }
- }
+ /** {@inheritDoc} */
+ protected void marshallAttributes(XMLObject samlObject, Element domElement) throws MarshallingException {
+ CustomRequestAbstractType req = (CustomRequestAbstractType) samlObject;
+
+ if (req.getVersion() != null) {
+ domElement.setAttributeNS(null, RequestAbstractType.VERSION_ATTRIB_NAME, req.getVersion().toString());
+ }
+
+ if (req.getID() != null) {
+ domElement.setAttributeNS(null, RequestAbstractType.ID_ATTRIB_NAME, req.getID());
+ domElement.setIdAttributeNS(null, RequestAbstractType.ID_ATTRIB_NAME, true);
+ }
+
+ if (req.getVersion() != null) {
+ domElement.setAttributeNS(null, RequestAbstractType.VERSION_ATTRIB_NAME, req.getVersion().toString());
+ }
+
+ if (req.getIssueInstant() != null) {
+ String iiStr = Configuration.getSAMLDateFormatter().print(req.getIssueInstant());
+ domElement.setAttributeNS(null, RequestAbstractType.ISSUE_INSTANT_ATTRIB_NAME, iiStr);
+ }
+
+ if (req.getDestination() != null) {
+ domElement.setAttributeNS(null, RequestAbstractType.DESTINATION_ATTRIB_NAME, req.getDestination());
+ }
+
+ if (req.getAssertionConsumerServiceURL() != null) {
+ domElement.setAttributeNS(null, CustomRequestAbstractType.ASSERTION_CONSUMER_SERVICE_URL_ATTRIB_NAME, req.getAssertionConsumerServiceURL());
+ }
+
+ if (req.getConsent() != null) {
+ domElement.setAttributeNS(null, RequestAbstractType.CONSENT_ATTRIB_NAME, req.getConsent());
+ }
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryUnmarshaller.java
index e351b65b0..485d6656b 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/CustomAttributeQueryUnmarshaller.java
@@ -24,91 +24,88 @@ import eu.stork.peps.auth.engine.core.CustomAttributeQuery;
import eu.stork.peps.auth.engine.core.CustomRequestAbstractType;
public class CustomAttributeQueryUnmarshaller extends SubjectQueryUnmarshaller {
-
+
private final Logger log = LoggerFactory.getLogger(AbstractXMLObjectUnmarshaller.class);
+
+ /** {@inheritDoc} */
+ protected void processChildElement(XMLObject parentSAMLObject, XMLObject childSAMLObject) throws UnmarshallingException {
+ CustomAttributeQuery query = (CustomAttributeQuery) parentSAMLObject;
+
+ if (childSAMLObject instanceof Attribute) {
+ query.getAttributes().add((Attribute) childSAMLObject);
+ } else {
+ super.processChildElement(parentSAMLObject, childSAMLObject);
+ }
+ }
+
+ /** {@inheritDoc} */
+ public XMLObject unmarshall(Element domElement) throws UnmarshallingException {
+ if (log.isTraceEnabled()) {
+ log.trace("Starting to unmarshall DOM element {}", XMLHelper.getNodeQName(domElement));
+ }
+
+ checkElementIsTarget(domElement);
+
+ // String namespaceURI, String elementLocalName, String namespacePrefix
+ XMLObject xmlObject = new CustomAttributeQueryImpl(SAMLConstants.SAML20P_NS, CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME, SAMLConstants.SAML20P_PREFIX);
+
+ if (log.isTraceEnabled()) {
+ log.trace("Unmarshalling attributes of DOM Element {}", XMLHelper.getNodeQName(domElement));
+ }
+
+ NamedNodeMap attributes = domElement.getAttributes();
+ Node attribute;
+ for (int i = 0; i < attributes.getLength(); i++) {
+ attribute = attributes.item(i);
+
+ // These should allows be attribute nodes, but just in case...
+ if (attribute.getNodeType() == Node.ATTRIBUTE_NODE) {
+ unmarshallAttribute(xmlObject, (Attr) attribute);
+ }
+ }
+
+ if (log.isTraceEnabled()) {
+ log.trace("Unmarshalling other child nodes of DOM Element {}", XMLHelper.getNodeQName(domElement));
+ }
+
+ Node childNode = domElement.getFirstChild();
+ while (childNode != null) {
+
+ if (childNode.getNodeType() == Node.ATTRIBUTE_NODE) {
+ unmarshallAttribute(xmlObject, (Attr) childNode);
+ } else if (childNode.getNodeType() == Node.ELEMENT_NODE) {
+ unmarshallChildElement(xmlObject, (Element) childNode);
+ } else if (childNode.getNodeType() == Node.TEXT_NODE || childNode.getNodeType() == Node.CDATA_SECTION_NODE) {
+ unmarshallTextContent(xmlObject, (Text) childNode);
+ }
+
+ childNode = childNode.getNextSibling();
+ }
+
+ xmlObject.setDOM(domElement);
+ return xmlObject;
+ }
+
/** {@inheritDoc} */
- protected void processChildElement(XMLObject parentSAMLObject, XMLObject childSAMLObject)
- throws UnmarshallingException {
- CustomAttributeQuery query = (CustomAttributeQuery) parentSAMLObject;
-
- if (childSAMLObject instanceof Attribute) {
- query.getAttributes().add((Attribute) childSAMLObject);
- } else {
- super.processChildElement(parentSAMLObject, childSAMLObject);
- }
- }
-
- /** {@inheritDoc} */
- public XMLObject unmarshall(Element domElement) throws UnmarshallingException {
- if (log.isTraceEnabled()) {
- log.trace("Starting to unmarshall DOM element {}", XMLHelper.getNodeQName(domElement));
- }
-
- checkElementIsTarget(domElement);
-
- //String namespaceURI, String elementLocalName, String namespacePrefix
- XMLObject xmlObject = new CustomAttributeQueryImpl(SAMLConstants.SAML20P_NS, CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME,
- SAMLConstants.SAML20P_PREFIX);
-
- if (log.isTraceEnabled()) {
- log.trace("Unmarshalling attributes of DOM Element {}", XMLHelper.getNodeQName(domElement));
- }
-
- NamedNodeMap attributes = domElement.getAttributes();
- Node attribute;
- for (int i = 0; i < attributes.getLength(); i++) {
- attribute = attributes.item(i);
-
- // These should allows be attribute nodes, but just in case...
- if (attribute.getNodeType() == Node.ATTRIBUTE_NODE) {
- unmarshallAttribute(xmlObject, (Attr) attribute);
- }
- }
-
- if (log.isTraceEnabled()) {
- log.trace("Unmarshalling other child nodes of DOM Element {}", XMLHelper.getNodeQName(domElement));
- }
-
- Node childNode = domElement.getFirstChild();
- while (childNode != null) {
-
- if (childNode.getNodeType() == Node.ATTRIBUTE_NODE) {
- unmarshallAttribute(xmlObject, (Attr) childNode);
- } else if (childNode.getNodeType() == Node.ELEMENT_NODE) {
- unmarshallChildElement(xmlObject, (Element) childNode);
- } else if (childNode.getNodeType() == Node.TEXT_NODE
- || childNode.getNodeType() == Node.CDATA_SECTION_NODE) {
- unmarshallTextContent(xmlObject, (Text) childNode);
- }
-
- childNode = childNode.getNextSibling();
- }
-
- xmlObject.setDOM(domElement);
- return xmlObject;
- }
-
- /** {@inheritDoc} */
- protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
- CustomRequestAbstractType req = (CustomRequestAbstractType) samlObject;
-
- if (attribute.getLocalName().equals(RequestAbstractType.VERSION_ATTRIB_NAME)) {
- req.setVersion(SAMLVersion.valueOf(attribute.getValue()));
- } else if (attribute.getLocalName().equals(RequestAbstractType.ID_ATTRIB_NAME)) {
- req.setID(attribute.getValue());
- attribute.getOwnerElement().setIdAttributeNode(attribute, true);
- } else if (attribute.getLocalName().equals(RequestAbstractType.ISSUE_INSTANT_ATTRIB_NAME)
- && !DatatypeHelper.isEmpty(attribute.getValue())) {
- req.setIssueInstant(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
- } else if (attribute.getLocalName().equals(RequestAbstractType.DESTINATION_ATTRIB_NAME)) {
- req.setDestination(attribute.getValue());
- } else if (attribute.getLocalName().equals(RequestAbstractType.CONSENT_ATTRIB_NAME)) {
- req.setConsent(attribute.getValue());
- } else if (attribute.getLocalName().equals(CustomRequestAbstractType.ASSERTION_CONSUMER_SERVICE_URL_ATTRIB_NAME)) {
- req.setAssertionConsumerServiceURL(attribute.getValue());
- }else {
- super.processAttribute(samlObject, attribute);
- }
- }
+ protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
+ CustomRequestAbstractType req = (CustomRequestAbstractType) samlObject;
+
+ if (attribute.getLocalName().equals(RequestAbstractType.VERSION_ATTRIB_NAME)) {
+ req.setVersion(SAMLVersion.valueOf(attribute.getValue()));
+ } else if (attribute.getLocalName().equals(RequestAbstractType.ID_ATTRIB_NAME)) {
+ req.setID(attribute.getValue());
+ attribute.getOwnerElement().setIdAttributeNode(attribute, true);
+ } else if (attribute.getLocalName().equals(RequestAbstractType.ISSUE_INSTANT_ATTRIB_NAME) && !DatatypeHelper.isEmpty(attribute.getValue())) {
+ req.setIssueInstant(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
+ } else if (attribute.getLocalName().equals(RequestAbstractType.DESTINATION_ATTRIB_NAME)) {
+ req.setDestination(attribute.getValue());
+ } else if (attribute.getLocalName().equals(RequestAbstractType.CONSENT_ATTRIB_NAME)) {
+ req.setConsent(attribute.getValue());
+ } else if (attribute.getLocalName().equals(CustomRequestAbstractType.ASSERTION_CONSUMER_SERVICE_URL_ATTRIB_NAME)) {
+ req.setAssertionConsumerServiceURL(attribute.getValue());
+ } else {
+ super.processAttribute(samlObject, attribute);
+ }
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareBuilder.java
index 3f4fc633d..7c7a88b89 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareBuilder.java
@@ -24,8 +24,7 @@ import eu.stork.peps.auth.engine.core.EIDCrossBorderShare;
*
* @author fjquevedo
*/
-public class EIDCrossBorderShareBuilder extends AbstractSAMLObjectBuilder<EIDCrossBorderShare> {
-
+public class EIDCrossBorderShareBuilder extends AbstractSAMLObjectBuilder<EIDCrossBorderShare> {
/**
* Builds the object.
@@ -36,17 +35,18 @@ public class EIDCrossBorderShareBuilder extends AbstractSAMLObjectBuilder<EIDCro
return buildObject(EIDCrossBorderShare.DEF_ELEMENT_NAME);
}
-
/**
* Builds the object.
*
- * @param namespaceURI the namespace uri
- * @param localName the local name
- * @param namespacePrefix the namespace prefix
+ * @param namespaceURI
+ * the namespace uri
+ * @param localName
+ * the local name
+ * @param namespacePrefix
+ * the namespace prefix
* @return the eID cross border share
*/
- public final EIDCrossBorderShare buildObject(final String namespaceURI,
- final String localName, final String namespacePrefix) {
+ public final EIDCrossBorderShare buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
return new EIDCrossBorderShareImpl(namespaceURI, localName, namespacePrefix);
}
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareImpl.java
index 3827f5085..13cc3d287 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareImpl.java
@@ -29,59 +29,52 @@ import org.slf4j.LoggerFactory;
*
* @author fjquevedo
*/
-public class EIDCrossBorderShareImpl extends AbstractSAMLObject implements
- EIDCrossBorderShare {
+public class EIDCrossBorderShareImpl extends AbstractSAMLObject implements EIDCrossBorderShare {
- private static final Logger LOGGER = LoggerFactory.getLogger(EIDCrossBorderShareImpl.class.getName());
+ private static final Logger LOGGER = LoggerFactory.getLogger(EIDCrossBorderShareImpl.class.getName());
/** The citizen country code. */
- private String eIDCrossBorderShare;
+ private String eIDCrossBorderShare;
- /**
- * Instantiates a new eID cross border share implementation.
- *
- * @param namespaceURI the namespace URI
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected EIDCrossBorderShareImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- }
-
-
-
- /**
- * Gets the eID cross border share.
- *
- * @return the eID cross border share
- */
- public final String getEIDCrossBorderShare() {
- return eIDCrossBorderShare;
- }
+ /**
+ * Instantiates a new eID cross border share implementation.
+ *
+ * @param namespaceURI
+ * the namespace URI
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected EIDCrossBorderShareImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+ /**
+ * Gets the eID cross border share.
+ *
+ * @return the eID cross border share
+ */
+ public final String getEIDCrossBorderShare() {
+ return eIDCrossBorderShare;
+ }
- /**
- * Sets the eID cross border share.
- *
- * @param newEIDCrossBorderShare the new eID cross border share
- */
- public final void setEIDCrossBorderShare(String newEIDCrossBorderShare) {
- this.eIDCrossBorderShare = prepareForAssignment(this.eIDCrossBorderShare, newEIDCrossBorderShare);
- }
-
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- * {@inheritDoc}
- */
- public final List<XMLObject> getOrderedChildren() {
- return null;
- }
+ /**
+ * Sets the eID cross border share.
+ *
+ * @param newEIDCrossBorderShare
+ * the new eID cross border share
+ */
+ public final void setEIDCrossBorderShare(String newEIDCrossBorderShare) {
+ this.eIDCrossBorderShare = prepareForAssignment(this.eIDCrossBorderShare, newEIDCrossBorderShare);
+ }
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
-} \ No newline at end of file
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children {@inheritDoc}
+ */
+ public final List<XMLObject> getOrderedChildren() {
+ return null;
+ }
+
+}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareMarshaller.java
index c5e113013..2e8868ac1 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareMarshaller.java
@@ -23,7 +23,6 @@ import org.w3c.dom.Element;
import eu.stork.peps.auth.engine.core.EIDCrossBorderShare;
-
/**
* The Class EIDCrossBorderShareMarshaller.
*
@@ -31,16 +30,17 @@ import eu.stork.peps.auth.engine.core.EIDCrossBorderShare;
*/
public class EIDCrossBorderShareMarshaller extends AbstractSAMLObjectMarshaller {
-
/**
* Marshall element content.
*
- * @param samlObject the SAML object
- * @param domElement the DOM element
- * @throws MarshallingException the marshalling exception
+ * @param samlObject
+ * the SAML object
+ * @param domElement
+ * the DOM element
+ * @throws MarshallingException
+ * the marshalling exception
*/
- protected final void marshallElementContent(final XMLObject samlObject,
- final Element domElement) throws MarshallingException {
+ protected final void marshallElementContent(final XMLObject samlObject, final Element domElement) throws MarshallingException {
final EIDCrossBorderShare crossBorderShare = (EIDCrossBorderShare) samlObject;
XMLHelper.appendTextContent(domElement, crossBorderShare.getEIDCrossBorderShare());
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareUnmarshaller.java
index e74bee6ca..013b5b78b 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossBorderShareUnmarshaller.java
@@ -25,18 +25,17 @@ import eu.stork.peps.auth.engine.core.EIDCrossBorderShare;
*
* @author fjquevedo
*/
-public class EIDCrossBorderShareUnmarshaller extends
- AbstractSAMLObjectUnmarshaller {
-
+public class EIDCrossBorderShareUnmarshaller extends AbstractSAMLObjectUnmarshaller {
/**
* Process element content.
*
- * @param samlObject the SAML object
- * @param elementContent the element content
+ * @param samlObject
+ * the SAML object
+ * @param elementContent
+ * the element content
*/
- protected final void processElementContent(final XMLObject samlObject,
- final String elementContent) {
+ protected final void processElementContent(final XMLObject samlObject, final String elementContent) {
final EIDCrossBorderShare crossBorderShare = (EIDCrossBorderShare) samlObject;
crossBorderShare.setEIDCrossBorderShare(elementContent);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareBuilder.java
index 5e91e18fd..398815719 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareBuilder.java
@@ -24,29 +24,29 @@ import eu.stork.peps.auth.engine.core.EIDCrossSectorShare;
*
* @author fjquevedo
*/
-public class EIDCrossSectorShareBuilder extends
- AbstractSAMLObjectBuilder<EIDCrossSectorShare> {
+public class EIDCrossSectorShareBuilder extends AbstractSAMLObjectBuilder<EIDCrossSectorShare> {
- /**
- * Builds the object.
- *
- * @return the eID cross sector share
- */
- public final EIDCrossSectorShare buildObject() {
- return buildObject(EIDCrossSectorShare.DEF_ELEMENT_NAME);
- }
+ /**
+ * Builds the object.
+ *
+ * @return the eID cross sector share
+ */
+ public final EIDCrossSectorShare buildObject() {
+ return buildObject(EIDCrossSectorShare.DEF_ELEMENT_NAME);
+ }
- /**
- * Builds the object.
- *
- * @param namespaceURI the namespace uri
- * @param localName the local name
- * @param namespacePrefix the namespace prefix
- * @return the eID cross sector share implementation
- */
- public final EIDCrossSectorShareImpl buildObject(final String namespaceURI,
- final String localName, final String namespacePrefix) {
- return new EIDCrossSectorShareImpl(namespaceURI, localName,
- namespacePrefix);
- }
+ /**
+ * Builds the object.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param localName
+ * the local name
+ * @param namespacePrefix
+ * the namespace prefix
+ * @return the eID cross sector share implementation
+ */
+ public final EIDCrossSectorShareImpl buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new EIDCrossSectorShareImpl(namespaceURI, localName, namespacePrefix);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareImpl.java
index 7b2ad3dbd..2e3f6ab7e 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareImpl.java
@@ -25,65 +25,57 @@ import eu.stork.peps.auth.engine.core.EIDCrossSectorShare;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
/**
* The Class EIDCrossSectorShareImpl.
*
* @author fjquevedo
*/
-public class EIDCrossSectorShareImpl extends AbstractSAMLObject implements
- EIDCrossSectorShare {
+public class EIDCrossSectorShareImpl extends AbstractSAMLObject implements EIDCrossSectorShare {
- private static final Logger LOGGER = LoggerFactory.getLogger(EIDCrossSectorShareImpl.class.getName());
+ private static final Logger LOGGER = LoggerFactory.getLogger(EIDCrossSectorShareImpl.class.getName());
/** The citizen country code. */
- private String eIDCrossSectorShare;
+ private String eIDCrossSectorShare;
+ /**
+ * Instantiates a new eID cross sector share implementation.
+ *
+ * @param namespaceURI
+ * the namespace URI
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected EIDCrossSectorShareImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
- /**
- * Instantiates a new eID cross sector share implementation.
- *
- * @param namespaceURI the namespace URI
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected EIDCrossSectorShareImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- }
-
-
-
- /**
- * Gets the eID cross sector share.
- *
- * @return the eID cross sector share
- */
- public final String getEIDCrossSectorShare() {
- return eIDCrossSectorShare;
- }
+ /**
+ * Gets the eID cross sector share.
+ *
+ * @return the eID cross sector share
+ */
+ public final String getEIDCrossSectorShare() {
+ return eIDCrossSectorShare;
+ }
+ /**
+ * Sets the eID cross sector share.
+ *
+ * @param newEIDCrossSectorShare
+ * the new eID cross sector share
+ */
+ public final void setEIDCrossSectorShare(String newEIDCrossSectorShare) {
+ this.eIDCrossSectorShare = prepareForAssignment(this.eIDCrossSectorShare, newEIDCrossSectorShare);
+ }
- /**
- * Sets the eID cross sector share.
- *
- * @param newEIDCrossSectorShare the new eID cross sector share
- */
- public final void setEIDCrossSectorShare(String newEIDCrossSectorShare) {
- this.eIDCrossSectorShare = prepareForAssignment(this.eIDCrossSectorShare, newEIDCrossSectorShare);
- }
-
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- */
- public final List<XMLObject> getOrderedChildren() {
- return null;
- }
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children
+ */
+ public final List<XMLObject> getOrderedChildren() {
+ return null;
+ }
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
-} \ No newline at end of file
+}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareMarshaller.java
index 3ee9df698..caa2df56a 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareMarshaller.java
@@ -23,7 +23,6 @@ import org.w3c.dom.Element;
import eu.stork.peps.auth.engine.core.EIDCrossSectorShare;
-
/**
* The Class EIDCrossSectorShareMarshaller.
*
@@ -34,12 +33,14 @@ public class EIDCrossSectorShareMarshaller extends AbstractSAMLObjectMarshaller
/**
* Marshall element content.
*
- * @param samlObject the SAML object
- * @param domElement the DOM element
- * @throws MarshallingException the marshalling exception
+ * @param samlObject
+ * the SAML object
+ * @param domElement
+ * the DOM element
+ * @throws MarshallingException
+ * the marshalling exception
*/
- protected final void marshallElementContent(final XMLObject samlObject,
- final Element domElement) throws MarshallingException {
+ protected final void marshallElementContent(final XMLObject samlObject, final Element domElement) throws MarshallingException {
final EIDCrossSectorShare crossSectorShare = (EIDCrossSectorShare) samlObject;
XMLHelper.appendTextContent(domElement, crossSectorShare.getEIDCrossSectorShare());
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareUnmarshaller.java
index 94c7689be..ebf80e700 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDCrossSectorShareUnmarshaller.java
@@ -28,18 +28,19 @@ import eu.stork.peps.auth.engine.core.EIDCrossSectorShare;
*
* @author fjquevedo
*/
-public class EIDCrossSectorShareUnmarshaller extends
- AbstractSAMLObjectUnmarshaller {
+public class EIDCrossSectorShareUnmarshaller extends AbstractSAMLObjectUnmarshaller {
/**
* Process element content.
*
- * @param samlObject the SAML object
- * @param domElement the DOM element
- * @throws MarshallingException the marshalling exception
+ * @param samlObject
+ * the SAML object
+ * @param domElement
+ * the DOM element
+ * @throws MarshallingException
+ * the marshalling exception
*/
- protected final void processElementContent(final XMLObject samlObject,
- final String domElement) {
+ protected final void processElementContent(final XMLObject samlObject, final String domElement) {
final EIDCrossSectorShare crossSectorShare = (EIDCrossSectorShare) samlObject;
crossSectorShare.setEIDCrossSectorShare(domElement);
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareBuilder.java
index 230ff3ca4..670b6f33a 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareBuilder.java
@@ -24,28 +24,29 @@ import eu.stork.peps.auth.engine.core.EIDSectorShare;
*
* @author fjquevedo
*/
-public class EIDSectorShareBuilder extends
- AbstractSAMLObjectBuilder<EIDSectorShare> {
+public class EIDSectorShareBuilder extends AbstractSAMLObjectBuilder<EIDSectorShare> {
- /**
- * Builds the object.
- *
- * @return the eID sector share
- */
- public final EIDSectorShare buildObject() {
- return buildObject(EIDSectorShare.DEF_ELEMENT_NAME);
- }
+ /**
+ * Builds the object.
+ *
+ * @return the eID sector share
+ */
+ public final EIDSectorShare buildObject() {
+ return buildObject(EIDSectorShare.DEF_ELEMENT_NAME);
+ }
- /**
- * Builds the object.
- *
- * @param namespaceURI the namespace uri
- * @param localName the local name
- * @param namespacePrefix the namespace prefix
- * @return the eID sector share
- */
- public final EIDSectorShare buildObject(final String namespaceURI,
- final String localName, final String namespacePrefix) {
- return new EIDSectorShareImpl(namespaceURI, localName, namespacePrefix);
- }
+ /**
+ * Builds the object.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param localName
+ * the local name
+ * @param namespacePrefix
+ * the namespace prefix
+ * @return the eID sector share
+ */
+ public final EIDSectorShare buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new EIDSectorShareImpl(namespaceURI, localName, namespacePrefix);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareImpl.java
index 9ed726a32..f7c514722 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareImpl.java
@@ -30,56 +30,58 @@ import org.slf4j.LoggerFactory;
*
* @author fjquevedo
*/
-public class EIDSectorShareImpl extends AbstractSAMLObject implements
- EIDSectorShare {
+public class EIDSectorShareImpl extends AbstractSAMLObject implements EIDSectorShare {
- private static final Logger LOGGER = LoggerFactory.getLogger(EIDSectorShareImpl.class.getName());
-
- /** The e id sector share. */
- private String eIDSectorShare;
- /**
- * Instantiates a new eID sector share implementation.
- *
- * @param namespaceURI the namespace URI
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected EIDSectorShareImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- }
-
-
- /**
- * Gets the eID sector share.
- *
- * @return the eID sector share
- */
- public final String getEIDSectorShare() {
- return eIDSectorShare;
- }
+ private static final Logger LOGGER = LoggerFactory.getLogger(EIDSectorShareImpl.class.getName());
- /**
- * Sets the eID sector share.
- *
- * @param newEIDSectorShare the new eID sector share
- */
- public final void setEIDSectorShare(String newEIDSectorShare) {
- this.eIDSectorShare = prepareForAssignment(this.eIDSectorShare, newEIDSectorShare);
- }
-
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- */
- public final List<XMLObject> getOrderedChildren() {
- return null;
- }
+ /** The e id sector share. */
+ private String eIDSectorShare;
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
+ /**
+ * Instantiates a new eID sector share implementation.
+ *
+ * @param namespaceURI
+ * the namespace URI
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected EIDSectorShareImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+
+ /**
+ * Gets the eID sector share.
+ *
+ * @return the eID sector share
+ */
+ public final String getEIDSectorShare() {
+ return eIDSectorShare;
+ }
+
+ /**
+ * Sets the eID sector share.
+ *
+ * @param newEIDSectorShare
+ * the new eID sector share
+ */
+ public final void setEIDSectorShare(String newEIDSectorShare) {
+ this.eIDSectorShare = prepareForAssignment(this.eIDSectorShare, newEIDSectorShare);
+ }
+
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children
+ */
+ public final List<XMLObject> getOrderedChildren() {
+ return null;
+ }
+
+ @Override
+ public int hashCode() {
+ LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
+ return super.hashCode();
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareMarshaller.java
index 0ce449cd1..509503af0 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareMarshaller.java
@@ -34,12 +34,14 @@ public class EIDSectorShareMarshaller extends AbstractSAMLObjectMarshaller {
/**
* Marshall element content.
*
- * @param samlObject the SAML object
- * @param domElement the DOM element
- * @throws MarshallingException the marshalling exception
+ * @param samlObject
+ * the SAML object
+ * @param domElement
+ * the DOM element
+ * @throws MarshallingException
+ * the marshalling exception
*/
- protected final void marshallElementContent(final XMLObject samlObject,
- final Element domElement) throws MarshallingException {
+ protected final void marshallElementContent(final XMLObject samlObject, final Element domElement) throws MarshallingException {
final EIDSectorShare sectorShare = (EIDSectorShare) samlObject;
XMLHelper.appendTextContent(domElement, sectorShare.getEIDSectorShare());
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareUnmarshaller.java
index f7f00adb9..8e2f327c6 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/EIDSectorShareUnmarshaller.java
@@ -23,7 +23,6 @@ import org.w3c.dom.Element;
import eu.stork.peps.auth.engine.core.EIDSectorShare;
-
/**
* The Class EIDSectorShareUnmarshaller.
*
@@ -31,16 +30,17 @@ import eu.stork.peps.auth.engine.core.EIDSectorShare;
*/
public class EIDSectorShareUnmarshaller extends AbstractSAMLObjectUnmarshaller {
-
/**
* Process element content.
*
- * @param samlObject the SAML object
- * @param domElement the DOM element
- * @throws MarshallingException the marshalling exception
+ * @param samlObject
+ * the SAML object
+ * @param domElement
+ * the DOM element
+ * @throws MarshallingException
+ * the marshalling exception
*/
- protected final void processElementContent(final XMLObject samlObject,
- final String domElement) {
+ protected final void processElementContent(final XMLObject samlObject, final String domElement) {
final EIDSectorShare sectorShare = (EIDSectorShare) samlObject;
sectorShare.setEIDSectorShare(domElement);
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeBuilder.java
index 41676931b..deeb2ae56 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeBuilder.java
@@ -24,29 +24,29 @@ import eu.stork.peps.auth.engine.core.QAAAttribute;
*
* @author fjquevedo
*/
-public class QAAAttributeBuilder extends
- AbstractSAMLObjectBuilder<QAAAttribute> {
+public class QAAAttributeBuilder extends AbstractSAMLObjectBuilder<QAAAttribute> {
- /**
- * Builds the object.
- *
- * @return the quality authentication assurance object
- */
- public final QAAAttribute buildObject() {
- return buildObject(QAAAttribute.DEF_ELEMENT_NAME);
- }
+ /**
+ * Builds the object.
+ *
+ * @return the quality authentication assurance object
+ */
+ public final QAAAttribute buildObject() {
+ return buildObject(QAAAttribute.DEF_ELEMENT_NAME);
+ }
- /**
- * Builds the object.
- *
- * @param namespaceURI the namespace uri
- * @param localName the local name
- * @param namespacePrefix the namespace prefix
- * @return the quality authentication assurance object
-
- */
- public final QAAAttribute buildObject(final String namespaceURI,
- final String localName, final String namespacePrefix) {
- return new QAAAttributeImpl(namespaceURI, localName, namespacePrefix);
- }
+ /**
+ * Builds the object.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param localName
+ * the local name
+ * @param namespacePrefix
+ * the namespace prefix
+ * @return the quality authentication assurance object
+ */
+ public final QAAAttribute buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new QAAAttributeImpl(namespaceURI, localName, namespacePrefix);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeImpl.java
index 46f3bb402..e74ce1fec 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeImpl.java
@@ -29,56 +29,52 @@ import org.slf4j.LoggerFactory;
*
* @author fjquevedo
*/
-public class QAAAttributeImpl extends AbstractSAMLObject implements
- QAAAttribute {
+public class QAAAttributeImpl extends AbstractSAMLObject implements QAAAttribute {
- private static final Logger LOGGER = LoggerFactory.getLogger(QAAAttributeImpl.class.getName());
- /** The quality authentication assurance level. */
- private String qaaLevel;
+ private static final Logger LOGGER = LoggerFactory.getLogger(QAAAttributeImpl.class.getName());
+ /** The quality authentication assurance level. */
+ private String qaaLevel;
- /**
- * Constructor.
- *
- * @param namespaceURI the namespace the element is in
- * @param elementLocalName the local name of the XML element this Object
- * represents
- * @param namespacePrefix the prefix for the given namespace
- */
- protected QAAAttributeImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- }
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI
+ * the namespace the element is in
+ * @param elementLocalName
+ * the local name of the XML element this Object represents
+ * @param namespacePrefix
+ * the prefix for the given namespace
+ */
+ protected QAAAttributeImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
- /**
- * Gets the quality authentication assurance level.
- *
- * @return the quality authentication assurance level
- */
- public final String getQaaLevel() {
- return qaaLevel;
- }
+ /**
+ * Gets the quality authentication assurance level.
+ *
+ * @return the quality authentication assurance level
+ */
+ public final String getQaaLevel() {
+ return qaaLevel;
+ }
- /**
- * Sets the quality authentication assurance level.
- *
- * @param newQaaLevel the new quality authentication assurance level
- */
- public final void setQaaLevel(final String newQaaLevel) {
- this.qaaLevel = prepareForAssignment(this.qaaLevel, newQaaLevel);
- }
+ /**
+ * Sets the quality authentication assurance level.
+ *
+ * @param newQaaLevel
+ * the new quality authentication assurance level
+ */
+ public final void setQaaLevel(final String newQaaLevel) {
+ this.qaaLevel = prepareForAssignment(this.qaaLevel, newQaaLevel);
+ }
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- */
- public final List<XMLObject> getOrderedChildren() {
- return null;
- }
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children
+ */
+ public final List<XMLObject> getOrderedChildren() {
+ return null;
+ }
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeMarshaller.java
index 000879368..03a7a758a 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeMarshaller.java
@@ -30,16 +30,18 @@ import eu.stork.peps.auth.engine.core.QAAAttribute;
*/
public class QAAAttributeMarshaller extends AbstractSAMLObjectMarshaller {
- /**
- * Marshall element content.
- *
- * @param samlObject the SAML object
- * @param domElement the DOM element
- * @throws MarshallingException the marshalling exception
- */
- protected final void marshallElementContent(final XMLObject samlObject,
- final Element domElement) throws MarshallingException {
- final QAAAttribute qaaAttribute = (QAAAttribute) samlObject;
- XMLHelper.appendTextContent(domElement, qaaAttribute.getQaaLevel());
- }
+ /**
+ * Marshall element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param domElement
+ * the DOM element
+ * @throws MarshallingException
+ * the marshalling exception
+ */
+ protected final void marshallElementContent(final XMLObject samlObject, final Element domElement) throws MarshallingException {
+ final QAAAttribute qaaAttribute = (QAAAttribute) samlObject;
+ XMLHelper.appendTextContent(domElement, qaaAttribute.getQaaLevel());
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeUnmarshaller.java
index 8445e4eeb..1b9e813f0 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/QAAAttributeUnmarshaller.java
@@ -27,15 +27,16 @@ import eu.stork.peps.auth.engine.core.QAAAttribute;
*/
public class QAAAttributeUnmarshaller extends AbstractSAMLObjectUnmarshaller {
- /**
- * Process element content.
- *
- * @param samlObject the SAML object
- * @param elementContent the element content
- */
- protected final void processElementContent(final XMLObject samlObject,
- final String elementContent) {
- final QAAAttribute qaaLevel = (QAAAttribute) samlObject;
- qaaLevel.setQaaLevel(elementContent);
- }
+ /**
+ * Process element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param elementContent
+ * the element content
+ */
+ protected final void processElementContent(final XMLObject samlObject, final String elementContent) {
+ final QAAAttribute qaaLevel = (QAAAttribute) samlObject;
+ qaaLevel.setQaaLevel(elementContent);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeBuilder.java
index c9881c439..4367c4ecf 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeBuilder.java
@@ -24,31 +24,30 @@ import eu.stork.peps.auth.engine.core.RequestedAttribute;
*
* @author fjquevedo
*/
-public class RequestedAttributeBuilder extends
- AbstractSAMLObjectBuilder<RequestedAttribute> {
-
-
- /**
- * Builds the object.
- *
- * @return the requested attribute
- */
- public final RequestedAttribute buildObject() {
- return buildObject(RequestedAttribute.DEF_ELEMENT_NAME);
- }
-
- /**
- * Builds the object.
- *
- * @param namespaceURI the namespace uri
- * @param localName the local name
- * @param namespacePrefix the namespace prefix
- * @return the requested attribute
- */
- public final RequestedAttribute buildObject(final String namespaceURI,
- final String localName, final String namespacePrefix) {
- return new RequestedAttributeImpl(namespaceURI, localName,
- namespacePrefix);
- }
+public class RequestedAttributeBuilder extends AbstractSAMLObjectBuilder<RequestedAttribute> {
+
+ /**
+ * Builds the object.
+ *
+ * @return the requested attribute
+ */
+ public final RequestedAttribute buildObject() {
+ return buildObject(RequestedAttribute.DEF_ELEMENT_NAME);
+ }
+
+ /**
+ * Builds the object.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param localName
+ * the local name
+ * @param namespacePrefix
+ * the namespace prefix
+ * @return the requested attribute
+ */
+ public final RequestedAttribute buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new RequestedAttributeImpl(namespaceURI, localName, namespacePrefix);
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeImpl.java
index ac2e8a3ee..2537d3794 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeImpl.java
@@ -35,186 +35,182 @@ import org.slf4j.LoggerFactory;
*
* @author fjquevedo
*/
-public class RequestedAttributeImpl extends AbstractSAMLObject implements
- RequestedAttribute {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(RequestedAttributeImpl.class.getName());
- /**
- * The attribute values.
- */
- private final XMLObjectChildrenList<XMLObject> attributeValues;
-
- /**
- * The friendly name.
- *
- */
- private String friendlyName;
-
- /**
- * The is required.
- */
- private String isRequired;
-
- /**
- * The name.
- *
- */
- private String name;
-
- /**
- * The name format.
- *
- */
- private String nameFormat;
-
- /**
- * The unknown attributes.
- *
- */
- private AttributeMap unknownAttributes;
-
- /**
- * Instantiates a new requested attribute impl.
- *
- * @param namespaceURI the namespace uri
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected RequestedAttributeImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- unknownAttributes = new AttributeMap(this);
- attributeValues = new XMLObjectChildrenList<XMLObject>(this);
- }
-
-
- /**
- * Gets the attribute values.
- *
- * @return the attribute values
- */
- public final List<XMLObject> getAttributeValues() {
- return attributeValues;
- }
-
- /**
- * Gets the friendly name.
- *
- * @return the friendly name.
- */
- public final String getFriendlyName() {
- return friendlyName;
- }
-
-
- /**
- * Gets the checks if is required.
- *
- * @return the boolean if it's required.
- */
- public final String isRequired() {
- return isRequired;
- }
-
-
- /**
- * Gets the is required xs boolean.
- *
- * @return the XSBoolean if it's required.
- */
- public final String getIsRequiredXSBoolean() {
- return isRequired;
- }
-
-
- /**
- * Gets the name.
- *
- * @return the name
- */
- public final String getName() {
- return name;
- }
-
-
- /**
- * Gets the name format.
- *
- * @return the name format.
- */
- public final String getNameFormat() {
- return nameFormat;
- }
-
- /**
- * Gets the ordered children.
- *
- * @return the list of XMLObject.
- */
- public final List<XMLObject> getOrderedChildren() {
- final ArrayList<XMLObject> children = new ArrayList<XMLObject>();
- children.addAll(attributeValues);
- return Collections.unmodifiableList(children);
- }
-
- /**
- * Gets the unknown attributes.
- *
- * @return the attribute map
- */
- public final AttributeMap getUnknownAttributes() {
- return unknownAttributes;
- }
-
- /**
- * Sets the friendly name.
- *
- * @param newFriendlyName the new friendly name format
- */
- public final void setFriendlyName(final String newFriendlyName) {
- this.friendlyName = prepareForAssignment(this.friendlyName,
- newFriendlyName);
- }
-
- /**
- * Set new boolean value isRequired.
- * @param newIsRequired then new value
- */
- public final void setIsRequired(final String newIsRequired) {
- isRequired = prepareForAssignment(this.isRequired, newIsRequired);
-
- }
-
- /**
- * Sets the name.
- *
- * @param newName the new name
- */
- public final void setName(final String newName) {
- this.name = prepareForAssignment(this.name, newName);
- }
-
- /**
- * Sets the name format.
- *
- * @param newNameFormat the new name format
- */
- public final void setNameFormat(final String newNameFormat) {
- this.nameFormat = prepareForAssignment(this.nameFormat, newNameFormat);
- }
-
- /**
- * Sets the unknown attributes.
- *
- * @param newUnknownAttr the new unknown attributes
- */
- public final void setUnknownAttributes(final AttributeMap newUnknownAttr) {
- this.unknownAttributes = newUnknownAttr;
- }
-
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
+public class RequestedAttributeImpl extends AbstractSAMLObject implements RequestedAttribute {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(RequestedAttributeImpl.class.getName());
+ /**
+ * The attribute values.
+ */
+ private final XMLObjectChildrenList<XMLObject> attributeValues;
+
+ /**
+ * The friendly name.
+ *
+ */
+ private String friendlyName;
+
+ /**
+ * The is required.
+ */
+ private String isRequired;
+
+ /**
+ * The name.
+ *
+ */
+ private String name;
+
+ /**
+ * The name format.
+ *
+ */
+ private String nameFormat;
+
+ /**
+ * The unknown attributes.
+ *
+ */
+ private AttributeMap unknownAttributes;
+
+ /**
+ * Instantiates a new requested attribute impl.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected RequestedAttributeImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ unknownAttributes = new AttributeMap(this);
+ attributeValues = new XMLObjectChildrenList<XMLObject>(this);
+ }
+
+ /**
+ * Gets the attribute values.
+ *
+ * @return the attribute values
+ */
+ public final List<XMLObject> getAttributeValues() {
+ return attributeValues;
+ }
+
+ /**
+ * Gets the friendly name.
+ *
+ * @return the friendly name.
+ */
+ public final String getFriendlyName() {
+ return friendlyName;
+ }
+
+ /**
+ * Gets the checks if is required.
+ *
+ * @return the boolean if it's required.
+ */
+ public final String isRequired() {
+ return isRequired;
+ }
+
+ /**
+ * Gets the is required xs boolean.
+ *
+ * @return the XSBoolean if it's required.
+ */
+ public final String getIsRequiredXSBoolean() {
+ return isRequired;
+ }
+
+ /**
+ * Gets the name.
+ *
+ * @return the name
+ */
+ public final String getName() {
+ return name;
+ }
+
+ /**
+ * Gets the name format.
+ *
+ * @return the name format.
+ */
+ public final String getNameFormat() {
+ return nameFormat;
+ }
+
+ /**
+ * Gets the ordered children.
+ *
+ * @return the list of XMLObject.
+ */
+ public final List<XMLObject> getOrderedChildren() {
+ final ArrayList<XMLObject> children = new ArrayList<XMLObject>();
+ children.addAll(attributeValues);
+ return Collections.unmodifiableList(children);
+ }
+
+ /**
+ * Gets the unknown attributes.
+ *
+ * @return the attribute map
+ */
+ public final AttributeMap getUnknownAttributes() {
+ return unknownAttributes;
+ }
+
+ /**
+ * Sets the friendly name.
+ *
+ * @param newFriendlyName
+ * the new friendly name format
+ */
+ public final void setFriendlyName(final String newFriendlyName) {
+ this.friendlyName = prepareForAssignment(this.friendlyName, newFriendlyName);
+ }
+
+ /**
+ * Set new boolean value isRequired.
+ *
+ * @param newIsRequired
+ * then new value
+ */
+ public final void setIsRequired(final String newIsRequired) {
+ isRequired = prepareForAssignment(this.isRequired, newIsRequired);
+
+ }
+
+ /**
+ * Sets the name.
+ *
+ * @param newName
+ * the new name
+ */
+ public final void setName(final String newName) {
+ this.name = prepareForAssignment(this.name, newName);
+ }
+
+ /**
+ * Sets the name format.
+ *
+ * @param newNameFormat
+ * the new name format
+ */
+ public final void setNameFormat(final String newNameFormat) {
+ this.nameFormat = prepareForAssignment(this.nameFormat, newNameFormat);
+ }
+
+ /**
+ * Sets the unknown attributes.
+ *
+ * @param newUnknownAttr
+ * the new unknown attributes
+ */
+ public final void setUnknownAttributes(final AttributeMap newUnknownAttr) {
+ this.unknownAttributes = newUnknownAttr;
+ }
+
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeMarshaller.java
index 1a14a118a..4a9ec94b1 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeMarshaller.java
@@ -36,54 +36,44 @@ import eu.stork.peps.auth.engine.core.RequestedAttribute;
*/
public class RequestedAttributeMarshaller extends AbstractSAMLObjectMarshaller {
- /**
- * Marshall attributes.
- *
- * @param samlElement the SAML element
- * @param domElement the DOM element
- * @throws MarshallingException the marshalling exception
- */
- protected final void marshallAttributes(final XMLObject samlElement,
- final Element domElement) throws MarshallingException {
- final RequestedAttribute requestedAttr = (RequestedAttribute) samlElement;
+ /**
+ * Marshall attributes.
+ *
+ * @param samlElement
+ * the SAML element
+ * @param domElement
+ * the DOM element
+ * @throws MarshallingException
+ * the marshalling exception
+ */
+ protected final void marshallAttributes(final XMLObject samlElement, final Element domElement) throws MarshallingException {
+ final RequestedAttribute requestedAttr = (RequestedAttribute) samlElement;
- if (requestedAttr.getName() != null) {
- domElement.setAttributeNS(null,
- RequestedAttribute.NAME_ATTRIB_NAME, requestedAttr
- .getName());
- }
+ if (requestedAttr.getName() != null) {
+ domElement.setAttributeNS(null, RequestedAttribute.NAME_ATTRIB_NAME, requestedAttr.getName());
+ }
- if (requestedAttr.getNameFormat() != null) {
- domElement.setAttributeNS(null,
- RequestedAttribute.NAME_FORMAT_ATTR, requestedAttr
- .getNameFormat());
- }
+ if (requestedAttr.getNameFormat() != null) {
+ domElement.setAttributeNS(null, RequestedAttribute.NAME_FORMAT_ATTR, requestedAttr.getNameFormat());
+ }
- if (requestedAttr.getFriendlyName() != null) {
- domElement.setAttributeNS(null,
- RequestedAttribute.FRIENDLY_NAME_ATT, requestedAttr
- .getFriendlyName());
- }
+ if (requestedAttr.getFriendlyName() != null) {
+ domElement.setAttributeNS(null, RequestedAttribute.FRIENDLY_NAME_ATT, requestedAttr.getFriendlyName());
+ }
- if (requestedAttr.getIsRequiredXSBoolean() != null) {
- domElement.setAttributeNS(null,
- RequestedAttribute.IS_REQUIRED_ATTR, requestedAttr
- .getIsRequiredXSBoolean().toString());
- }
+ if (requestedAttr.getIsRequiredXSBoolean() != null) {
+ domElement.setAttributeNS(null, RequestedAttribute.IS_REQUIRED_ATTR, requestedAttr.getIsRequiredXSBoolean().toString());
+ }
- Attr attr;
- for (Entry<QName, String> entry : requestedAttr.getUnknownAttributes()
- .entrySet()) {
- attr = XMLHelper.constructAttribute(domElement.getOwnerDocument(),
- entry.getKey());
- attr.setValue(entry.getValue());
- domElement.setAttributeNodeNS(attr);
- if (Configuration.isIDAttribute(entry.getKey())
- || requestedAttr.getUnknownAttributes().isIDAttribute(
- entry.getKey())) {
- attr.getOwnerElement().setIdAttributeNode(attr, true);
- }
+ Attr attr;
+ for (Entry<QName, String> entry : requestedAttr.getUnknownAttributes().entrySet()) {
+ attr = XMLHelper.constructAttribute(domElement.getOwnerDocument(), entry.getKey());
+ attr.setValue(entry.getValue());
+ domElement.setAttributeNodeNS(attr);
+ if (Configuration.isIDAttribute(entry.getKey()) || requestedAttr.getUnknownAttributes().isIDAttribute(entry.getKey())) {
+ attr.getOwnerElement().setIdAttributeNode(attr, true);
+ }
+ }
}
- }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeUnmarshaller.java
index c07f852d9..098ece427 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributeUnmarshaller.java
@@ -33,64 +33,60 @@ import eu.stork.peps.auth.engine.core.SAMLCore;
*
* @author fjquevedo
*/
-public class RequestedAttributeUnmarshaller extends
- AbstractSAMLObjectUnmarshaller {
+public class RequestedAttributeUnmarshaller extends AbstractSAMLObjectUnmarshaller {
- /**
- * Process child element.
- *
- * @param parentSAMLObject parent SAMLObject
- * @param childSAMLObject child SAMLObject
- *
- * @throws UnmarshallingException error at unmarshall XML object
- */
- protected final void processChildElement(final XMLObject parentSAMLObject,
- final XMLObject childSAMLObject) throws UnmarshallingException {
+ /**
+ * Process child element.
+ *
+ * @param parentSAMLObject
+ * parent SAMLObject
+ * @param childSAMLObject
+ * child SAMLObject
+ *
+ * @throws UnmarshallingException
+ * error at unmarshall XML object
+ */
+ protected final void processChildElement(final XMLObject parentSAMLObject, final XMLObject childSAMLObject) throws UnmarshallingException {
- final RequestedAttribute requestedAttr = (RequestedAttribute) parentSAMLObject;
+ final RequestedAttribute requestedAttr = (RequestedAttribute) parentSAMLObject;
- final QName childQName = childSAMLObject.getElementQName();
- if (childQName.getLocalPart().equals("AttributeValue")
- && childQName.getNamespaceURI().equals(SAMLCore.STORK10_NS.getValue())) {
- requestedAttr.getAttributeValues().add(childSAMLObject);
- } else {
- super.processChildElement(parentSAMLObject, childSAMLObject);
+ final QName childQName = childSAMLObject.getElementQName();
+ if (childQName.getLocalPart().equals("AttributeValue") && childQName.getNamespaceURI().equals(SAMLCore.STORK10_NS.getValue())) {
+ requestedAttr.getAttributeValues().add(childSAMLObject);
+ } else {
+ super.processChildElement(parentSAMLObject, childSAMLObject);
+ }
}
- }
- /**
- * Process attribute.
- *
- * @param samlObject the SAML object
- * @param attribute the attribute
- * @throws UnmarshallingException the unmarshalling exception
- */
- protected final void processAttribute(final XMLObject samlObject,
- final Attr attribute) throws UnmarshallingException {
+ /**
+ * Process attribute.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param attribute
+ * the attribute
+ * @throws UnmarshallingException
+ * the unmarshalling exception
+ */
+ protected final void processAttribute(final XMLObject samlObject, final Attr attribute) throws UnmarshallingException {
- final RequestedAttribute requestedAttr = (RequestedAttribute) samlObject;
+ final RequestedAttribute requestedAttr = (RequestedAttribute) samlObject;
- if (attribute.getLocalName()
- .equals(RequestedAttribute.NAME_ATTRIB_NAME)) {
- requestedAttr.setName(attribute.getValue());
- } else if (attribute.getLocalName().equals(
- RequestedAttribute.NAME_FORMAT_ATTR)) {
- requestedAttr.setNameFormat(attribute.getValue());
- } else if (attribute.getLocalName().equals(
- RequestedAttribute.FRIENDLY_NAME_ATT)) {
- requestedAttr.setFriendlyName(attribute.getValue());
- } else if (attribute.getLocalName().equals(
- RequestedAttribute.IS_REQUIRED_ATTR)) {
- requestedAttr.setIsRequired(attribute
- .getValue());
+ if (attribute.getLocalName().equals(RequestedAttribute.NAME_ATTRIB_NAME)) {
+ requestedAttr.setName(attribute.getValue());
+ } else if (attribute.getLocalName().equals(RequestedAttribute.NAME_FORMAT_ATTR)) {
+ requestedAttr.setNameFormat(attribute.getValue());
+ } else if (attribute.getLocalName().equals(RequestedAttribute.FRIENDLY_NAME_ATT)) {
+ requestedAttr.setFriendlyName(attribute.getValue());
+ } else if (attribute.getLocalName().equals(RequestedAttribute.IS_REQUIRED_ATTR)) {
+ requestedAttr.setIsRequired(attribute.getValue());
- } else {
- final QName attribQName = XMLHelper.getNodeQName(attribute);
- if (attribute.isId()) {
- requestedAttr.getUnknownAttributes().registerID(attribQName);
- }
- requestedAttr.getUnknownAttributes().put(attribQName,
- attribute.getValue());
+ } else {
+ final QName attribQName = XMLHelper.getNodeQName(attribute);
+ if (attribute.isId()) {
+ requestedAttr.getUnknownAttributes().registerID(attribQName);
+ }
+ requestedAttr.getUnknownAttributes().put(attribQName, attribute.getValue());
+ }
}
- }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesBuilder.java
index d421c53d2..c9643d7ae 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesBuilder.java
@@ -24,31 +24,30 @@ import eu.stork.peps.auth.engine.core.RequestedAttributes;
*
* @author fjquevedo
*/
-public class RequestedAttributesBuilder extends
- AbstractSAMLObjectBuilder<RequestedAttributes> {
-
-
- /**
- * Builds the object.
- *
- * @return the requested attributes
- */
- public final RequestedAttributes buildObject() {
- return buildObject(RequestedAttributes.DEF_ELEMENT_NAME);
- }
-
- /**
- * Builds the object.
- *
- * @param namespaceURI the namespace uri
- * @param localName the local name
- * @param namespacePrefix the namespace prefix
- * @return the requested attributes
- */
- public final RequestedAttributes buildObject(final String namespaceURI,
- final String localName, final String namespacePrefix) {
- return new RequestedAttributesImpl(namespaceURI, localName,
- namespacePrefix);
- }
+public class RequestedAttributesBuilder extends AbstractSAMLObjectBuilder<RequestedAttributes> {
+
+ /**
+ * Builds the object.
+ *
+ * @return the requested attributes
+ */
+ public final RequestedAttributes buildObject() {
+ return buildObject(RequestedAttributes.DEF_ELEMENT_NAME);
+ }
+
+ /**
+ * Builds the object.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param localName
+ * the local name
+ * @param namespacePrefix
+ * the namespace prefix
+ * @return the requested attributes
+ */
+ public final RequestedAttributes buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new RequestedAttributesImpl(namespaceURI, localName, namespacePrefix);
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesImpl.java
index 0a5b37add..ad81e4846 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesImpl.java
@@ -31,65 +31,64 @@ import eu.stork.peps.auth.engine.core.RequestedAttributes;
*
* @author fjquevedo
*/
-public class RequestedAttributesImpl extends AbstractSAMLObject implements
- RequestedAttributes {
-
- /**
- * Instantiates a new requested attributes implement.
- *
- * @param namespaceURI the namespace URI
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected RequestedAttributesImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- indexedChildren = new IndexedXMLObjectChildrenList<XMLObject>(this);
- }
-
- /** The indexed children. */
- private final IndexedXMLObjectChildrenList<XMLObject> indexedChildren;
-
- /**
- * Gets the indexed children.
- *
- * @return the indexed children
- */
- public final IndexedXMLObjectChildrenList<XMLObject> getIndexedChildren() {
- return indexedChildren;
- }
-
-
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- */
- public final List<XMLObject> getOrderedChildren() {
-
- final ArrayList<XMLObject> children = new ArrayList<XMLObject>();
-
- children.addAll(indexedChildren);
-
- return Collections.unmodifiableList(children);
-
- }
-
- /**
- * Gets the attributes.
- *
- * @return the attributes
- *
- * @see eu.stork.peps.auth.engine.core.RequestedAttributes#getAttributes()
- */
- @SuppressWarnings("unchecked")
- public final List<RequestedAttribute> getAttributes() {
- return (List<RequestedAttribute>) indexedChildren
- .subList(RequestedAttribute.DEF_ELEMENT_NAME);
- }
-
- @Override
- public int hashCode() {
- throw new UnsupportedOperationException("hashCode method not implemented");
- }
+public class RequestedAttributesImpl extends AbstractSAMLObject implements RequestedAttributes {
+
+ /**
+ * Instantiates a new requested attributes implement.
+ *
+ * @param namespaceURI
+ * the namespace URI
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected RequestedAttributesImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ indexedChildren = new IndexedXMLObjectChildrenList<XMLObject>(this);
+ }
+
+ /** The indexed children. */
+ private final IndexedXMLObjectChildrenList<XMLObject> indexedChildren;
+
+ /**
+ * Gets the indexed children.
+ *
+ * @return the indexed children
+ */
+ public final IndexedXMLObjectChildrenList<XMLObject> getIndexedChildren() {
+ return indexedChildren;
+ }
+
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children
+ */
+ public final List<XMLObject> getOrderedChildren() {
+
+ final ArrayList<XMLObject> children = new ArrayList<XMLObject>();
+
+ children.addAll(indexedChildren);
+
+ return Collections.unmodifiableList(children);
+
+ }
+
+ /**
+ * Gets the attributes.
+ *
+ * @return the attributes
+ *
+ * @see eu.stork.peps.auth.engine.core.RequestedAttributes#getAttributes()
+ */
+ @SuppressWarnings("unchecked")
+ public final List<RequestedAttribute> getAttributes() {
+ return (List<RequestedAttribute>) indexedChildren.subList(RequestedAttribute.DEF_ELEMENT_NAME);
+ }
+
+ @Override
+ public int hashCode() {
+ throw new UnsupportedOperationException("hashCode method not implemented");
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesMarshaller.java
index dfc42adf3..e1b15015e 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesMarshaller.java
@@ -24,10 +24,10 @@ import org.opensaml.common.impl.AbstractSAMLObjectMarshaller;
*/
public class RequestedAttributesMarshaller extends AbstractSAMLObjectMarshaller {
- /**
- * Instantiates a new requested attributes marshaller.
- */
- public RequestedAttributesMarshaller() {
- super();
- }
+ /**
+ * Instantiates a new requested attributes marshaller.
+ */
+ public RequestedAttributesMarshaller() {
+ super();
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesUnmarshaller.java
index 41b3afa40..69990ebe5 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/RequestedAttributesUnmarshaller.java
@@ -27,26 +27,27 @@ import eu.stork.peps.auth.engine.core.RequestedAttributes;
*
* @author fjquevedo
*/
-public class RequestedAttributesUnmarshaller extends
- AbstractSAMLObjectUnmarshaller {
+public class RequestedAttributesUnmarshaller extends AbstractSAMLObjectUnmarshaller {
- /**
- * Process child element.
- *
- * @param parentObject the parent object
- * @param childObject the child object
- *
- * @throws UnmarshallingException error in unmarshall
- */
- protected final void processChildElement(final XMLObject parentObject,
- final XMLObject childObject) throws UnmarshallingException {
- final RequestedAttributes attrStatement = (RequestedAttributes) parentObject;
+ /**
+ * Process child element.
+ *
+ * @param parentObject
+ * the parent object
+ * @param childObject
+ * the child object
+ *
+ * @throws UnmarshallingException
+ * error in unmarshall
+ */
+ protected final void processChildElement(final XMLObject parentObject, final XMLObject childObject) throws UnmarshallingException {
+ final RequestedAttributes attrStatement = (RequestedAttributes) parentObject;
- if (childObject instanceof RequestedAttribute) {
- attrStatement.getAttributes().add((RequestedAttribute) childObject);
- } else {
- super.processChildElement(parentObject, childObject);
+ if (childObject instanceof RequestedAttribute) {
+ attrStatement.getAttributes().add((RequestedAttribute) childObject);
+ } else {
+ super.processChildElement(parentObject, childObject);
+ }
}
- }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationBuilder.java
index a35c77936..6d9f9bf1e 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationBuilder.java
@@ -24,28 +24,29 @@ import eu.stork.peps.auth.engine.core.SPApplication;
*
* @author fjquevedo
*/
-public class SPApplicationBuilder extends
- AbstractSAMLObjectBuilder<SPApplication> {
+public class SPApplicationBuilder extends AbstractSAMLObjectBuilder<SPApplication> {
- /**
- * Builds the object.
- *
- * @return the service provider application
- */
- public final SPApplication buildObject() {
- return buildObject(SPApplication.DEF_ELEMENT_NAME);
- }
+ /**
+ * Builds the object.
+ *
+ * @return the service provider application
+ */
+ public final SPApplication buildObject() {
+ return buildObject(SPApplication.DEF_ELEMENT_NAME);
+ }
- /**
- * Builds the object.
- *
- * @param namespaceURI the namespace uri
- * @param localName the local name
- * @param namespacePrefix the namespace prefix
- * @return the service provider application
- */
- public final SPApplication buildObject(final String namespaceURI,
- final String localName, final String namespacePrefix) {
- return new SPApplicationImpl(namespaceURI, localName, namespacePrefix);
- }
+ /**
+ * Builds the object.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param localName
+ * the local name
+ * @param namespacePrefix
+ * the namespace prefix
+ * @return the service provider application
+ */
+ public final SPApplication buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new SPApplicationImpl(namespaceURI, localName, namespacePrefix);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationImpl.java
index 0a428a521..7f09d611f 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationImpl.java
@@ -29,56 +29,52 @@ import org.slf4j.LoggerFactory;
*
* @author fjquevedo
*/
-public class SPApplicationImpl extends AbstractSAMLObject implements
- SPApplication {
+public class SPApplicationImpl extends AbstractSAMLObject implements SPApplication {
- private static final Logger LOGGER = LoggerFactory.getLogger(SPApplicationImpl.class.getName());
- /** The service provider application. */
- private String spApplication;
+ private static final Logger LOGGER = LoggerFactory.getLogger(SPApplicationImpl.class.getName());
+ /** The service provider application. */
+ private String spApplication;
- /**
- * Instantiates a new service provider application.
- *
- * @param namespaceURI the namespace uri
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected SPApplicationImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- }
+ /**
+ * Instantiates a new service provider application.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected SPApplicationImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
- /**
- * Gets the service provider application.
- *
- * @return the service provider application
- */
- public final String getSPApplication() {
- return spApplication;
- }
+ /**
+ * Gets the service provider application.
+ *
+ * @return the service provider application
+ */
+ public final String getSPApplication() {
+ return spApplication;
+ }
- /**
- * Sets the service provider application.
- *
- * @param newSpApplication the new service provider application
- */
- public final void setSPApplication(final String newSpApplication) {
- this.spApplication = prepareForAssignment(this.spApplication,
- newSpApplication);
- }
+ /**
+ * Sets the service provider application.
+ *
+ * @param newSpApplication
+ * the new service provider application
+ */
+ public final void setSPApplication(final String newSpApplication) {
+ this.spApplication = prepareForAssignment(this.spApplication, newSpApplication);
+ }
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- */
- public final List<XMLObject> getOrderedChildren() {
- return null;
- }
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children
+ */
+ public final List<XMLObject> getOrderedChildren() {
+ return null;
+ }
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationMarshaller.java
index 4866c3535..d9268c550 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationMarshaller.java
@@ -30,17 +30,18 @@ import eu.stork.peps.auth.engine.core.SPApplication;
*/
public class SPApplicationMarshaller extends AbstractSAMLObjectMarshaller {
- /**
- * Marshall element content.
- *
- * @param samlObject the SAML object
- * @param domElement the DOM element
- * @throws MarshallingException the marshalling exception
- */
- protected final void marshallElementContent(final XMLObject samlObject,
- final Element domElement) throws MarshallingException {
- final SPApplication spApplication = (SPApplication) samlObject;
- XMLHelper.appendTextContent(domElement, spApplication
- .getSPApplication());
- }
+ /**
+ * Marshall element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param domElement
+ * the DOM element
+ * @throws MarshallingException
+ * the marshalling exception
+ */
+ protected final void marshallElementContent(final XMLObject samlObject, final Element domElement) throws MarshallingException {
+ final SPApplication spApplication = (SPApplication) samlObject;
+ XMLHelper.appendTextContent(domElement, spApplication.getSPApplication());
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationUnmarshaller.java
index a28432a13..9fb514cf0 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPApplicationUnmarshaller.java
@@ -20,7 +20,6 @@ import org.opensaml.xml.XMLObject;
import eu.stork.peps.auth.engine.core.SPApplication;
-
/**
* The Class SPApplicationUnmarshaller.
*
@@ -28,15 +27,16 @@ import eu.stork.peps.auth.engine.core.SPApplication;
*/
public class SPApplicationUnmarshaller extends AbstractSAMLObjectUnmarshaller {
- /**
- * Process element content.
- *
- * @param samlObject the SAML object
- * @param elementContent the element content
- */
- protected final void processElementContent(final XMLObject samlObject,
- final String elementContent) {
- final SPApplication spApplication = (SPApplication) samlObject;
- spApplication.setSPApplication(elementContent);
- }
+ /**
+ * Process element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param elementContent
+ * the element content
+ */
+ protected final void processElementContent(final XMLObject samlObject, final String elementContent) {
+ final SPApplication spApplication = (SPApplication) samlObject;
+ spApplication.setSPApplication(elementContent);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryBuilder.java
index 48ec92f49..2c6c124e3 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryBuilder.java
@@ -26,27 +26,27 @@ import eu.stork.peps.auth.engine.core.SPCountry;
*/
public class SPCountryBuilder extends AbstractSAMLObjectBuilder<SPCountry> {
-
- /**
- * Builds the object SPCountry.
- *
- * @return the service provider country
- */
- public final SPCountry buildObject() {
- return buildObject(SPCountry.DEF_ELEMENT_NAME);
- }
+ /**
+ * Builds the object SPCountry.
+ *
+ * @return the service provider country
+ */
+ public final SPCountry buildObject() {
+ return buildObject(SPCountry.DEF_ELEMENT_NAME);
+ }
-
- /**
- * Builds the object SPCountry.
- *
- * @param namespaceURI the namespace uri
- * @param localName the local name
- * @param namespacePrefix the namespace prefix
- * @return the service provider country
- */
- public final SPCountry buildObject(final String namespaceURI,
- final String localName, final String namespacePrefix) {
- return new SPCountryImpl(namespaceURI, localName, namespacePrefix);
- }
+ /**
+ * Builds the object SPCountry.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param localName
+ * the local name
+ * @param namespacePrefix
+ * the namespace prefix
+ * @return the service provider country
+ */
+ public final SPCountry buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new SPCountryImpl(namespaceURI, localName, namespacePrefix);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryImpl.java
index 40a1ac86a..ea9085867 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryImpl.java
@@ -31,52 +31,50 @@ import org.slf4j.LoggerFactory;
*/
public class SPCountryImpl extends AbstractSAMLObject implements SPCountry {
- private static final Logger LOGGER = LoggerFactory.getLogger(SPCountryImpl.class.getName());
- /** The service provider country. */
- private String spCountry;
+ private static final Logger LOGGER = LoggerFactory.getLogger(SPCountryImpl.class.getName());
+ /** The service provider country. */
+ private String spCountry;
- /**
- * Instantiates a new service provider country.
- *
- * @param namespaceURI the namespace uri
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected SPCountryImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- }
+ /**
+ * Instantiates a new service provider country.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected SPCountryImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
- /**
- * Gets the service provider country.
- *
- * @return the service provider country
- */
- public final String getSPCountry() {
- return spCountry;
- }
+ /**
+ * Gets the service provider country.
+ *
+ * @return the service provider country
+ */
+ public final String getSPCountry() {
+ return spCountry;
+ }
- /**
- * Sets the service provider country.
- *
- * @param newSpCountry the new service provider country
- */
- public final void setSPCountry(final String newSpCountry) {
- this.spCountry = prepareForAssignment(this.spCountry, newSpCountry);
- }
+ /**
+ * Sets the service provider country.
+ *
+ * @param newSpCountry
+ * the new service provider country
+ */
+ public final void setSPCountry(final String newSpCountry) {
+ this.spCountry = prepareForAssignment(this.spCountry, newSpCountry);
+ }
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- */
- public final List<XMLObject> getOrderedChildren() {
- return null;
- }
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children
+ */
+ public final List<XMLObject> getOrderedChildren() {
+ return null;
+ }
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryMarshaller.java
index e82634749..1bd7121f0 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryMarshaller.java
@@ -30,16 +30,18 @@ import eu.stork.peps.auth.engine.core.SPCountry;
*/
public class SPCountryMarshaller extends AbstractSAMLObjectMarshaller {
- /**
- * Marshall element content.
- *
- * @param samlObject the SAML object
- * @param domElement the DOM element
- * @throws MarshallingException the marshalling exception
- */
- protected final void marshallElementContent(final XMLObject samlObject,
- final Element domElement) throws MarshallingException {
- final SPCountry spCountry = (SPCountry) samlObject;
- XMLHelper.appendTextContent(domElement, spCountry.getSPCountry());
- }
+ /**
+ * Marshall element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param domElement
+ * the DOM element
+ * @throws MarshallingException
+ * the marshalling exception
+ */
+ protected final void marshallElementContent(final XMLObject samlObject, final Element domElement) throws MarshallingException {
+ final SPCountry spCountry = (SPCountry) samlObject;
+ XMLHelper.appendTextContent(domElement, spCountry.getSPCountry());
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryUnmarshaller.java
index deb695ac6..c9ac243f1 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPCountryUnmarshaller.java
@@ -20,7 +20,6 @@ import org.opensaml.xml.XMLObject;
import eu.stork.peps.auth.engine.core.SPCountry;
-
/**
* The Class SPCountryUnmarshaller.
*
@@ -28,15 +27,16 @@ import eu.stork.peps.auth.engine.core.SPCountry;
*/
public class SPCountryUnmarshaller extends AbstractSAMLObjectUnmarshaller {
- /**
- * Process element content.
- *
- * @param samlObject the SAML object
- * @param elementContent the element content
- */
- protected final void processElementContent(final XMLObject samlObject,
- final String elementContent) {
- final SPCountry spCountry = (SPCountry) samlObject;
- spCountry.setSPCountry(elementContent);
- }
+ /**
+ * Process element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param elementContent
+ * the element content
+ */
+ protected final void processElementContent(final XMLObject samlObject, final String elementContent) {
+ final SPCountry spCountry = (SPCountry) samlObject;
+ spCountry.setSPCountry(elementContent);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDBuilder.java
index b3640947b..2cee08268 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDBuilder.java
@@ -26,25 +26,27 @@ import eu.stork.peps.auth.engine.core.SPID;
*/
public class SPIDBuilder extends AbstractSAMLObjectBuilder<SPID> {
- /**
- * Builds the object.
- *
- * @return the SP ID
- */
- public final SPID buildObject() {
- return buildObject(SPID.DEF_ELEMENT_NAME);
- }
+ /**
+ * Builds the object.
+ *
+ * @return the SP ID
+ */
+ public final SPID buildObject() {
+ return buildObject(SPID.DEF_ELEMENT_NAME);
+ }
- /**
- * Builds the object.
- *
- * @param namespaceURI the namespace uri
- * @param localName the local name
- * @param namespacePrefix the namespace prefix
- * @return the citizen country code
- */
- public final SPID buildObject(final String namespaceURI,
- final String localName, final String namespacePrefix) {
- return new SPIDImpl(namespaceURI, localName, namespacePrefix);
- }
+ /**
+ * Builds the object.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param localName
+ * the local name
+ * @param namespacePrefix
+ * the namespace prefix
+ * @return the citizen country code
+ */
+ public final SPID buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new SPIDImpl(namespaceURI, localName, namespacePrefix);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDImpl.java
index 68611997b..03dea20ed 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDImpl.java
@@ -31,52 +31,50 @@ import org.slf4j.LoggerFactory;
*/
public class SPIDImpl extends AbstractSAMLObject implements SPID {
- private static final Logger LOGGER = LoggerFactory.getLogger(SPIDImpl.class.getName());
- /** The citizen country code. */
- private String spId;
-
- /**
- * Instantiates a new sP country impl.
- *
- * @param namespaceURI the namespace uri
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected SPIDImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- }
+ private static final Logger LOGGER = LoggerFactory.getLogger(SPIDImpl.class.getName());
+ /** The citizen country code. */
+ private String spId;
- /**
- * Gets the SP ID.
- *
- * @return the SP ID
- */
- public final String getSPID() {
- return spId;
- }
+ /**
+ * Instantiates a new sP country impl.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected SPIDImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
- /**
- * Sets the SP ID.
- *
- * @param newSPID the new SP ID
- */
- public final void setSPID(final String newSPID) {
- this.spId = prepareForAssignment(this.spId, newSPID);
- }
+ /**
+ * Gets the SP ID.
+ *
+ * @return the SP ID
+ */
+ public final String getSPID() {
+ return spId;
+ }
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- */
- public final List<XMLObject> getOrderedChildren() {
- return null;
- }
+ /**
+ * Sets the SP ID.
+ *
+ * @param newSPID
+ * the new SP ID
+ */
+ public final void setSPID(final String newSPID) {
+ this.spId = prepareForAssignment(this.spId, newSPID);
+ }
+
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children
+ */
+ public final List<XMLObject> getOrderedChildren() {
+ return null;
+ }
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDMarshaller.java
index 24389522e..d8cac34fc 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDMarshaller.java
@@ -30,16 +30,18 @@ import eu.stork.peps.auth.engine.core.SPID;
*/
public class SPIDMarshaller extends AbstractSAMLObjectMarshaller {
- /**
- * Marshall element content.
- *
- * @param samlObject the SAML object
- * @param domElement the DOM element
- * @throws MarshallingException the marshalling exception
- */
- protected final void marshallElementContent(final XMLObject samlObject,
- final Element domElement) throws MarshallingException {
- final SPID spid = (SPID) samlObject;
- XMLHelper.appendTextContent(domElement, spid.getSPID());
- }
+ /**
+ * Marshall element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param domElement
+ * the DOM element
+ * @throws MarshallingException
+ * the marshalling exception
+ */
+ protected final void marshallElementContent(final XMLObject samlObject, final Element domElement) throws MarshallingException {
+ final SPID spid = (SPID) samlObject;
+ XMLHelper.appendTextContent(domElement, spid.getSPID());
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDUnmarshaller.java
index e4d230b94..ab3aef878 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPIDUnmarshaller.java
@@ -27,15 +27,16 @@ import eu.stork.peps.auth.engine.core.SPID;
*/
public class SPIDUnmarshaller extends AbstractSAMLObjectUnmarshaller {
- /**
- * Process element content.
- *
- * @param samlObject the SAML object
- * @param elementContent the element content
- */
- protected final void processElementContent(final XMLObject samlObject,
- final String elementContent) {
- final SPID spid = (SPID) samlObject;
- spid.setSPID(elementContent);
- }
+ /**
+ * Process element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param elementContent
+ * the element content
+ */
+ protected final void processElementContent(final XMLObject samlObject, final String elementContent) {
+ final SPID spid = (SPID) samlObject;
+ spid.setSPID(elementContent);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationBuilder.java
index a6e1fe686..af7c97d19 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationBuilder.java
@@ -26,16 +26,15 @@ import eu.stork.peps.auth.engine.core.SPInformation;
* @author iinigo
*/
public final class SPInformationBuilder extends AbstractSAMLObjectBuilder<SPInformation> {
-
- /** {@inheritDoc} */
- public SPInformation buildObject() {
- return buildObject(SAMLCore.STORK10P_NS.getValue(), SPInformation.DEF_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
- }
+ /** {@inheritDoc} */
+ public SPInformation buildObject() {
+ return buildObject(SAMLCore.STORK10P_NS.getValue(), SPInformation.DEF_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+ }
+
+ /** {@inheritDoc} */
+ public SPInformation buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new SPInformationImpl(namespaceURI, localName, namespacePrefix);
+ }
- /** {@inheritDoc} */
- public SPInformation buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
- return new SPInformationImpl(namespaceURI, localName, namespacePrefix);
- }
-
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationImpl.java
index ff6e90999..41b3d8998 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationImpl.java
@@ -27,84 +27,78 @@ import eu.stork.peps.auth.engine.core.SPInformation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
/**
* The Class SPInformationImpl.
*
* @author iinigo
*/
-public final class SPInformationImpl extends AbstractSignableSAMLObject implements
-SPInformation {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(SPInformationImpl.class.getName());
- /** The citizen country code. */
- private SPID spId;
-
-
+public final class SPInformationImpl extends AbstractSignableSAMLObject implements SPInformation {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(SPInformationImpl.class.getName());
+ /** The citizen country code. */
+ private SPID spId;
+
+ /**
+ * Instantiates a new requested attributes implement.
+ *
+ * @param namespaceURI
+ * the namespace URI
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected SPInformationImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+
+ /**
+ * getSPId.
+ *
+ * @return the SP ID
+ */
+ public SPID getSPID() {
+ return spId;
+ }
+
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children
+ *
+ */
+ public List<XMLObject> getOrderedChildren() {
+ final ArrayList<XMLObject> children = new ArrayList<XMLObject>();
+
+ children.add(spId);
+
+ if (getSignature() != null) {
+ children.add(getSignature());
+ }
+
+ return Collections.unmodifiableList(children);
+
+ }
+
/**
- * Instantiates a new requested attributes implement.
- *
- * @param namespaceURI the namespace URI
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected SPInformationImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- }
-
-
- /**
- * getSPId.
- *
- * @return the SP ID
- */
- public SPID getSPID() {
- return spId;
- }
-
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- *
- */
- public List<XMLObject> getOrderedChildren() {
- final ArrayList<XMLObject> children = new ArrayList<XMLObject>();
-
- children.add(spId);
-
- if (getSignature() != null) {
- children.add(getSignature());
+ * Gets the signature reference id.
+ *
+ * @return the signature reference id
+ *
+ */
+ public String getSignatureReferenceID() {
+ return null;
}
-
- return Collections.unmodifiableList(children);
-
- }
-
- /**
- * Gets the signature reference id.
- *
- * @return the signature reference id
- *
- */
- public String getSignatureReferenceID() {
- return null;
- }
-
- /**
- * Sets the SP Id.
- *
- * @param newSPId the new SP Id
- *
- */
- public void setSPID(SPID newSPId) {
- this.spId = prepareForAssignment(this.spId, newSPId);
- }
-
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
+
+ /**
+ * Sets the SP Id.
+ *
+ * @param newSPId
+ * the new SP Id
+ *
+ */
+ public void setSPID(SPID newSPId) {
+ this.spId = prepareForAssignment(this.spId, newSPId);
+ }
+
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationMarshaller.java
index 44845948c..027e49e9d 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationMarshaller.java
@@ -24,10 +24,10 @@ import org.opensaml.common.impl.AbstractSAMLObjectMarshaller;
*/
public class SPInformationMarshaller extends AbstractSAMLObjectMarshaller {
- /**
- * Instantiates a new SP Information marshaller.
- */
- public SPInformationMarshaller() {
- super();
- }
+ /**
+ * Instantiates a new SP Information marshaller.
+ */
+ public SPInformationMarshaller() {
+ super();
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationUnmarshaller.java
index 414b93386..ecf69e2c7 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInformationUnmarshaller.java
@@ -27,26 +27,27 @@ import eu.stork.peps.auth.engine.core.SPInformation;
*
* @author iinigo
*/
-public class SPInformationUnmarshaller extends
- AbstractSAMLObjectUnmarshaller {
+public class SPInformationUnmarshaller extends AbstractSAMLObjectUnmarshaller {
- /**
- * Process child element.
- *
- * @param parentObject the parent object
- * @param childObject the child object
- *
- * @throws UnmarshallingException the unmarshalling exception
- *
- */
- protected final void processChildElement(final XMLObject parentObject,
- final XMLObject childObject) throws UnmarshallingException {
- final SPInformation spInformation = (SPInformation) parentObject;
+ /**
+ * Process child element.
+ *
+ * @param parentObject
+ * the parent object
+ * @param childObject
+ * the child object
+ *
+ * @throws UnmarshallingException
+ * the unmarshalling exception
+ *
+ */
+ protected final void processChildElement(final XMLObject parentObject, final XMLObject childObject) throws UnmarshallingException {
+ final SPInformation spInformation = (SPInformation) parentObject;
- if (childObject instanceof SPID) {
- spInformation.setSPID((SPID) childObject);
- } else {
- super.processChildElement(parentObject, childObject);
- }
- }
+ if (childObject instanceof SPID) {
+ spInformation.setSPID((SPID) childObject);
+ } else {
+ super.processChildElement(parentObject, childObject);
+ }
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionBuilder.java
index fe47cf99c..d26b15a1e 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionBuilder.java
@@ -24,28 +24,29 @@ import eu.stork.peps.auth.engine.core.SPInstitution;
*
* @author fjquevedo
*/
-public class SPInstitutionBuilder extends
- AbstractSAMLObjectBuilder<SPInstitution> {
+public class SPInstitutionBuilder extends AbstractSAMLObjectBuilder<SPInstitution> {
- /**
- * Builds the object.
- *
- * @return the service provider institution
- */
- public final SPInstitution buildObject() {
- return buildObject(SPInstitution.DEF_ELEMENT_NAME);
- }
+ /**
+ * Builds the object.
+ *
+ * @return the service provider institution
+ */
+ public final SPInstitution buildObject() {
+ return buildObject(SPInstitution.DEF_ELEMENT_NAME);
+ }
- /**
- * Builds the object SPInstitution.
- *
- * @param namespaceURI the namespace uri
- * @param localName the local name
- * @param namespacePrefix the namespace prefix
- * @return the service provider institution
- */
- public final SPInstitution buildObject(final String namespaceURI,
- final String localName, final String namespacePrefix) {
- return new SPInstitutionImpl(namespaceURI, localName, namespacePrefix);
- }
+ /**
+ * Builds the object SPInstitution.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param localName
+ * the local name
+ * @param namespacePrefix
+ * the namespace prefix
+ * @return the service provider institution
+ */
+ public final SPInstitution buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new SPInstitutionImpl(namespaceURI, localName, namespacePrefix);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionImpl.java
index 38438613a..ed0a75f35 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionImpl.java
@@ -29,56 +29,52 @@ import org.slf4j.LoggerFactory;
*
* @author fjquevedo
*/
-public class SPInstitutionImpl extends AbstractSAMLObject implements
- SPInstitution {
+public class SPInstitutionImpl extends AbstractSAMLObject implements SPInstitution {
- private static final Logger LOGGER = LoggerFactory.getLogger(SPInstitutionImpl.class.getName());
- /** The service provider institution. */
- private String spInstitution;
+ private static final Logger LOGGER = LoggerFactory.getLogger(SPInstitutionImpl.class.getName());
+ /** The service provider institution. */
+ private String spInstitution;
- /**
- * Instantiates a new service provider institution.
- *
- * @param namespaceURI the namespace uri
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected SPInstitutionImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- }
+ /**
+ * Instantiates a new service provider institution.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected SPInstitutionImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
- /**
- * Gets the service provider institution.
- *
- * @return the service provider institution
- */
- public final String getSPInstitution() {
- return spInstitution;
- }
+ /**
+ * Gets the service provider institution.
+ *
+ * @return the service provider institution
+ */
+ public final String getSPInstitution() {
+ return spInstitution;
+ }
- /**
- * Sets the service provider institution.
- *
- * @param newSpInstitution the new service provider institution
- */
- public final void setSPInstitution(final String newSpInstitution) {
- this.spInstitution = prepareForAssignment(this.spInstitution,
- newSpInstitution);
- }
+ /**
+ * Sets the service provider institution.
+ *
+ * @param newSpInstitution
+ * the new service provider institution
+ */
+ public final void setSPInstitution(final String newSpInstitution) {
+ this.spInstitution = prepareForAssignment(this.spInstitution, newSpInstitution);
+ }
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- */
- public final List<XMLObject> getOrderedChildren() {
- return null;
- }
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children
+ */
+ public final List<XMLObject> getOrderedChildren() {
+ return null;
+ }
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
- }
+}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionMarshaller.java
index 504a1f035..48bb3fec5 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionMarshaller.java
@@ -30,17 +30,18 @@ import eu.stork.peps.auth.engine.core.SPInstitution;
*/
public class SPInstitutionMarshaller extends AbstractSAMLObjectMarshaller {
- /**
- * Marshall element content.
- *
- * @param samlObject the SAML object
- * @param domElement the DOM element
- * @throws MarshallingException the marshalling exception
- */
- protected final void marshallElementContent(final XMLObject samlObject,
- final Element domElement) throws MarshallingException {
- final SPInstitution spInstitution = (SPInstitution) samlObject;
- XMLHelper.appendTextContent(domElement, spInstitution
- .getSPInstitution());
- }
+ /**
+ * Marshall element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param domElement
+ * the DOM element
+ * @throws MarshallingException
+ * the marshalling exception
+ */
+ protected final void marshallElementContent(final XMLObject samlObject, final Element domElement) throws MarshallingException {
+ final SPInstitution spInstitution = (SPInstitution) samlObject;
+ XMLHelper.appendTextContent(domElement, spInstitution.getSPInstitution());
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionUnmarshaller.java
index 103d5f2b2..f7b1f440e 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPInstitutionUnmarshaller.java
@@ -27,15 +27,16 @@ import eu.stork.peps.auth.engine.core.SPInstitution;
*/
public class SPInstitutionUnmarshaller extends AbstractSAMLObjectUnmarshaller {
- /**
- * Process element content.
- *
- * @param samlObject the SAML object
- * @param elementContent the element content
- */
- protected final void processElementContent(final XMLObject samlObject,
- final String elementContent) {
- final SPInstitution spInstitution = (SPInstitution) samlObject;
- spInstitution.setSPInstitution(elementContent);
- }
+ /**
+ * Process element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param elementContent
+ * the element content
+ */
+ protected final void processElementContent(final XMLObject samlObject, final String elementContent) {
+ final SPInstitution spInstitution = (SPInstitution) samlObject;
+ spInstitution.setSPInstitution(elementContent);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorBuilder.java
index a691b9008..b97e91b36 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorBuilder.java
@@ -26,25 +26,27 @@ import eu.stork.peps.auth.engine.core.SPSector;
*/
public class SPSectorBuilder extends AbstractSAMLObjectBuilder<SPSector> {
- /**
- * Builds the object SPSector.
- *
- * @return the service provider sector.
- */
- public final SPSector buildObject() {
- return buildObject(SPSector.DEF_ELEMENT_NAME);
- }
+ /**
+ * Builds the object SPSector.
+ *
+ * @return the service provider sector.
+ */
+ public final SPSector buildObject() {
+ return buildObject(SPSector.DEF_ELEMENT_NAME);
+ }
- /**
- * Builds the object SPSector.
- *
- * @param namespaceURI the namespace uri
- * @param localName the local name
- * @param namespacePrefix the namespace prefix
- * @return the service provider sector
- */
- public final SPSector buildObject(final String namespaceURI,
- final String localName, final String namespacePrefix) {
- return new SPSectorImpl(namespaceURI, localName, namespacePrefix);
- }
+ /**
+ * Builds the object SPSector.
+ *
+ * @param namespaceURI
+ * the namespace uri
+ * @param localName
+ * the local name
+ * @param namespacePrefix
+ * the namespace prefix
+ * @return the service provider sector
+ */
+ public final SPSector buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new SPSectorImpl(namespaceURI, localName, namespacePrefix);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorImpl.java
index 4ac822876..670198e67 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorImpl.java
@@ -22,7 +22,6 @@ import org.opensaml.xml.XMLObject;
import eu.stork.peps.auth.engine.core.SPSector;
-
/**
* The Class SPSectorImpl.
*
@@ -30,55 +29,55 @@ import eu.stork.peps.auth.engine.core.SPSector;
*/
public class SPSectorImpl extends AbstractSAMLObject implements SPSector {
- /** The service provider sector. */
- private String spSector;
+ /** The service provider sector. */
+ private String spSector;
- /**
- * Instantiates a new Service provider sector implementation.
- *
- * @param namespaceURI the namespace URI
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected SPSectorImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- }
+ /**
+ * Instantiates a new Service provider sector implementation.
+ *
+ * @param namespaceURI
+ * the namespace URI
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected SPSectorImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
-
- /**
- * Gets the service provider sector.
- *
- * @return the SP sector
- *
- * @see eu.stork.peps.auth.engine.core.SPSector#getSPSector()
- */
- public final String getSPSector() {
- return spSector;
- }
+ /**
+ * Gets the service provider sector.
+ *
+ * @return the SP sector
+ *
+ * @see eu.stork.peps.auth.engine.core.SPSector#getSPSector()
+ */
+ public final String getSPSector() {
+ return spSector;
+ }
-
- /**
- * Sets the service provider sector.
- *
- * @param newSpSector the new service provider sector
- */
- public final void setSPSector(final String newSpSector) {
- this.spSector = prepareForAssignment(this.spSector, newSpSector);
- }
+ /**
+ * Sets the service provider sector.
+ *
+ * @param newSpSector
+ * the new service provider sector
+ */
+ public final void setSPSector(final String newSpSector) {
+ this.spSector = prepareForAssignment(this.spSector, newSpSector);
+ }
-
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- */
- public final List<XMLObject> getOrderedChildren() {
- return null;
- }
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children
+ */
+ public final List<XMLObject> getOrderedChildren() {
+ return null;
+ }
- @Override
- public int hashCode() {
- throw new UnsupportedOperationException("hashCode method not implemented");
- }
+ @Override
+ public int hashCode() {
+ throw new UnsupportedOperationException("hashCode method not implemented");
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorMarshaller.java
index c5331e8f4..59e349f9f 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorMarshaller.java
@@ -30,16 +30,18 @@ import eu.stork.peps.auth.engine.core.SPSector;
*/
public class SPSectorMarshaller extends AbstractSAMLObjectMarshaller {
- /**
- * Marshall element content.
- *
- * @param samlObject the SAML object
- * @param domElement the DOM element
- * @throws MarshallingException the marshalling exception
- */
- protected final void marshallElementContent(final XMLObject samlObject,
- final Element domElement) throws MarshallingException {
- final SPSector spSector = (SPSector) samlObject;
- XMLHelper.appendTextContent(domElement, spSector.getSPSector());
- }
+ /**
+ * Marshall element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param domElement
+ * the DOM element
+ * @throws MarshallingException
+ * the marshalling exception
+ */
+ protected final void marshallElementContent(final XMLObject samlObject, final Element domElement) throws MarshallingException {
+ final SPSector spSector = (SPSector) samlObject;
+ XMLHelper.appendTextContent(domElement, spSector.getSPSector());
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorUnmarshaller.java
index cbb05c6e5..e671cee03 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SPSectorUnmarshaller.java
@@ -27,16 +27,16 @@ import eu.stork.peps.auth.engine.core.SPSector;
*/
public class SPSectorUnmarshaller extends AbstractSAMLObjectUnmarshaller {
-
- /**
- * Process element content.
- *
- * @param samlObject the SAML object
- * @param elementContent the element content
- */
- protected final void processElementContent(final XMLObject samlObject,
- final String elementContent) {
- final SPSector spSector = (SPSector) samlObject;
- spSector.setSPSector(elementContent);
- }
+ /**
+ * Process element content.
+ *
+ * @param samlObject
+ * the SAML object
+ * @param elementContent
+ * the element content
+ */
+ protected final void processElementContent(final XMLObject samlObject, final String elementContent) {
+ final SPSector spSector = (SPSector) samlObject;
+ spSector.setSPSector(elementContent);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignHW.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignHW.java
index 80796ea86..1cd5fb761 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignHW.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignHW.java
@@ -64,8 +64,6 @@ import org.opensaml.xml.validation.ValidationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
-
import eu.stork.peps.auth.engine.core.CustomAttributeQuery;
import eu.stork.peps.auth.engine.core.SAMLEngineSignI;
import eu.stork.peps.exceptions.SAMLEngineException;
@@ -74,395 +72,324 @@ import eu.stork.peps.exceptions.SAMLEngineException;
* The Class HWSign. Module of sign.
*
* @author fjquevedo
+ * @author advania
*/
public final class SignHW implements SAMLEngineSignI {
- /** The Constant CONFIGURATION_FILE. */
- private static final String CONF_FILE = "configurationFile";
-
- /** The Constant KEYSTORE_TYPE.
- private static final String KEYSTORE_TYPE = "keystoreType" */
-
- /** The logger. */
- private static final Logger LOG = LoggerFactory.getLogger(SignHW.class
- .getName());
-
- /** The stork own key store. */
- private KeyStore storkOwnKeyStore = null;
-
- /**
- * Gets the stork own key store.
- *
- * @return the stork own key store
- */
- public KeyStore getStorkOwnKeyStore() {
- return storkOwnKeyStore;
- }
-
- /**
- * Gets the stork trustStore.
- *
- * @return the stork own key store
- */
- public KeyStore getTrustStore() {
- return storkOwnKeyStore;
- }
-
- /**
- * Sets the stork own key store.
- *
- * @param newkOwnKeyStore the new stork own key store
- */
- public void setStorkOwnKeyStore(final KeyStore newkOwnKeyStore) {
- this.storkOwnKeyStore = newkOwnKeyStore;
- }
-
- /**
- * Gets the properties.
- *
- * @return the properties
- */
- public Properties getProperties() {
- return properties;
- }
-
- /**
- * Sets the properties.
- *
- * @param newProperties the new properties
- */
- public void setProperties(final Properties newProperties) {
- this.properties = newProperties;
- }
-
- /** The HW sign prop. */
- private Properties properties = null;
-
- /**
- * @see
- * eu.stork.peps.auth.engine.core.SAMLEngineSignI#init(java.lang.String)
- * @param fileConf file of configuration
- * @throws SAMLEngineException error in read file
- */
- public void init(final String fileConf)
- throws SAMLEngineException {
- InputStream inputStr = null;
- try {
- inputStr = SignHW.class.getResourceAsStream("/"
- + fileConf);
- properties = new Properties();
-
- properties.loadFromXML(inputStr);
- } catch (final InvalidPropertiesFormatException e) {
- LOG.info("Exception: invalid properties format.");
- throw new SAMLEngineException(e);
- } catch (IOException e) {
- LOG.info("Exception: invalid file: " + fileConf);
- throw new SAMLEngineException(e);
- } finally {
- IOUtils.closeQuietly(inputStr);
+ /** The Constant CONFIGURATION_FILE. */
+ private static final String CONF_FILE = "configurationFile";
+
+ /**
+ * The Constant KEYSTORE_TYPE.
+ */
+ private static final String KEYSTORE_TYPE = "keystoreType";
+
+ /** The logger. */
+ private static final Logger LOG = LoggerFactory.getLogger(SignHW.class.getName());
+
+ /** The stork own key store. */
+ private KeyStore storkOwnKeyStore = null;
+ /**
+ * The soft trust key store.
+ */
+ private SignSW swTrustStore = null;
+
+ /**
+ * Gets the stork own key store.
+ *
+ * @return the stork own key store
+ */
+ public KeyStore getStorkOwnKeyStore() {
+ return storkOwnKeyStore;
+ }
+
+ /**
+ * Gets the stork trustStore.
+ *
+ * @return the stork own key store
+ */
+ public KeyStore getTrustStore() {
+ return storkOwnKeyStore;
+ }
+
+ /**
+ * Sets the stork own key store.
+ *
+ * @param newkOwnKeyStore
+ * the new stork own key store
+ */
+ public void setStorkOwnKeyStore(final KeyStore newkOwnKeyStore) {
+ this.storkOwnKeyStore = newkOwnKeyStore;
+ }
+
+ /**
+ * Gets the properties.
+ *
+ * @return the properties
+ */
+ public Properties getProperties() {
+ return properties;
+ }
+
+ /**
+ * Sets the properties.
+ *
+ * @param newProperties
+ * the new properties
+ */
+ public void setProperties(final Properties newProperties) {
+ this.properties = newProperties;
}
- }
-
-
- /**
- * @see eu.stork.peps.auth.engine.core.SAMLEngineSignI#getCertificate()
- * @return the X509Certificate.
- */
- public X509Certificate getCertificate() {
- throw new NotImplementedException();
- }
-
- /**
- * @see
- * eu.stork.peps.auth.engine.core.SAMLEngineSignI#sign(SignableSAMLObject tokenSaml)
- * @param tokenSaml signable SAML Object
- * @return the SAMLObject signed.
- * @throws SAMLEngineException error in sign token saml
- */
- public SAMLObject sign(final SignableSAMLObject tokenSaml) throws SAMLEngineException {
-
- try {
- LOG.info("Star procces of sign");
- final char[] pin = properties.getProperty("keyPassword")
- .toCharArray();
-
- storkOwnKeyStore.load(null, pin);
-
- final String serialNumber = properties.getProperty("serialNumber");
- final String issuer = properties.getProperty("issuer");
-
- String alias = null;
- String aliasCert;
- X509Certificate certificate;
-
- boolean find = false;
- for (final Enumeration<String> e = storkOwnKeyStore.aliases(); e
- .hasMoreElements() && !find;) {
- aliasCert = e.nextElement();
- certificate = (X509Certificate) storkOwnKeyStore
- .getCertificate(aliasCert);
- // Verified serial number, issuer
-
- final String serialNum = certificate.getSerialNumber()
- .toString(16);
- X509Principal issuerDN = new X509Principal(certificate.getIssuerDN().getName());
- X509Principal issuerDNConf = new X509Principal(issuer);
-
- if(serialNum.equalsIgnoreCase(serialNumber)
- && X509PrincipalUtil.equals(issuerDN, issuerDNConf)){
- alias = aliasCert;
- find = true;
+
+ /** The HW sign prop. */
+ private Properties properties = null;
+
+ /**
+ * @see eu.stork.peps.auth.engine.core.SAMLEngineSignI#init(java.lang.String)
+ * @param fileConf
+ * file of configuration
+ * @throws SAMLEngineException
+ * error in read file
+ */
+ public void init(final String fileConf) throws SAMLEngineException {
+ InputStream inputStr = null;
+ try {
+ inputStr = SignHW.class.getResourceAsStream("/" + fileConf);
+ properties = new Properties();
+
+ properties.loadFromXML(inputStr);
+ } catch (final InvalidPropertiesFormatException e) {
+ LOG.info("Exception: invalid properties format.");
+ throw new SAMLEngineException(e);
+ } catch (IOException e) {
+ LOG.info("Exception: invalid file: " + fileConf);
+ throw new SAMLEngineException(e);
+ } finally {
+ IOUtils.closeQuietly(inputStr);
+ /**
+ * Init the soft keystore to validate with. trustStoreConfig is read from the SignModule config file and should refer to the keystore containing trusted certificates.
+ */
+ swTrustStore = new SignSW();
+ swTrustStore.init(properties.getProperty("trustStoreConfig"));
+ swTrustStore.loadCryptServiceProvider();
+ }
+ }
+
+ /**
+ * @see eu.stork.peps.auth.engine.core.SAMLEngineSignI#getCertificate()
+ * @return the X509Certificate.
+ */
+ public X509Certificate getCertificate() {
+ throw new NotImplementedException();
+ }
+
+ /**
+ * @see eu.stork.peps.auth.engine.core.SAMLEngineSignI#sign(SignableSAMLObject tokenSaml)
+ * @param tokenSaml
+ * signable SAML Object
+ * @return the SAMLObject signed.
+ * @throws SAMLEngineException
+ * error in sign token saml
+ */
+ public SAMLObject sign(final SignableSAMLObject tokenSaml) throws SAMLEngineException {
+
+ try {
+ LOG.info("Star procces of sign");
+ final char[] pin = properties.getProperty("keyPassword").toCharArray();
+
+ storkOwnKeyStore.load(null, pin);
+
+ final String serialNumber = properties.getProperty("serialNumber");
+ final String issuer = properties.getProperty("issuer");
+
+ String alias = null;
+ String aliasCert;
+ X509Certificate certificate;
+
+ boolean find = false;
+ for (final Enumeration<String> e = storkOwnKeyStore.aliases(); e.hasMoreElements() && !find;) {
+ aliasCert = e.nextElement();
+ certificate = (X509Certificate) storkOwnKeyStore.getCertificate(aliasCert);
+ // Verified serial number, issuer
+
+ final String serialNum = certificate.getSerialNumber().toString(16);
+ X509Principal issuerDN = new X509Principal(certificate.getIssuerDN().getName());
+ X509Principal issuerDNConf = new X509Principal(issuer);
+
+ if (serialNum.equalsIgnoreCase(serialNumber) && X509PrincipalUtil.X509equals(issuerDN, issuerDNConf)) {
+ alias = aliasCert;
+ find = true;
+ }
+
+ }
+
+ if (!find) {
+ throw new SAMLEngineException("Certificate cannot be found in keystore ");
+ }
+ certificate = (X509Certificate) storkOwnKeyStore.getCertificate(alias);
+ final PrivateKey privateKey = (PrivateKey) storkOwnKeyStore.getKey(alias, pin);
+
+ LOG.info("Recover BasicX509Credential.");
+ final BasicX509Credential credential = new BasicX509Credential();
+
+ LOG.debug("Load certificate");
+ credential.setEntityCertificate(certificate);
+
+ LOG.debug("Load privateKey");
+ credential.setPrivateKey(privateKey);
+
+ LOG.info("Star procces of sign");
+ final Signature signature = (Signature) org.opensaml.xml.Configuration.getBuilderFactory().getBuilder(Signature.DEFAULT_ELEMENT_NAME).buildObject(Signature.DEFAULT_ELEMENT_NAME);
+
+ LOG.debug("Begin signature with openSaml");
+ signature.setSigningCredential(credential);
+
+ /*
+ * signature.setSignatureAlgorithm( SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);
+ */
+ signature.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
+
+ final SecurityConfiguration securityConf = org.opensaml.xml.Configuration.getGlobalSecurityConfiguration();
+ final NamedKeyInfoGeneratorManager keyInfoManager = securityConf.getKeyInfoGeneratorManager();
+ final KeyInfoGeneratorManager keyInfoGenManager = keyInfoManager.getDefaultManager();
+ final KeyInfoGeneratorFactory keyInfoGenFac = keyInfoGenManager.getFactory(credential);
+ final KeyInfoGenerator keyInfoGenerator = keyInfoGenFac.newInstance();
+
+ final KeyInfo keyInfo = keyInfoGenerator.generate(credential);
+
+ signature.setKeyInfo(keyInfo);
+
+ LOG.debug("Set Canonicalization Algorithm");
+ signature.setCanonicalizationAlgorithm(SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
+
+ // Create a second signature which will be used when signing assertion and response
+ final Signature signature2 = (Signature) Configuration.getBuilderFactory().getBuilder(Signature.DEFAULT_ELEMENT_NAME).buildObject(Signature.DEFAULT_ELEMENT_NAME);
+ final SecurityConfiguration secConfiguration2 = Configuration.getGlobalSecurityConfiguration();
+ final NamedKeyInfoGeneratorManager keyInfoManager2 = secConfiguration2.getKeyInfoGeneratorManager();
+ final KeyInfoGeneratorManager keyInfoGenManager2 = keyInfoManager2.getDefaultManager();
+ final KeyInfoGeneratorFactory keyInfoGenFac2 = keyInfoGenManager2.getFactory(credential);
+ final KeyInfoGenerator keyInfoGenerator2 = keyInfoGenFac2.newInstance();
+
+ KeyInfo keyInfo2 = keyInfoGenerator2.generate(credential);
+ signature2.setSigningCredential(credential);
+ signature2.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
+ signature2.setKeyInfo(keyInfo2);
+ signature2.setCanonicalizationAlgorithm(SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
+
+ LOG.info("Marshall samlToken.");
+ String qn = tokenSaml.getElementQName().toString();
+
+ if (qn.endsWith(CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME)) {
+ tokenSaml.setSignature(signature);
+ CustomAttributeQueryMarshaller mars = new CustomAttributeQueryMarshaller();
+ mars.marshall(tokenSaml);
+ Signer.signObject(signature);
+ } else if (qn.endsWith(Response.DEFAULT_ELEMENT_LOCAL_NAME) && !qn.contains(LogoutResponse.DEFAULT_ELEMENT_LOCAL_NAME)) {
+ Response res = (Response) tokenSaml;
+ List<Assertion> asserts = res.getAssertions();
+ // If multiple assertions we just sign the response and not the assertion
+ if (asserts.size() > 1) {
+ tokenSaml.setSignature(signature);
+ Configuration.getMarshallerFactory().getMarshaller(tokenSaml).marshall(tokenSaml);
+ LOG.info("Sign samlToken.");
+ Signer.signObject(signature);
+ }
+ // If single assertion we sign the assertion and response
+ else {
+ Assertion assertion = (Assertion) asserts.get(0);
+ assertion.setSignature(signature);
+ tokenSaml.setSignature(signature2);
+ Configuration.getMarshallerFactory().getMarshaller(tokenSaml).marshall(tokenSaml);
+ LOG.info("Sign samlToken.");
+ Signer.signObject(signature);
+ Signer.signObject(signature2);
+ }
+ }
+ // Normally we just sign the total saml response
+ else {
+ tokenSaml.setSignature(signature);
+ Configuration.getMarshallerFactory().getMarshaller(tokenSaml).marshall(tokenSaml);
+ LOG.info("Sign samlToken.");
+ Signer.signObject(signature);
+ }
+
+ } catch (final MarshallingException e) {
+ LOG.error("MarshallingException");
+ throw new SAMLEngineException(e);
+ } catch (final NoSuchAlgorithmException e) {
+ LOG.error("A 'xmldsig#rsa-sha1' cryptographic algorithm is requested but is not available in the environment.");
+ throw new SAMLEngineException(e);
+ } catch (final KeyStoreException e) {
+ LOG.error("Generic KeyStore exception.");
+ throw new SAMLEngineException(e);
+ } catch (final SignatureException e) {
+ LOG.error("Signature exception.");
+ throw new SAMLEngineException(e);
+ } catch (final SecurityException e) {
+ LOG.error("Security exception.");
+ throw new SAMLEngineException(e);
+ } catch (final CertificateException e) {
+ LOG.error("Certificate exception.");
+ throw new SAMLEngineException(e);
+ } catch (final IOException e) {
+ LOG.error("IO exception.");
+ throw new SAMLEngineException(e);
+ } catch (final UnrecoverableKeyException e) {
+ LOG.error("UnrecoverableKeyException exception.");
+ throw new SAMLEngineException(e);
}
-
- }
-
- if (!find) {
- throw new SAMLEngineException("Certificate cannot be found in keystore ");
- }
- certificate = (X509Certificate) storkOwnKeyStore.getCertificate(alias);
- final PrivateKey privateKey = (PrivateKey) storkOwnKeyStore.getKey(
- alias, pin);
-
- LOG.info("Recover BasicX509Credential.");
- final BasicX509Credential credential = new BasicX509Credential();
-
- LOG.debug("Load certificate");
- credential.setEntityCertificate(certificate);
-
- LOG.debug("Load privateKey");
- credential.setPrivateKey(privateKey);
-
- LOG.info("Star procces of sign");
- final Signature signature = (Signature) org.opensaml.xml.Configuration
- .getBuilderFactory().getBuilder(
- Signature.DEFAULT_ELEMENT_NAME).buildObject(
- Signature.DEFAULT_ELEMENT_NAME);
-
- LOG.debug("Begin signature with openSaml");
- signature.setSigningCredential(credential);
-
- /*signature.setSignatureAlgorithm(
- SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);*/
- signature.setSignatureAlgorithm(
- SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
-
-
-
- final SecurityConfiguration securityConf =
- org.opensaml.xml.Configuration.getGlobalSecurityConfiguration();
- final NamedKeyInfoGeneratorManager keyInfoManager = securityConf
- .getKeyInfoGeneratorManager();
- final KeyInfoGeneratorManager keyInfoGenManager = keyInfoManager
- .getDefaultManager();
- final KeyInfoGeneratorFactory keyInfoGenFac = keyInfoGenManager
- .getFactory(credential);
- final KeyInfoGenerator keyInfoGenerator = keyInfoGenFac
- .newInstance();
-
- final KeyInfo keyInfo = keyInfoGenerator.generate(credential);
-
- signature.setKeyInfo(keyInfo);
-
- LOG.debug("Set Canonicalization Algorithm");
- signature.setCanonicalizationAlgorithm(
- SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
-
- //Create a second signature which will be used when signing assertion and response
- final Signature signature2 = (Signature) Configuration
- .getBuilderFactory().getBuilder(
- Signature.DEFAULT_ELEMENT_NAME).buildObject(
- Signature.DEFAULT_ELEMENT_NAME);
- final SecurityConfiguration secConfiguration2 = Configuration
- .getGlobalSecurityConfiguration();
- final NamedKeyInfoGeneratorManager keyInfoManager2 = secConfiguration2
- .getKeyInfoGeneratorManager();
- final KeyInfoGeneratorManager keyInfoGenManager2 = keyInfoManager2
- .getDefaultManager();
- final KeyInfoGeneratorFactory keyInfoGenFac2 = keyInfoGenManager2
- .getFactory(credential);
- final KeyInfoGenerator keyInfoGenerator2 = keyInfoGenFac2
- .newInstance();
-
- KeyInfo keyInfo2 = keyInfoGenerator2.generate(credential);
- signature2.setSigningCredential(credential);
- signature2.setSignatureAlgorithm(
- SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
- signature2.setKeyInfo(keyInfo2);
- signature2.setCanonicalizationAlgorithm(
- SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
-
-
- LOG.info("Marshall samlToken.");
- String qn = tokenSaml.getElementQName().toString();
-
- if (qn.endsWith(CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME))
- {
- tokenSaml.setSignature(signature);
- CustomAttributeQueryMarshaller mars = new CustomAttributeQueryMarshaller();
- mars.marshall(tokenSaml);
- Signer.signObject(signature);
- }
- else if (qn.endsWith(Response.DEFAULT_ELEMENT_LOCAL_NAME) && !qn.contains(LogoutResponse.DEFAULT_ELEMENT_LOCAL_NAME))
- {
- Response res = (Response)tokenSaml;
- List<Assertion> asserts = res.getAssertions();
- //If multiple assertions we just sign the response and not the assertion
- if (asserts.size() > 1)
- {
- tokenSaml.setSignature(signature);
- Configuration.getMarshallerFactory().getMarshaller(tokenSaml)
- .marshall(tokenSaml);
- LOG.info("Sign samlToken.");
- Signer.signObject(signature);
- }
- //If single assertion we sign the assertion and response
- else
- {
- Assertion assertion = (Assertion)asserts.get(0);
- assertion.setSignature(signature);
- tokenSaml.setSignature(signature2);
- Configuration.getMarshallerFactory().getMarshaller(tokenSaml)
- .marshall(tokenSaml);
- LOG.info("Sign samlToken.");
- Signer.signObject(signature);
- Signer.signObject(signature2);
- }
- }
- //Normally we just sign the total saml response
- else
- {
- tokenSaml.setSignature(signature);
- Configuration.getMarshallerFactory().getMarshaller(tokenSaml)
- .marshall(tokenSaml);
- LOG.info("Sign samlToken.");
- Signer.signObject(signature);
- }
-
- } catch (final MarshallingException e) {
- LOG.error("MarshallingException");
- throw new SAMLEngineException(e);
- } catch (final NoSuchAlgorithmException e) {
- LOG.error("A 'xmldsig#rsa-sha1' cryptographic algorithm is requested but is not available in the environment.");
- throw new SAMLEngineException(e);
- } catch (final KeyStoreException e) {
- LOG.error("Generic KeyStore exception.");
- throw new SAMLEngineException(e);
- } catch (final SignatureException e) {
- LOG.error("Signature exception.");
- throw new SAMLEngineException(e);
- } catch (final SecurityException e) {
- LOG.error("Security exception.");
- throw new SAMLEngineException(e);
- } catch (final CertificateException e) {
- LOG.error("Certificate exception.");
- throw new SAMLEngineException(e);
- } catch (final IOException e) {
- LOG.error("IO exception.");
- throw new SAMLEngineException(e);
- } catch (final UnrecoverableKeyException e) {
- LOG.error("UnrecoverableKeyException exception.");
- throw new SAMLEngineException(e);
+
+ return tokenSaml;
}
- return tokenSaml;
- }
-
- /**
- * @see
- * eu.stork.peps.auth.engine.core.SAMLEngineSignI#validateSignature(SignableSAMLObject)
- * @param tokenSaml the token saml
- * @return the SAMLObject validated.
- * @throws SAMLEngineException exception in validate signature
- */
- public SAMLObject validateSignature(final SignableSAMLObject tokenSaml)
- throws SAMLEngineException {
- LOG.info("Start signature validation.");
- try {
-
- // Validate structure signature
- final SAMLSignatureProfileValidator signProfValidator =
- new SAMLSignatureProfileValidator();
-
- // Indicates signature id conform to SAML Signature profile
- signProfValidator.validate(tokenSaml.getSignature());
-
- String aliasCert;
- X509Certificate certificate;
-
- final List<Credential> trustedCred = new ArrayList<Credential>();
-
- for (final Enumeration<String> e = storkOwnKeyStore.aliases(); e
- .hasMoreElements();) {
- aliasCert = e.nextElement();
- final BasicX509Credential credential = new BasicX509Credential();
- certificate = (X509Certificate) storkOwnKeyStore
- .getCertificate(aliasCert);
- credential.setEntityCertificate(certificate);
- trustedCred.add(credential);
- }
-
- final KeyInfo keyInfo = tokenSaml.getSignature().getKeyInfo();
- final List<X509Certificate> listCertificates = KeyInfoHelper
- .getCertificates(keyInfo);
-
- if (listCertificates.size() != 1) {
- throw new SAMLEngineException("Only must be one certificate");
- }
-
- // Exist only one certificate
- final BasicX509Credential entityX509Cred = new BasicX509Credential();
- entityX509Cred.setEntityCertificate(listCertificates.get(0));
-
- final ExplicitKeyTrustEvaluator keyTrustEvaluator =
- new ExplicitKeyTrustEvaluator();
- if (!keyTrustEvaluator.validate(entityX509Cred, trustedCred)) {
- throw new SAMLEngineException("Certificate it is not trusted.");
- }
-
- final SignatureValidator sigValidator = new SignatureValidator(
- entityX509Cred);
-
- sigValidator.validate(tokenSaml.getSignature());
-
- } catch (final ValidationException e) {
- LOG.error("ValidationException.", e);
- throw new SAMLEngineException(e);
- } catch (final KeyStoreException e) {
- LOG.error("ValidationException.", e);
- throw new SAMLEngineException(e);
- } catch (final CertificateException e) {
- LOG.error("CertificateException.", e);
- throw new SAMLEngineException(e);
+ /**
+ * @see eu.stork.peps.auth.engine.core.SAMLEngineSignI#validateSignature(SignableSAMLObject)
+ * @param tokenSaml
+ * the token saml
+ * @return the SAMLObject validated.
+ * @throws SAMLEngineException
+ * exception in validate signature
+ */
+ public SAMLObject validateSignature(final SignableSAMLObject tokenSaml) throws SAMLEngineException {
+ LOG.info("Start signature validation HW.");
+ /*
+ * we are using the soft signature class to validate the signatures. This way we use the same key store code and validation that is used there.
+ */
+ try {
+ swTrustStore.validateSignature(tokenSaml);
+ } catch (Exception e) {
+ LOG.error("SW ValidationException.", e);
+ throw new SAMLEngineException(e);
+ }
+ return tokenSaml;
}
- return tokenSaml;
- }
-
- /**
- * load cryptographic service provider.
- *
- * @throws SAMLEngineException the SAML engine exception
- * Note this class was using pkcs11Provider
- * final Provider pkcs11Provider = new sun.security.pkcs11.SunPKCS11(inputStream)
- * if (Security.getProperty(pkcs11Provider.getName()) == null) {
- * Security.insertProviderAt(pkcs11Provider, Security .getProviders().length)
- * }
- * storkOwnKeyStore = KeyStore.getInstance(properties.getProperty(KEYSTORE_TYPE))
- */
- public void loadCryptServiceProvider() throws SAMLEngineException {
- LOG.info("Load Cryptographic Service Provider");
- InputStream inputStream = null;
-
- try {
- inputStream = SignHW.class.getResourceAsStream("/"
- + properties.getProperty(CONF_FILE));
-
- } catch (final Exception e) {
- throw new SAMLEngineException(
- "Error loading CryptographicServiceProvider", e);
- } finally {
- IOUtils.closeQuietly(inputStream);
+
+ /**
+ * load cryptographic service provider.
+ *
+ * @throws SAMLEngineException
+ * the SAML engine exception Note this class was using pkcs11Provider final Provider pkcs11Provider = new sun.security.pkcs11.SunPKCS11(inputStream) if
+ * (Security.getProperty(pkcs11Provider.getName()) == null) { Security.insertProviderAt(pkcs11Provider, Security .getProviders().length) } storkOwnKeyStore =
+ * KeyStore.getInstance(properties.getProperty(KEYSTORE_TYPE))
+ */
+ public void loadCryptServiceProvider() throws SAMLEngineException {
+ LOG.info("Load Cryptographic Service Provider");
+ InputStream inputStream = null;
+
+ try {
+ inputStream = SignHW.class.getResourceAsStream("/" + properties.getProperty(CONF_FILE));
+ final Provider pkcs11Provider = new sun.security.pkcs11.SunPKCS11(inputStream);
+ if (Security.getProperty(pkcs11Provider.getName()) == null) {
+ Security.insertProviderAt(pkcs11Provider, Security.getProviders().length);
+ }
+
+ storkOwnKeyStore = KeyStore.getInstance(properties.getProperty(KEYSTORE_TYPE), pkcs11Provider);
+
+ } catch (final Exception e) {
+ throw new SAMLEngineException("Error loading CryptographicServiceProvider", e);
+ } finally {
+ IOUtils.closeQuietly(inputStream);
+ }
}
- }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignModuleFactory.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignModuleFactory.java
index c37074eab..66d0201d5 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignModuleFactory.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignModuleFactory.java
@@ -30,35 +30,35 @@ import eu.stork.peps.exceptions.STORKSAMLEngineException;
public final class SignModuleFactory {
- /** The Constant LOG. */
- private static final Logger LOG = LoggerFactory
- .getLogger(SignModuleFactory.class.getName());
+ /** The Constant LOG. */
+ private static final Logger LOG = LoggerFactory.getLogger(SignModuleFactory.class.getName());
- /**
- * Instantiates a new module sign factory.
- */
- private SignModuleFactory() {
+ /**
+ * Instantiates a new module sign factory.
+ */
+ private SignModuleFactory() {
- }
-
- /**
- * Gets the single instance of SignModuleFactory.
- *
- * @param className the class name
- *
- * @return single instance of SignModuleFactory
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- public static SAMLEngineSignI getInstance(final String className)
- throws STORKSAMLEngineException {
- LOG.info("[START]SignModuleFactory static");
- try {
- final Class cls = Class.forName(className);
- return (SAMLEngineSignI) cls.newInstance();
- } catch (Exception e) {
- throw new STORKSAMLEngineException(e);
}
- }
+ /**
+ * Gets the single instance of SignModuleFactory.
+ *
+ * @param className
+ * the class name
+ *
+ * @return single instance of SignModuleFactory
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ public static SAMLEngineSignI getInstance(final String className) throws STORKSAMLEngineException {
+ LOG.info("[START]SignModuleFactory static");
+ try {
+ final Class cls = Class.forName(className);
+ return (SAMLEngineSignI) cls.newInstance();
+ } catch (Exception e) {
+ throw new STORKSAMLEngineException(e);
+ }
+
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignP12.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignP12.java
index 06e80dc14..d5f01a4cc 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignP12.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignP12.java
@@ -41,6 +41,7 @@ import eu.stork.peps.auth.engine.X509PrincipalUtil;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.NotImplementedException;
import org.bouncycastle.jce.X509Principal;
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.opensaml.Configuration;
import org.opensaml.common.SAMLObject;
import org.opensaml.common.SignableSAMLObject;
@@ -74,26 +75,21 @@ import eu.stork.peps.auth.engine.core.SAMLEngineSignI;
import eu.stork.peps.exceptions.SAMLEngineException;
/**
- * The Class SWSign. Class responsible for signing and validating of messages
- * SAML with a certificate store software.
+ * The Class SWSign. Class responsible for signing and validating of messages SAML with a certificate store software.
*
* @author fjquevedo
*/
public final class SignP12 implements SAMLEngineSignI {
/** The logger. */
- private static final Logger LOG = LoggerFactory.getLogger(SignP12.class
- .getName());
-
+ private static final Logger LOG = LoggerFactory.getLogger(SignP12.class.getName());
/** The p12 store. */
private KeyStore p12Store = null;
-
/** The trust store. */
private KeyStore trustStore = null;
-
/**
* Gets the trust store.
*
@@ -107,7 +103,8 @@ public final class SignP12 implements SAMLEngineSignI {
/**
* Sets the trust store.
*
- * @param newTrustStore the new trust store
+ * @param newTrustStore
+ * the new trust store
*/
public void setTrustStore(final KeyStore newTrustStore) {
this.trustStore = newTrustStore;
@@ -123,8 +120,6 @@ public final class SignP12 implements SAMLEngineSignI {
return properties;
}
-
-
/**
* Gets the p12 store.
*
@@ -134,23 +129,21 @@ public final class SignP12 implements SAMLEngineSignI {
return p12Store;
}
-
-
/**
* Sets the p12 store.
*
- * @param newP12Store the new p12 store
+ * @param newP12Store
+ * the new p12 store
*/
public void setP12Store(final KeyStore newP12Store) {
this.p12Store = newP12Store;
}
-
-
/**
* Sets the properties.
*
- * @param newProperties the new properties
+ * @param newProperties
+ * the new properties
*/
public void setProperties(final Properties newProperties) {
this.properties = newProperties;
@@ -159,13 +152,14 @@ public final class SignP12 implements SAMLEngineSignI {
/** The SW sign prop. */
private Properties properties = null;
-
/**
* Initialize the file configuration.
*
- * @param fileConf name of the file configuration
+ * @param fileConf
+ * name of the file configuration
*
- * @throws SAMLEngineException error at the load from file configuration
+ * @throws SAMLEngineException
+ * error at the load from file configuration
*/
@Override
public void init(final String fileConf) throws SAMLEngineException {
@@ -173,25 +167,25 @@ public final class SignP12 implements SAMLEngineSignI {
properties = new Properties();
try {
try {
- LOG.debug("Fichero a cargar " + fileConf);
+ LOG.debug("Loading " + fileConf);
fileProperties = new FileInputStream(fileConf);
properties.loadFromXML(fileProperties);
} catch (Exception e) {
- LOG.error("Fallo al cargar el recurso externo. Se reintenta como fichero interno.");
+ LOG.error("Failed to load external resource. Retrieving internal file.");
fileProperties = SignP12.class.getResourceAsStream("/" + fileConf);
if (fileProperties == null) {
fileProperties = Thread.currentThread().getContextClassLoader().getResourceAsStream(fileConf);
if (fileProperties == null) {
Enumeration<URL> files = ClassLoader.getSystemClassLoader().getResources(fileConf);
if (files != null && files.hasMoreElements()) {
- LOG.info("Se han encontrado recurso/s. Se toma el primero.");
+ LOG.info("Found /s.");
fileProperties = ClassLoader.getSystemClassLoader().getResourceAsStream(files.nextElement().getFile());
} else {
- throw new IOException("No se pudo recuperar el fichero: " + fileConf, e);
+ throw new IOException("Could not load file: " + fileConf, e);
}
}
}
- LOG.debug("Recuperados " + fileProperties.available() + " bytes");
+ LOG.debug("Recovered " + fileProperties.available() + " bytes");
properties.loadFromXML(fileProperties);
}
} catch (InvalidPropertiesFormatException e) {
@@ -209,7 +203,7 @@ public final class SignP12 implements SAMLEngineSignI {
* Gets the certificate.
*
* @return the X509Certificate
- *
+ *
*/
@Override
public X509Certificate getCertificate() {
@@ -219,16 +213,17 @@ public final class SignP12 implements SAMLEngineSignI {
/**
* Sign the token SAML.
*
- * @param tokenSaml token SAML
+ * @param tokenSaml
+ * token SAML
*
* @return the X509Certificate signed.
*
- * @throws SAMLEngineException error at sign SAML token
+ * @throws SAMLEngineException
+ * error at sign SAML token
*
*/
@Override
- public SAMLObject sign(final SignableSAMLObject tokenSaml)
- throws SAMLEngineException {
+ public SAMLObject sign(final SignableSAMLObject tokenSaml) throws SAMLEngineException {
LOG.info("Start Sign process");
try {
@@ -240,30 +235,24 @@ public final class SignP12 implements SAMLEngineSignI {
X509Certificate certificate;
boolean find = false;
- for (final Enumeration<String> e = p12Store.aliases(); e
- .hasMoreElements() && !find;) {
+ for (final Enumeration<String> e = p12Store.aliases(); e.hasMoreElements() && !find;) {
aliasCert = e.nextElement();
- certificate = (X509Certificate) p12Store
- .getCertificate(aliasCert);
+ certificate = (X509Certificate) p12Store.getCertificate(aliasCert);
- final String serialNum = certificate.getSerialNumber()
- .toString(16);
+ final String serialNum = certificate.getSerialNumber().toString(16);
X509Principal issuerDN = new X509Principal(certificate.getIssuerDN().getName());
X509Principal issuerDNConf = new X509Principal(issuer);
- if(serialNum.equalsIgnoreCase(serialNumber)
- && X509PrincipalUtil.equals(issuerDN, issuerDNConf)){
+ if (serialNum.equalsIgnoreCase(serialNumber) && X509PrincipalUtil.X509equals(issuerDN, issuerDNConf)) {
alias = aliasCert;
find = true;
}
}
- certificate = (X509Certificate) p12Store
- .getCertificate(alias);
- final PrivateKey privateKey = (PrivateKey) p12Store.getKey(
- alias, properties.getProperty("keyPassword").toCharArray());
+ certificate = (X509Certificate) p12Store.getCertificate(alias);
+ final PrivateKey privateKey = (PrivateKey) p12Store.getKey(alias, properties.getProperty("keyPassword").toCharArray());
LOG.info("Recover BasicX509Credential.");
final BasicX509Credential credential = new BasicX509Credential();
@@ -275,102 +264,73 @@ public final class SignP12 implements SAMLEngineSignI {
credential.setPrivateKey(privateKey);
LOG.debug("Begin signature with openSaml");
- final Signature signature = (Signature) org.opensaml.xml.Configuration
- .getBuilderFactory().getBuilder(
- Signature.DEFAULT_ELEMENT_NAME).buildObject(
- Signature.DEFAULT_ELEMENT_NAME);
+ final Signature signature = (Signature) org.opensaml.xml.Configuration.getBuilderFactory().getBuilder(Signature.DEFAULT_ELEMENT_NAME).buildObject(Signature.DEFAULT_ELEMENT_NAME);
signature.setSigningCredential(credential);
- /*signature.setSignatureAlgorithm(
- SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);*/
- signature.setSignatureAlgorithm(
- SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
-
- final SecurityConfiguration secConfiguration = org.opensaml.xml.Configuration
- .getGlobalSecurityConfiguration();
- final NamedKeyInfoGeneratorManager keyInfoManager = secConfiguration
- .getKeyInfoGeneratorManager();
- final KeyInfoGeneratorManager keyInfoGenManager = keyInfoManager
- .getDefaultManager();
- final KeyInfoGeneratorFactory keyInfoGenFac = keyInfoGenManager
- .getFactory(credential);
- final KeyInfoGenerator keyInfoGenerator = keyInfoGenFac
- .newInstance();
+ /*
+ * signature.setSignatureAlgorithm( SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);
+ */
+ signature.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
+
+ final SecurityConfiguration secConfiguration = org.opensaml.xml.Configuration.getGlobalSecurityConfiguration();
+ final NamedKeyInfoGeneratorManager keyInfoManager = secConfiguration.getKeyInfoGeneratorManager();
+ final KeyInfoGeneratorManager keyInfoGenManager = keyInfoManager.getDefaultManager();
+ final KeyInfoGeneratorFactory keyInfoGenFac = keyInfoGenManager.getFactory(credential);
+ final KeyInfoGenerator keyInfoGenerator = keyInfoGenFac.newInstance();
final KeyInfo keyInfo = keyInfoGenerator.generate(credential);
signature.setKeyInfo(keyInfo);
- signature.setCanonicalizationAlgorithm(
- SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
-
- //Create a second signature which will be used when signing assertion and response
- final Signature signature2 = (Signature) org.opensaml.xml.Configuration
- .getBuilderFactory().getBuilder(
- Signature.DEFAULT_ELEMENT_NAME).buildObject(
- Signature.DEFAULT_ELEMENT_NAME);
- final SecurityConfiguration secConfiguration2 = org.opensaml.xml.Configuration
- .getGlobalSecurityConfiguration();
- final NamedKeyInfoGeneratorManager keyInfoManager2 = secConfiguration2
- .getKeyInfoGeneratorManager();
- final KeyInfoGeneratorManager keyInfoGenManager2 = keyInfoManager2
- .getDefaultManager();
- final KeyInfoGeneratorFactory keyInfoGenFac2 = keyInfoGenManager2
- .getFactory(credential);
- final KeyInfoGenerator keyInfoGenerator2 = keyInfoGenFac2
- .newInstance();
+ signature.setCanonicalizationAlgorithm(SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
+
+ // Create a second signature which will be used when signing assertion and response
+ final Signature signature2 = (Signature) org.opensaml.xml.Configuration.getBuilderFactory().getBuilder(Signature.DEFAULT_ELEMENT_NAME).buildObject(Signature.DEFAULT_ELEMENT_NAME);
+ final SecurityConfiguration secConfiguration2 = org.opensaml.xml.Configuration.getGlobalSecurityConfiguration();
+ final NamedKeyInfoGeneratorManager keyInfoManager2 = secConfiguration2.getKeyInfoGeneratorManager();
+ final KeyInfoGeneratorManager keyInfoGenManager2 = keyInfoManager2.getDefaultManager();
+ final KeyInfoGeneratorFactory keyInfoGenFac2 = keyInfoGenManager2.getFactory(credential);
+ final KeyInfoGenerator keyInfoGenerator2 = keyInfoGenFac2.newInstance();
KeyInfo keyInfo2 = keyInfoGenerator2.generate(credential);
signature2.setSigningCredential(credential);
- signature2.setSignatureAlgorithm(
- SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
+ signature2.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
signature2.setKeyInfo(keyInfo2);
- signature2.setCanonicalizationAlgorithm(
- SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
-
+ signature2.setCanonicalizationAlgorithm(SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
LOG.info("Marshall samlToken.");
String qn = tokenSaml.getElementQName().toString();
- if (qn.endsWith(CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME))
- {
+ if (qn.endsWith(CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME)) {
tokenSaml.setSignature(signature);
CustomAttributeQueryMarshaller mars = new CustomAttributeQueryMarshaller();
mars.marshall(tokenSaml);
Signer.signObject(signature);
- }
- else if (qn.endsWith(Response.DEFAULT_ELEMENT_LOCAL_NAME) && !qn.contains(LogoutResponse.DEFAULT_ELEMENT_LOCAL_NAME))
- {
- Response res = (Response)tokenSaml;
+ } else if (qn.endsWith(Response.DEFAULT_ELEMENT_LOCAL_NAME) && !qn.contains(LogoutResponse.DEFAULT_ELEMENT_LOCAL_NAME)) {
+ Response res = (Response) tokenSaml;
List<Assertion> asserts = res.getAssertions();
- //If multiple assertions we just sign the response and not the assertion
- if (asserts.size() > 1)
- {
+ // If multiple assertions we just sign the response and not the assertion
+ if (asserts.size() > 1) {
tokenSaml.setSignature(signature);
- org.opensaml.xml.Configuration.getMarshallerFactory().getMarshaller(tokenSaml)
- .marshall(tokenSaml);
+ org.opensaml.xml.Configuration.getMarshallerFactory().getMarshaller(tokenSaml).marshall(tokenSaml);
LOG.info("Sign samlToken.");
Signer.signObject(signature);
}
- //If single assertion we sign the assertion and response
- else
- {
+ // If single assertion we sign the assertion and response
+ else {
Assertion assertion = asserts.get(0);
- assertion.setSignature(signature);
+ assertion.setSignature(signature);
tokenSaml.setSignature(signature2);
- org.opensaml.xml.Configuration.getMarshallerFactory().getMarshaller(tokenSaml)
- .marshall(tokenSaml);
+ org.opensaml.xml.Configuration.getMarshallerFactory().getMarshaller(tokenSaml).marshall(tokenSaml);
LOG.info("Sign samlToken.");
Signer.signObject(signature);
Signer.signObject(signature2);
}
}
- //Normally we just sign the total saml response
- else
- {
+ // Normally we just sign the total saml response
+ else {
tokenSaml.setSignature(signature);
- org.opensaml.xml.Configuration.getMarshallerFactory().getMarshaller(tokenSaml)
- .marshall(tokenSaml);
+ org.opensaml.xml.Configuration.getMarshallerFactory().getMarshaller(tokenSaml).marshall(tokenSaml);
LOG.info("Sign samlToken.");
Signer.signObject(signature);
}
@@ -401,22 +361,22 @@ public final class SignP12 implements SAMLEngineSignI {
/**
* Validate signature.
*
- * @param tokenSaml token SAML
+ * @param tokenSaml
+ * token SAML
*
* @return the SAMLObject validated.
*
- * @throws SAMLEngineException error validate signature
+ * @throws SAMLEngineException
+ * error validate signature
*
*/
@Override
- public SAMLObject validateSignature(final SignableSAMLObject tokenSaml)
- throws SAMLEngineException {
+ public SAMLObject validateSignature(final SignableSAMLObject tokenSaml) throws SAMLEngineException {
LOG.info("Start signature validation.");
try {
// Validate structure signature
- final SAMLSignatureProfileValidator sigProfValidator =
- new SAMLSignatureProfileValidator();
+ final SAMLSignatureProfileValidator sigProfValidator = new SAMLSignatureProfileValidator();
try {
// Indicates signature id conform to SAML Signature profile
sigProfValidator.validate(tokenSaml.getSignature());
@@ -430,64 +390,43 @@ public final class SignP12 implements SAMLEngineSignI {
final List<Credential> trustCred = new ArrayList<Credential>();
- for (final Enumeration<String> e = trustStore.aliases(); e
- .hasMoreElements();)
- {
+ for (final Enumeration<String> e = trustStore.aliases(); e.hasMoreElements();) {
aliasCert = e.nextElement();
final BasicX509Credential credential = new BasicX509Credential();
- certificate = (X509Certificate) trustStore
- .getCertificate(aliasCert);
+ certificate = (X509Certificate) trustStore.getCertificate(aliasCert);
credential.setEntityCertificate(certificate);
trustCred.add(credential);
}
final KeyInfo keyInfo = tokenSaml.getSignature().getKeyInfo();
- final org.opensaml.xml.signature.X509Certificate xmlCert = keyInfo
- .getX509Datas().get(0).getX509Certificates().get(0);
+ final org.opensaml.xml.signature.X509Certificate xmlCert = keyInfo.getX509Datas().get(0).getX509Certificates().get(0);
- final CertificateFactory certFact = CertificateFactory
- .getInstance("X.509");
- final ByteArrayInputStream bis = new ByteArrayInputStream(Base64
- .decode(xmlCert.getValue()));
- final X509Certificate cert = (X509Certificate) certFact
- .generateCertificate(bis);
+ final CertificateFactory certFact = CertificateFactory.getInstance("X.509");
+ final ByteArrayInputStream bis = new ByteArrayInputStream(Base64.decode(xmlCert.getValue()));
+ final X509Certificate cert = (X509Certificate) certFact.generateCertificate(bis);
// Exist only one certificate
final BasicX509Credential entityX509Cred = new BasicX509Credential();
entityX509Cred.setEntityCertificate(cert);
- /* A better use of PKI based validation but not wanted for STORK...
- boolean trusted = false;
-
- for (final Enumeration<String> e = trustStore.aliases(); e.hasMoreElements();)
- {
- aliasCert = e.nextElement();
- certificate = (X509Certificate) trustStore.getCertificate(aliasCert);
- try {
- cert.verify(certificate.getPublicKey());
- trusted = true;
- break;
- }
- catch (Exception ex) {
- //Do nothing - cert not trusted yet
- }
- }
-
- if (!trusted)
- throw new SAMLEngineException("Certificate is not trusted.");*/
+ /*
+ * A better use of PKI based validation but not wanted for STORK... boolean trusted = false;
+ *
+ * for (final Enumeration<String> e = trustStore.aliases(); e.hasMoreElements();) { aliasCert = e.nextElement(); certificate = (X509Certificate) trustStore.getCertificate(aliasCert); try {
+ * cert.verify(certificate.getPublicKey()); trusted = true; break; } catch (Exception ex) { //Do nothing - cert not trusted yet } }
+ *
+ * if (!trusted) throw new SAMLEngineException("Certificate is not trusted.");
+ */
// Validate trust certificates
- final ExplicitKeyTrustEvaluator keyTrustEvaluator =
- new ExplicitKeyTrustEvaluator();
- if (!keyTrustEvaluator.validate(entityX509Cred, trustCred))
- {
+ final ExplicitKeyTrustEvaluator keyTrustEvaluator = new ExplicitKeyTrustEvaluator();
+ if (!keyTrustEvaluator.validate(entityX509Cred, trustCred)) {
throw new SAMLEngineException("Certificate it is not trusted.");
}
// Validate signature
- final SignatureValidator sigValidator = new SignatureValidator(
- entityX509Cred);
+ final SignatureValidator sigValidator = new SignatureValidator(entityX509Cred);
sigValidator.validate(tokenSaml.getSignature());
} catch (ValidationException e) {
@@ -503,11 +442,11 @@ public final class SignP12 implements SAMLEngineSignI {
return tokenSaml;
}
-
/**
* Load cryptographic service provider.
*
- * @throws SAMLEngineException the SAML engine exception
+ * @throws SAMLEngineException
+ * the SAML engine exception
*/
@Override
public void loadCryptServiceProvider() throws SAMLEngineException {
@@ -517,48 +456,38 @@ public final class SignP12 implements SAMLEngineSignI {
FileInputStream fisTrustStore = null;
try {
-// // Dynamically register Bouncy Castle provider.
-// boolean found = false;
-// // Check if BouncyCastle is already registered as a provider
-// final Provider[] providers = Security.getProviders();
-// for (int i = 0; i < providers.length; i++) {
-// if (providers[i].getName().equals(
-// BouncyCastleProvider.PROVIDER_NAME)) {
-// found = true;
-// }
-// }
-//
-// // Register only if the provider has not been previously registered
-// if (!found) {
-// LOG.debug("SAMLCore: Register Bouncy Castle provider.");
-// Security.insertProviderAt(new BouncyCastleProvider(), Security
-// .getProviders().length);
-// }
-
- p12Store = KeyStore.getInstance(properties
- .getProperty("keystoreType"));
-
- fis = new FileInputStream(properties
- .getProperty("keystorePath"));
-
- p12Store.load(fis, properties.getProperty(
- "keyStorePassword").toCharArray());
-
-
- trustStore = KeyStore.getInstance(properties
- .getProperty("trustStoreType"));
-
- fisTrustStore = new FileInputStream(properties
- .getProperty("trustStorePath"));
- trustStore.load(fisTrustStore, properties.getProperty(
- "trustStorePassword").toCharArray());
+ // Dynamically register Bouncy Castle provider.
+ boolean found = false;
+ // Check if BouncyCastle is already registered as a provider
+ final Provider[] providers = Security.getProviders();
+ for (int i = 0; i < providers.length; i++) {
+ if (providers[i].getName().equals(BouncyCastleProvider.PROVIDER_NAME)) {
+ found = true;
+ }
+ }
+
+ // Register only if the provider has not been previously registered
+ if (!found) {
+ LOG.debug("SAMLCore: Register Bouncy Castle provider.");
+ Security.insertProviderAt(new BouncyCastleProvider(), Security.getProviders().length);
+ }
+
+ p12Store = KeyStore.getInstance(properties.getProperty("keystoreType"));
+
+ fis = new FileInputStream(properties.getProperty("keystorePath"));
+
+ p12Store.load(fis, properties.getProperty("keyStorePassword").toCharArray());
+
+ trustStore = KeyStore.getInstance(properties.getProperty("trustStoreType"));
+
+ fisTrustStore = new FileInputStream(properties.getProperty("trustStorePath"));
+ trustStore.load(fisTrustStore, properties.getProperty("trustStorePassword").toCharArray());
} catch (Exception e) {
- throw new SAMLEngineException(
- "Error loading CryptographicServiceProvider", e);
- } finally {
+ throw new SAMLEngineException("Error loading CryptographicServiceProvider", e);
+ } finally {
IOUtils.closeQuietly(fis);
IOUtils.closeQuietly(fisTrustStore);
- }
+ }
}
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignSW.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignSW.java
index 0984bb9ca..1ca857e9e 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignSW.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/SignSW.java
@@ -12,17 +12,34 @@
* Licence for the specific language governing permissions and limitations under
* the Licence.
*/
-
package eu.stork.peps.auth.engine.core.impl;
-import eu.stork.peps.auth.engine.X509PrincipalUtil;
-import eu.stork.peps.auth.engine.core.CustomAttributeQuery;
-import eu.stork.peps.auth.engine.core.SAMLEngineSignI;
-import eu.stork.peps.exceptions.SAMLEngineException;
+import java.io.ByteArrayInputStream;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.GeneralSecurityException;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.PrivateKey;
+import java.security.Provider;
+import java.security.Security;
+import java.security.UnrecoverableKeyException;
+import java.security.cert.CertificateExpiredException;
+import java.security.cert.CertificateFactory;
+import java.security.cert.CertificateNotYetValidException;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.InvalidPropertiesFormatException;
+import java.util.List;
+import java.util.Properties;
+
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.NotImplementedException;
import org.bouncycastle.jce.X509Principal;
-//import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.opensaml.Configuration;
import org.opensaml.common.SAMLObject;
import org.opensaml.common.SignableSAMLObject;
@@ -41,491 +58,426 @@ import org.opensaml.xml.security.keyinfo.NamedKeyInfoGeneratorManager;
import org.opensaml.xml.security.trust.ExplicitKeyTrustEvaluator;
import org.opensaml.xml.security.trust.ExplicitX509CertificateTrustEvaluator;
import org.opensaml.xml.security.x509.BasicX509Credential;
-import org.opensaml.xml.signature.*;
+import org.opensaml.xml.signature.KeyInfo;
import org.opensaml.xml.signature.Signature;
+import org.opensaml.xml.signature.SignatureConstants;
import org.opensaml.xml.signature.SignatureException;
+import org.opensaml.xml.signature.SignatureValidator;
import org.opensaml.xml.signature.Signer;
import org.opensaml.xml.util.Base64;
import org.opensaml.xml.validation.ValidationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.ByteArrayInputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.*;
-import java.security.cert.CertificateExpiredException;
-import java.security.cert.CertificateFactory;
-import java.security.cert.CertificateNotYetValidException;
-import java.security.cert.X509Certificate;
-import java.util.*;
+import eu.stork.peps.auth.engine.X509PrincipalUtil;
+import eu.stork.peps.auth.engine.core.CustomAttributeQuery;
+import eu.stork.peps.auth.engine.core.SAMLEngineSignI;
+import eu.stork.peps.exceptions.SAMLEngineException;
/**
- * The Class SWSign. Class responsible for signing and validating of messages
- * SAML with a certificate store software.
+ * The Class SWSign. Class responsible for signing and validating of messages SAML with a certificate store software.
*
* @author fjquevedo
*/
public class SignSW implements SAMLEngineSignI {
- /**
- * The Constant KEYSTORE_TYPE.
- */
- private static final String KEYSTORE_TYPE = "keystoreType";
-
- /**
- * The Constant KEY_STORE_PASSWORD.
- */
- private static final String KEY_STORE_PASS = "keyStorePassword";
-
- /**
- * The logger.
- */
- private static final Logger LOG = LoggerFactory.getLogger(SignSW.class
- .getName());
-
- /**
- * The stork own key store.
- */
- private KeyStore storkOwnKeyStore = null;
-
- /**
- * The instance.
- *
- * @return the properties
- */
-
- public final Properties getProperties() {
- return properties;
- }
-
- /**
- * Gets the stork own key store.
- *
- * @return the stork own key store
- */
- public final KeyStore getStorkOwnKeyStore() {
- return storkOwnKeyStore;
- }
-
- /**
- * Gets the stork trustStore.
- *
- * @return the stork own key store
- */
- public KeyStore getTrustStore() {
- return storkOwnKeyStore;
- }
-
- /**
- * Sets the stork own key store.
- *
- * @param newkOwnKeyStore the new stork own key store
- */
- public final void setStorkOwnKeyStore(final KeyStore newkOwnKeyStore) {
- this.storkOwnKeyStore = newkOwnKeyStore;
- }
-
- /**
- * Sets the properties.
- *
- * @param newProperties the new properties
- */
- public final void setProperties(final Properties newProperties) {
- this.properties = newProperties;
- }
-
- /**
- * The SW sign prop.
- */
- private Properties properties = null;
-
-
- /**
- * Inits the file configuration.
- *
- * @param fileConf name of the file configuration
- * @throws SAMLEngineException error at the load from file configuration
- */
- public final void init(final String fileConf)
- throws SAMLEngineException {
- InputStream fileProperties = null;
- // fetch base from system properties, give a default if there is nothing configured
- String base = System.getProperty("eu.stork.samlengine.config.location");
- if (null != base) {
- if (!base.endsWith("/")) {
- base += "/";
- }
- } else {
- base = "/";
- }
-
- try {
- if (null != base)
- fileProperties = new FileInputStream(base + fileConf);
- else
- fileProperties = SignSW.class.getResourceAsStream("/"
- + fileConf);
- properties = new Properties();
-
- properties.loadFromXML(fileProperties);
- fileProperties.close();
- } catch (InvalidPropertiesFormatException e) {
- LOG.info("Exception: invalid properties format.");
- throw new SAMLEngineException(e);
- } catch (IOException e) {
- LOG.info("Exception: invalid file: " + fileConf);
- throw new SAMLEngineException(e);
- } finally {
- IOUtils.closeQuietly(fileProperties);
- }
- }
-
- /**
- * @return the X509Certificate
- * @see eu.stork.peps.auth.engine.core.SAMLEngineSignI#getCertificate()
- */
- public final X509Certificate getCertificate() {
- throw new NotImplementedException();
- }
-
-
- /**
- * Sign the token SAML.
- *
- * @param tokenSaml the token SAML.
- * @return the SAML object
- * @throws SAMLEngineException the SAML engine exception
- */
- public final SAMLObject sign(final SignableSAMLObject tokenSaml)
- throws SAMLEngineException {
- LOG.info("Start Sign process.");
- try {
- final String serialNumber = properties.getProperty("serialNumber");
- final String issuer = properties.getProperty("issuer");
-
- String alias = null;
- String aliasCert;
- X509Certificate certificate;
- boolean find = false;
-
- for (final Enumeration<String> e = storkOwnKeyStore.aliases(); e
- .hasMoreElements() && !find; ) {
- aliasCert = e.nextElement();
- certificate = (X509Certificate) storkOwnKeyStore
- .getCertificate(aliasCert);
-
- final String serialNum = certificate.getSerialNumber()
- .toString(16);
-
- try {
- X509Principal issuerDN = new X509Principal(certificate.getIssuerDN().getName());
- X509Principal issuerDNConf = new X509Principal(issuer);
-
- if (serialNum.equalsIgnoreCase(serialNumber)
- && X509PrincipalUtil.equals(issuerDN, issuerDNConf)) {
- alias = aliasCert;
- find = true;
- }
- } catch (Exception ex) {
- LOG.error("Exception during signing: " + ex.getMessage()); // Added as a workaround for Bouncycastle email error
- }
- }
- if (!find) {
- throw new SAMLEngineException("Certificate cannot be found in keystore ");
- }
- certificate = (X509Certificate) storkOwnKeyStore.getCertificate(alias);
- final PrivateKey privateKey = (PrivateKey) storkOwnKeyStore.getKey(
- alias, properties.getProperty("keyPassword").toCharArray());
-
- LOG.info("Recover BasicX509Credential.");
- final BasicX509Credential credential = new BasicX509Credential();
-
- LOG.debug("Load certificate");
- credential.setEntityCertificate(certificate);
-
- LOG.debug("Load privateKey");
- credential.setPrivateKey(privateKey);
-
- LOG.debug("Begin signature with openSaml");
- final Signature signature = (Signature) Configuration
- .getBuilderFactory().getBuilder(
- Signature.DEFAULT_ELEMENT_NAME).buildObject(
- Signature.DEFAULT_ELEMENT_NAME);
-
- signature.setSigningCredential(credential);
- signature.setSignatureAlgorithm(
- SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
- //signature.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);
-
-
- final SecurityConfiguration secConfiguration = Configuration
- .getGlobalSecurityConfiguration();
- final NamedKeyInfoGeneratorManager keyInfoManager = secConfiguration
- .getKeyInfoGeneratorManager();
- final KeyInfoGeneratorManager keyInfoGenManager = keyInfoManager
- .getDefaultManager();
- final KeyInfoGeneratorFactory keyInfoGenFac = keyInfoGenManager
- .getFactory(credential);
- final KeyInfoGenerator keyInfoGenerator = keyInfoGenFac
- .newInstance();
-
- KeyInfo keyInfo = keyInfoGenerator.generate(credential);
-
- signature.setKeyInfo(keyInfo);
- signature.setCanonicalizationAlgorithm(
- SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
-
- //Create a second signature which will be used when signing assertion and response
- final Signature signature2 = (Signature) Configuration
- .getBuilderFactory().getBuilder(
- Signature.DEFAULT_ELEMENT_NAME).buildObject(
- Signature.DEFAULT_ELEMENT_NAME);
- final SecurityConfiguration secConfiguration2 = Configuration
- .getGlobalSecurityConfiguration();
- final NamedKeyInfoGeneratorManager keyInfoManager2 = secConfiguration2
- .getKeyInfoGeneratorManager();
- final KeyInfoGeneratorManager keyInfoGenManager2 = keyInfoManager2
- .getDefaultManager();
- final KeyInfoGeneratorFactory keyInfoGenFac2 = keyInfoGenManager2
- .getFactory(credential);
- final KeyInfoGenerator keyInfoGenerator2 = keyInfoGenFac2
- .newInstance();
-
- KeyInfo keyInfo2 = keyInfoGenerator2.generate(credential);
- signature2.setSigningCredential(credential);
- signature2.setSignatureAlgorithm(
- SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
- //signature2.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);
- signature2.setKeyInfo(keyInfo2);
- signature2.setCanonicalizationAlgorithm(
- SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
-
-
- LOG.info("Marshall samlToken.");
- String qn = tokenSaml.getElementQName().toString();
-
- if (qn.endsWith(CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME)) {
- tokenSaml.setSignature(signature);
- CustomAttributeQueryMarshaller mars = new CustomAttributeQueryMarshaller();
- mars.marshall(tokenSaml);
- Signer.signObject(signature);
- } else if (qn.endsWith(Response.DEFAULT_ELEMENT_LOCAL_NAME) && !qn.contains(LogoutResponse.DEFAULT_ELEMENT_LOCAL_NAME)) {
- Response res = (Response) tokenSaml;
- List<Assertion> asserts = res.getAssertions();
- //If multiple assertions we just sign the response and not the assertion
- if (asserts.size() > 1) {
- tokenSaml.setSignature(signature);
- Configuration.getMarshallerFactory().getMarshaller(tokenSaml)
- .marshall(tokenSaml);
- LOG.info("Sign samlToken.");
- Signer.signObject(signature);
- }
- //If single assertion we sign the assertion and response
- else {
- Assertion assertion = (Assertion) asserts.get(0);
- assertion.setSignature(signature);
- tokenSaml.setSignature(signature2);
- Configuration.getMarshallerFactory().getMarshaller(tokenSaml)
- .marshall(tokenSaml);
- LOG.info("Sign samlToken.");
- Signer.signObject(signature);
- Signer.signObject(signature2);
- }
- }
- //Normally we just sign the total saml response
- else {
- tokenSaml.setSignature(signature);
- Configuration.getMarshallerFactory().getMarshaller(tokenSaml)
- .marshall(tokenSaml);
- LOG.info("Sign samlToken.");
- Signer.signObject(signature);
- }
-
-
- } catch (MarshallingException e) {
- LOG.error("MarshallingException");
- throw new SAMLEngineException(e);
- } catch (NoSuchAlgorithmException e) {
- LOG.error("A 'xmldsig#rsa-sha1' cryptographic algorithm is requested but is not available in the environment.");
- throw new SAMLEngineException(e);
- } catch (KeyStoreException e) {
- LOG.error("Generic KeyStore exception.");
- throw new SAMLEngineException(e);
- } catch (SignatureException e) {
- LOG.error("Signature exception.");
- throw new SAMLEngineException(e);
- } catch (SecurityException e) {
- LOG.error("Security exception.");
- throw new SAMLEngineException(e);
- } catch (UnrecoverableKeyException e) {
- LOG.error("UnrecoverableKey exception.");
- throw new SAMLEngineException(e);
- }
-
- return tokenSaml;
- }
-
- /**
- * @param tokenSaml token SAML
- * @return the SAMLObject validated.
- * @throws SAMLEngineException error validate signature
- * @see eu.stork.peps.auth.engine.core.SAMLEngineSignI#validateSignature(org.opensaml.common.SignableSAMLObject)
- */
- public final SAMLObject validateSignature(final SignableSAMLObject tokenSaml)
- throws SAMLEngineException {
- LOG.info("Start signature validation.");
- try {
-
- // Validate structure signature
- final SAMLSignatureProfileValidator sigProfValidator =
- new SAMLSignatureProfileValidator();
- try {
- // Indicates signature id conform to SAML Signature profile
- sigProfValidator.validate(tokenSaml.getSignature());
- } catch (ValidationException e) {
- LOG.error("ValidationException: signature isn't conform to SAML Signature profile.");
- throw new SAMLEngineException(e);
- }
-
- String aliasCert = null;
- X509Certificate certificate;
-
- final List<Credential> trustCred = new ArrayList<Credential>();
-
- for (final Enumeration<String> e = storkOwnKeyStore.aliases(); e
- .hasMoreElements(); ) {
- aliasCert = e.nextElement();
- final BasicX509Credential credential = new BasicX509Credential();
- certificate = (X509Certificate) storkOwnKeyStore
- .getCertificate(aliasCert);
- credential.setEntityCertificate(certificate);
- trustCred.add(credential);
- }
-
- final KeyInfo keyInfo = tokenSaml.getSignature().getKeyInfo();
-
- final org.opensaml.xml.signature.X509Certificate xmlCert = keyInfo
- .getX509Datas().get(0).getX509Certificates().get(0);
-
- final CertificateFactory certFact = CertificateFactory
- .getInstance("X.509");
- final ByteArrayInputStream bis = new ByteArrayInputStream(Base64
- .decode(xmlCert.getValue()));
- final X509Certificate cert = (X509Certificate) certFact
- .generateCertificate(bis);
-
- // Exist only one certificate
- final BasicX509Credential entityX509Cred = new BasicX509Credential();
- entityX509Cred.setEntityCertificate(cert);
-
- try {
- cert.checkValidity();
- } catch (CertificateExpiredException exp) {
- throw new SAMLEngineException("Certificate expired.");
- } catch (CertificateNotYetValidException exp) {
- throw new SAMLEngineException("Certificate not yet valid.");
- }
-
- /* A better use of PKI based validation but not wanted for STORK...
- boolean trusted = false;
-
- for (final Enumeration<String> e = storkOwnKeyStore.aliases(); e.hasMoreElements();)
- {
- aliasCert = e.nextElement();
- certificate = (X509Certificate) storkOwnKeyStore.getCertificate(aliasCert);
- try {
- cert.verify(certificate.getPublicKey());
- trusted = true;
- break;
- }
- catch (Exception ex) {
- //Do nothing - cert not trusted yet
- }
- }
-
- if (!trusted)
- throw new SAMLEngineException("Certificate is not trusted.");*/
-
- // Validate trust certificates
- final ExplicitX509CertificateTrustEvaluator chainTrustEvaluator = new ExplicitX509CertificateTrustEvaluator();
-
- if (!chainTrustEvaluator.validate(entityX509Cred, trustCred)) {
- throw new SAMLEngineException("Certificate is not trusted.");
- }
- final ExplicitKeyTrustEvaluator keyTrustEvaluator =
- new ExplicitKeyTrustEvaluator();
-
- if (!keyTrustEvaluator.validate(entityX509Cred, trustCred)) {
- throw new SAMLEngineException("Certificate is not trusted.");
- }
-
- // Validate signature
- final SignatureValidator sigValidator = new SignatureValidator(
- entityX509Cred);
- sigValidator.validate(tokenSaml.getSignature());
-
- } catch (ValidationException e) {
- LOG.error("ValidationException.");
- throw new SAMLEngineException(e);
- } catch (KeyStoreException e) {
- LOG.error("KeyStoreException.", e);
- throw new SAMLEngineException(e);
- } catch (GeneralSecurityException e) {
- LOG.error("GeneralSecurityException.", e);
- throw new SAMLEngineException(e);
- }
- LOG.info(tokenSaml.getSignatureReferenceID());
- LOG.info("Start signature validation - END.");
- return tokenSaml;
- }
-
-
- /**
- * Load cryptographic service provider.
- *
- * @throws SAMLEngineException the SAML engine exception
- */
- public final void loadCryptServiceProvider() throws SAMLEngineException {
- LOG.info("Load Cryptographic Service Provider");
- FileInputStream fis = null;
- try {
-// // Dynamically register Bouncy Castle provider.
-// boolean found = false;
-// // Check if BouncyCastle is already registered as a provider
-// final Provider[] providers = Security.getProviders();
-// for (int i = 0; i < providers.length; i++) {
-// if (providers[i].getName().equals(
-// BouncyCastleProvider.PROVIDER_NAME)) {
-// found = true;
-// }
-// }
-//
-// // Register only if the provider has not been previously registered
-// if (!found) {
-// LOG.info("SAMLCore: Register Bouncy Castle provider.");
-// Security.insertProviderAt(new BouncyCastleProvider(), Security
-// .getProviders().length);
-// }
-
- storkOwnKeyStore = KeyStore.getInstance(properties
- .getProperty(KEYSTORE_TYPE));
-
- LOG.info("Loading KeyInfo from keystore file " + properties.getProperty("keystorePath"));
- fis = new FileInputStream(properties
- .getProperty("keystorePath"));
-
- storkOwnKeyStore.load(fis, properties.getProperty(
- KEY_STORE_PASS).toCharArray());
-
- } catch (Exception e) {
- LOG.error("Error loading CryptographicServiceProvider", e);
- throw new SAMLEngineException(
- "Error loading CryptographicServiceProvider", e);
- } finally {
- IOUtils.closeQuietly(fis);
- }
- }
+ /**
+ * The Constant KEYSTORE_TYPE.
+ */
+ private static final String KEYSTORE_TYPE = "keystoreType";
+
+ /**
+ * The Constant KEY_STORE_PASSWORD.
+ */
+ private static final String KEY_STORE_PASS = "keyStorePassword";
+
+ /**
+ * The logger.
+ */
+ private static final Logger LOG = LoggerFactory.getLogger(SignSW.class.getName());
+
+ /**
+ * The stork own key store.
+ */
+ private KeyStore storkOwnKeyStore = null;
+
+ /**
+ * The instance.
+ *
+ * @return the properties
+ */
+
+ public final Properties getProperties() {
+ return properties;
+ }
+
+ /**
+ * Gets the stork own key store.
+ *
+ * @return the stork own key store
+ */
+ public final KeyStore getStorkOwnKeyStore() {
+ return storkOwnKeyStore;
+ }
+
+ /**
+ * Gets the stork trustStore.
+ *
+ * @return the stork own key store
+ */
+ public KeyStore getTrustStore() {
+ return storkOwnKeyStore;
+ }
+
+ /**
+ * Sets the stork own key store.
+ *
+ * @param newkOwnKeyStore
+ * the new stork own key store
+ */
+ public final void setStorkOwnKeyStore(final KeyStore newkOwnKeyStore) {
+ this.storkOwnKeyStore = newkOwnKeyStore;
+ }
+
+ /**
+ * Sets the properties.
+ *
+ * @param newProperties
+ * the new properties
+ */
+ public final void setProperties(final Properties newProperties) {
+ this.properties = newProperties;
+ }
+
+ /**
+ * The SW sign prop.
+ */
+ private Properties properties = null;
+
+ /**
+ * Inits the file configuration.
+ *
+ * @param fileConf
+ * name of the file configuration
+ * @throws SAMLEngineException
+ * error at the load from file configuration
+ */
+ public final void init(final String fileConf) throws SAMLEngineException {
+ InputStream fileProperties = null;
+ // fetch base from system properties, give a default if there is nothing configured
+ String base = System.getProperty("eu.stork.samlengine.config.location");
+ if (null != base) {
+ if (!base.endsWith("/")) {
+ base += "/";
+ }
+ } else {
+ base = "/";
+ }
+
+ try {
+ if (null != base)
+ fileProperties = new FileInputStream(base + fileConf);
+ else
+ fileProperties = SignSW.class.getResourceAsStream("/" + fileConf);
+ properties = new Properties();
+
+ properties.loadFromXML(fileProperties);
+ fileProperties.close();
+ } catch (InvalidPropertiesFormatException e) {
+ LOG.info("Exception: invalid properties format.");
+ throw new SAMLEngineException(e);
+ } catch (IOException e) {
+ LOG.info("Exception: invalid file: " + fileConf);
+ throw new SAMLEngineException(e);
+ } finally {
+ IOUtils.closeQuietly(fileProperties);
+ }
+ }
+
+ /**
+ * @return the X509Certificate
+ * @see eu.stork.peps.auth.engine.core.SAMLEngineSignI#getCertificate()
+ */
+ public final X509Certificate getCertificate() {
+ throw new NotImplementedException();
+ }
+
+ /**
+ * Sign the token SAML.
+ *
+ * @param tokenSaml
+ * the token SAML.
+ * @return the SAML object
+ * @throws SAMLEngineException
+ * the SAML engine exception
+ */
+ public final SAMLObject sign(final SignableSAMLObject tokenSaml) throws SAMLEngineException {
+ LOG.info("Start Sign process.");
+ try {
+ final String serialNumber = properties.getProperty("serialNumber");
+ final String issuer = properties.getProperty("issuer");
+
+ String alias = null;
+ String aliasCert;
+ X509Certificate certificate;
+ boolean find = false;
+
+ for (final Enumeration<String> e = storkOwnKeyStore.aliases(); e.hasMoreElements() && !find;) {
+ aliasCert = e.nextElement();
+ certificate = (X509Certificate) storkOwnKeyStore.getCertificate(aliasCert);
+
+ final String serialNum = certificate.getSerialNumber().toString(16);
+
+ X509Principal issuerDN = new X509Principal(certificate.getIssuerDN().getName());
+ X509Principal issuerDNConf = new X509Principal(issuer);
+
+ if (serialNum.equalsIgnoreCase(serialNumber) && X509PrincipalUtil.X509equals(issuerDN, issuerDNConf)) {
+ alias = aliasCert;
+ find = true;
+ }
+ }
+ if (!find) {
+ throw new SAMLEngineException("Certificate cannot be found in keystore ");
+ }
+ certificate = (X509Certificate) storkOwnKeyStore.getCertificate(alias);
+ final PrivateKey privateKey = (PrivateKey) storkOwnKeyStore.getKey(alias, properties.getProperty("keyPassword").toCharArray());
+
+ LOG.info("Recover BasicX509Credential.");
+ final BasicX509Credential credential = new BasicX509Credential();
+
+ LOG.debug("Load certificate");
+ credential.setEntityCertificate(certificate);
+
+ LOG.debug("Load privateKey");
+ credential.setPrivateKey(privateKey);
+
+ LOG.debug("Begin signature with openSaml");
+ final Signature signature = (Signature) Configuration.getBuilderFactory().getBuilder(Signature.DEFAULT_ELEMENT_NAME).buildObject(Signature.DEFAULT_ELEMENT_NAME);
+
+ signature.setSigningCredential(credential);
+ signature.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
+ // signature.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);
+
+ final SecurityConfiguration secConfiguration = Configuration.getGlobalSecurityConfiguration();
+ final NamedKeyInfoGeneratorManager keyInfoManager = secConfiguration.getKeyInfoGeneratorManager();
+ final KeyInfoGeneratorManager keyInfoGenManager = keyInfoManager.getDefaultManager();
+ final KeyInfoGeneratorFactory keyInfoGenFac = keyInfoGenManager.getFactory(credential);
+ final KeyInfoGenerator keyInfoGenerator = keyInfoGenFac.newInstance();
+
+ KeyInfo keyInfo = keyInfoGenerator.generate(credential);
+
+ signature.setKeyInfo(keyInfo);
+ signature.setCanonicalizationAlgorithm(SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
+
+ // Create a second signature which will be used when signing assertion and response
+ final Signature signature2 = (Signature) Configuration.getBuilderFactory().getBuilder(Signature.DEFAULT_ELEMENT_NAME).buildObject(Signature.DEFAULT_ELEMENT_NAME);
+ final SecurityConfiguration secConfiguration2 = Configuration.getGlobalSecurityConfiguration();
+ final NamedKeyInfoGeneratorManager keyInfoManager2 = secConfiguration2.getKeyInfoGeneratorManager();
+ final KeyInfoGeneratorManager keyInfoGenManager2 = keyInfoManager2.getDefaultManager();
+ final KeyInfoGeneratorFactory keyInfoGenFac2 = keyInfoGenManager2.getFactory(credential);
+ final KeyInfoGenerator keyInfoGenerator2 = keyInfoGenFac2.newInstance();
+
+ KeyInfo keyInfo2 = keyInfoGenerator2.generate(credential);
+ signature2.setSigningCredential(credential);
+ signature2.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
+ // signature2.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);
+ signature2.setKeyInfo(keyInfo2);
+ signature2.setCanonicalizationAlgorithm(SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
+
+ LOG.info("Marshall samlToken.");
+ String qn = tokenSaml.getElementQName().toString();
+
+ if (qn.endsWith(CustomAttributeQuery.DEFAULT_ELEMENT_LOCAL_NAME)) {
+ tokenSaml.setSignature(signature);
+ CustomAttributeQueryMarshaller mars = new CustomAttributeQueryMarshaller();
+ mars.marshall(tokenSaml);
+ Signer.signObject(signature);
+ } else if (qn.endsWith(Response.DEFAULT_ELEMENT_LOCAL_NAME) && !qn.contains(LogoutResponse.DEFAULT_ELEMENT_LOCAL_NAME)) {
+ Response res = (Response) tokenSaml;
+ List<Assertion> asserts = res.getAssertions();
+ // If multiple assertions we just sign the response and not the assertion
+ if (asserts.size() > 1) {
+ tokenSaml.setSignature(signature);
+ Configuration.getMarshallerFactory().getMarshaller(tokenSaml).marshall(tokenSaml);
+ LOG.info("Sign samlToken.");
+ Signer.signObject(signature);
+ }
+ // If single assertion we sign the assertion and response
+ else {
+ Assertion assertion = (Assertion) asserts.get(0);
+ assertion.setSignature(signature);
+ tokenSaml.setSignature(signature2);
+ Configuration.getMarshallerFactory().getMarshaller(tokenSaml).marshall(tokenSaml);
+ LOG.info("Sign samlToken.");
+ Signer.signObject(signature);
+ Signer.signObject(signature2);
+ }
+ }
+ // Normally we just sign the total saml response
+ else {
+ tokenSaml.setSignature(signature);
+ Configuration.getMarshallerFactory().getMarshaller(tokenSaml).marshall(tokenSaml);
+ LOG.info("Sign samlToken.");
+ Signer.signObject(signature);
+ }
+
+ } catch (MarshallingException e) {
+ LOG.error("MarshallingException");
+ throw new SAMLEngineException(e);
+ } catch (NoSuchAlgorithmException e) {
+ LOG.error("A 'xmldsig#rsa-sha1' cryptographic algorithm is requested but is not available in the environment.");
+ throw new SAMLEngineException(e);
+ } catch (KeyStoreException e) {
+ LOG.error("Generic KeyStore exception.");
+ throw new SAMLEngineException(e);
+ } catch (SignatureException e) {
+ LOG.error("Signature exception.");
+ throw new SAMLEngineException(e);
+ } catch (SecurityException e) {
+ LOG.error("Security exception.");
+ throw new SAMLEngineException(e);
+ } catch (UnrecoverableKeyException e) {
+ LOG.error("UnrecoverableKey exception.");
+ throw new SAMLEngineException(e);
+ }
+
+ return tokenSaml;
+ }
+
+ /**
+ * @param tokenSaml
+ * token SAML
+ * @return the SAMLObject validated.
+ * @throws SAMLEngineException
+ * error validate signature
+ * @see eu.stork.peps.auth.engine.core.SAMLEngineSignI#validateSignature(org.opensaml.common.SignableSAMLObject)
+ */
+ public final SAMLObject validateSignature(final SignableSAMLObject tokenSaml) throws SAMLEngineException {
+ LOG.info("Start signature validation SW.");
+ try {
+
+ // Validate structure signature
+ final SAMLSignatureProfileValidator sigProfValidator = new SAMLSignatureProfileValidator();
+ try {
+ // Indicates signature id conform to SAML Signature profile
+ sigProfValidator.validate(tokenSaml.getSignature());
+ } catch (ValidationException e) {
+ LOG.error("ValidationException: signature isn't conform to SAML Signature profile.");
+ throw new SAMLEngineException(e);
+ }
+
+ String aliasCert = null;
+ X509Certificate certificate;
+
+ final List<Credential> trustCred = new ArrayList<Credential>();
+
+ for (final Enumeration<String> e = storkOwnKeyStore.aliases(); e.hasMoreElements();) {
+ aliasCert = e.nextElement();
+ final BasicX509Credential credential = new BasicX509Credential();
+ certificate = (X509Certificate) storkOwnKeyStore.getCertificate(aliasCert);
+ credential.setEntityCertificate(certificate);
+ trustCred.add(credential);
+ }
+
+ final KeyInfo keyInfo = tokenSaml.getSignature().getKeyInfo();
+
+ final org.opensaml.xml.signature.X509Certificate xmlCert = keyInfo.getX509Datas().get(0).getX509Certificates().get(0);
+
+ final CertificateFactory certFact = CertificateFactory.getInstance("X.509");
+ final ByteArrayInputStream bis = new ByteArrayInputStream(Base64.decode(xmlCert.getValue()));
+ final X509Certificate cert = (X509Certificate) certFact.generateCertificate(bis);
+
+ // Exist only one certificate
+ final BasicX509Credential entityX509Cred = new BasicX509Credential();
+ entityX509Cred.setEntityCertificate(cert);
+
+ try {
+ cert.checkValidity();
+ } catch (CertificateExpiredException exp) {
+ throw new SAMLEngineException("Certificate expired.");
+ } catch (CertificateNotYetValidException exp) {
+ throw new SAMLEngineException("Certificate not yet valid.");
+ }
+
+ /*
+ * A better use of PKI based validation but not wanted for STORK... boolean trusted = false;
+ *
+ * for (final Enumeration<String> e = storkOwnKeyStore.aliases(); e.hasMoreElements();) { aliasCert = e.nextElement(); certificate = (X509Certificate)
+ * storkOwnKeyStore.getCertificate(aliasCert); try { cert.verify(certificate.getPublicKey()); trusted = true; break; } catch (Exception ex) { //Do nothing - cert not trusted yet } }
+ *
+ * if (!trusted) throw new SAMLEngineException("Certificate is not trusted.");
+ */
+
+ // Validate trust certificates
+ final ExplicitX509CertificateTrustEvaluator chainTrustEvaluator = new ExplicitX509CertificateTrustEvaluator();
+
+ if (!chainTrustEvaluator.validate(entityX509Cred, trustCred)) {
+ throw new SAMLEngineException("Certificate is not trusted.");
+ }
+ final ExplicitKeyTrustEvaluator keyTrustEvaluator = new ExplicitKeyTrustEvaluator();
+
+ if (!keyTrustEvaluator.validate(entityX509Cred, trustCred)) {
+ throw new SAMLEngineException("Certificate is not trusted.");
+ }
+
+ // Validate signature
+ final SignatureValidator sigValidator = new SignatureValidator(entityX509Cred);
+ sigValidator.validate(tokenSaml.getSignature());
+
+ } catch (ValidationException e) {
+ LOG.error("ValidationException.");
+ throw new SAMLEngineException(e);
+ } catch (KeyStoreException e) {
+ LOG.error("KeyStoreException.", e);
+ throw new SAMLEngineException(e);
+ } catch (GeneralSecurityException e) {
+ LOG.error("GeneralSecurityException.", e);
+ throw new SAMLEngineException(e);
+ }
+ LOG.info(tokenSaml.getSignatureReferenceID());
+ LOG.info("Start signature validation - END.");
+ return tokenSaml;
+ }
+
+ /**
+ * Load cryptographic service provider.
+ *
+ * @throws SAMLEngineException
+ * the SAML engine exception
+ */
+ public final void loadCryptServiceProvider() throws SAMLEngineException {
+ LOG.info("Load Cryptographic Service Provider");
+ FileInputStream fis = null;
+ try {
+ // Dynamically register Bouncy Castle provider.
+ boolean found = false;
+ // Check if BouncyCastle is already registered as a provider
+ final Provider[] providers = Security.getProviders();
+ for (int i = 0; i < providers.length; i++) {
+ if (providers[i].getName().equals(BouncyCastleProvider.PROVIDER_NAME)) {
+ found = true;
+ }
+ }
+
+ // Register only if the provider has not been previously registered
+ if (!found) {
+ LOG.info("SAMLCore: Register Bouncy Castle provider.");
+ Security.insertProviderAt(new BouncyCastleProvider(), Security.getProviders().length);
+ }
+
+ storkOwnKeyStore = KeyStore.getInstance(properties.getProperty(KEYSTORE_TYPE));
+
+ LOG.info("Loading KeyInfo from keystore file " + properties.getProperty("keystorePath"));
+ fis = new FileInputStream(properties.getProperty("keystorePath"));
+
+ storkOwnKeyStore.load(fis, properties.getProperty(KEY_STORE_PASS).toCharArray());
+
+ } catch (Exception e) {
+ LOG.error("Error loading CryptographicServiceProvider", e);
+ throw new SAMLEngineException("Error loading CryptographicServiceProvider", e);
+ } finally {
+ IOUtils.closeQuietly(fis);
+ }
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesBuilder.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesBuilder.java
index a60515593..332882a03 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesBuilder.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesBuilder.java
@@ -26,16 +26,15 @@ import eu.stork.peps.auth.engine.core.VIDPAuthenticationAttributes;
* @author fjquevedo
*/
public final class VIDPAuthenticationAttributesBuilder extends AbstractSAMLObjectBuilder<VIDPAuthenticationAttributes> {
-
- /** {@inheritDoc} */
- public VIDPAuthenticationAttributes buildObject() {
- return buildObject(SAMLCore.STORK10P_NS.getValue(), VIDPAuthenticationAttributes.DEF_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
- }
+ /** {@inheritDoc} */
+ public VIDPAuthenticationAttributes buildObject() {
+ return buildObject(SAMLCore.STORK10P_NS.getValue(), VIDPAuthenticationAttributes.DEF_LOCAL_NAME, SAMLCore.STORK10P_PREFIX.getValue());
+ }
+
+ /** {@inheritDoc} */
+ public VIDPAuthenticationAttributes buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new VIDPAuthenticationAttributesImpl(namespaceURI, localName, namespacePrefix);
+ }
- /** {@inheritDoc} */
- public VIDPAuthenticationAttributes buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
- return new VIDPAuthenticationAttributesImpl(namespaceURI, localName, namespacePrefix);
- }
-
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesImpl.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesImpl.java
index 25737e307..bfb85e357 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesImpl.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesImpl.java
@@ -33,100 +33,96 @@ import org.slf4j.LoggerFactory;
*
* @author fjquevedo
*/
-public final class VIDPAuthenticationAttributesImpl extends AbstractSignableSAMLObject implements
-VIDPAuthenticationAttributes {
+public final class VIDPAuthenticationAttributesImpl extends AbstractSignableSAMLObject implements VIDPAuthenticationAttributes {
- private static final Logger LOGGER = LoggerFactory.getLogger(VIDPAuthenticationAttributesImpl.class.getName());
- /** The citizen country code. */
- private CitizenCountryCode citizenCountryCode;
-
- /** The SP information. */
- private SPInformation spInformation;
+ private static final Logger LOGGER = LoggerFactory.getLogger(VIDPAuthenticationAttributesImpl.class.getName());
+ /** The citizen country code. */
+ private CitizenCountryCode citizenCountryCode;
+
+ /** The SP information. */
+ private SPInformation spInformation;
+
+ /**
+ * Instantiates a new requested attributes implement.
+ *
+ * @param namespaceURI
+ * the namespace URI
+ * @param elementLocalName
+ * the element local name
+ * @param namespacePrefix
+ * the namespace prefix
+ */
+ protected VIDPAuthenticationAttributesImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
/**
- * Instantiates a new requested attributes implement.
- *
- * @param namespaceURI the namespace URI
- * @param elementLocalName the element local name
- * @param namespacePrefix the namespace prefix
- */
- protected VIDPAuthenticationAttributesImpl(final String namespaceURI,
- final String elementLocalName, final String namespacePrefix) {
- super(namespaceURI, elementLocalName, namespacePrefix);
- }
-
-
- /**
- * getCitizenCountryCode.
- *
- * @return the citizen country code
- */
- public CitizenCountryCode getCitizenCountryCode() {
- return citizenCountryCode;
- }
-
- /**
- * getSPInformation
- *
- * @return the SP information
- */
- public SPInformation getSPInformation() {
+ * getCitizenCountryCode.
+ *
+ * @return the citizen country code
+ */
+ public CitizenCountryCode getCitizenCountryCode() {
+ return citizenCountryCode;
+ }
+
+ /**
+ * getSPInformation
+ *
+ * @return the SP information
+ */
+ public SPInformation getSPInformation() {
return spInformation;
}
- /**
- * Gets the ordered children.
- *
- * @return the ordered children
- *
- */
- public List<XMLObject> getOrderedChildren() {
- final ArrayList<XMLObject> children = new ArrayList<XMLObject>();
-
- children.add(citizenCountryCode);
- children.add(spInformation);
-
- if (getSignature() != null) {
- children.add(getSignature());
+ /**
+ * Gets the ordered children.
+ *
+ * @return the ordered children
+ *
+ */
+ public List<XMLObject> getOrderedChildren() {
+ final ArrayList<XMLObject> children = new ArrayList<XMLObject>();
+
+ children.add(citizenCountryCode);
+ children.add(spInformation);
+
+ if (getSignature() != null) {
+ children.add(getSignature());
+ }
+
+ return Collections.unmodifiableList(children);
+
}
-
- return Collections.unmodifiableList(children);
-
- }
-
- /**
- * Gets the signature reference id.
- *
- * @return the signature reference id
- *
- */
- public String getSignatureReferenceID() {
- return null;
- }
-
- /**
- * Sets the citizen country code.
- *
- * @param newCitizenCountryCode the new citizen country code
- *
- */
- public void setCitizenCountryCode(CitizenCountryCode newCitizenCountryCode) {
- this.citizenCountryCode = prepareForAssignment(this.citizenCountryCode, newCitizenCountryCode);
- }
-
- /**
- * Sets the SP information.
- *
- * @param newSPInformation the new SP information
- *
- */
- public void setSPInformation(SPInformation newSPInformation) {
- this.spInformation = prepareForAssignment(this.spInformation, newSPInformation);
+
+ /**
+ * Gets the signature reference id.
+ *
+ * @return the signature reference id
+ *
+ */
+ public String getSignatureReferenceID() {
+ return null;
+ }
+
+ /**
+ * Sets the citizen country code.
+ *
+ * @param newCitizenCountryCode
+ * the new citizen country code
+ *
+ */
+ public void setCitizenCountryCode(CitizenCountryCode newCitizenCountryCode) {
+ this.citizenCountryCode = prepareForAssignment(this.citizenCountryCode, newCitizenCountryCode);
}
- @Override
- public int hashCode() {
- LOGGER.warn("Hashcode has been called, passed to super. Nothing foreseen here");
- return super.hashCode();
- }
+ /**
+ * Sets the SP information.
+ *
+ * @param newSPInformation
+ * the new SP information
+ *
+ */
+ public void setSPInformation(SPInformation newSPInformation) {
+ this.spInformation = prepareForAssignment(this.spInformation, newSPInformation);
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesMarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesMarshaller.java
index 5635ddd6b..73e0ca6f5 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesMarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesMarshaller.java
@@ -24,10 +24,10 @@ import org.opensaml.common.impl.AbstractSAMLObjectMarshaller;
*/
public class VIDPAuthenticationAttributesMarshaller extends AbstractSAMLObjectMarshaller {
- /**
- * Instantiates a new vIDP authentication attributes marshaller.
- */
- public VIDPAuthenticationAttributesMarshaller() {
- super();
- }
+ /**
+ * Instantiates a new vIDP authentication attributes marshaller.
+ */
+ public VIDPAuthenticationAttributesMarshaller() {
+ super();
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesUnmarshaller.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesUnmarshaller.java
index ba4a4fe3a..dadf86254 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesUnmarshaller.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/impl/VIDPAuthenticationAttributesUnmarshaller.java
@@ -28,28 +28,29 @@ import eu.stork.peps.auth.engine.core.VIDPAuthenticationAttributes;
*
* @author fjquevedo
*/
-public class VIDPAuthenticationAttributesUnmarshaller extends
- AbstractSAMLObjectUnmarshaller {
+public class VIDPAuthenticationAttributesUnmarshaller extends AbstractSAMLObjectUnmarshaller {
- /**
- * Process child element.
- *
- * @param parentObject the parent object
- * @param childObject the child object
- *
- * @throws UnmarshallingException the unmarshalling exception
- *
- */
- protected final void processChildElement(final XMLObject parentObject,
- final XMLObject childObject) throws UnmarshallingException {
- final VIDPAuthenticationAttributes vIDPAuthenticationAttr = (VIDPAuthenticationAttributes) parentObject;
+ /**
+ * Process child element.
+ *
+ * @param parentObject
+ * the parent object
+ * @param childObject
+ * the child object
+ *
+ * @throws UnmarshallingException
+ * the unmarshalling exception
+ *
+ */
+ protected final void processChildElement(final XMLObject parentObject, final XMLObject childObject) throws UnmarshallingException {
+ final VIDPAuthenticationAttributes vIDPAuthenticationAttr = (VIDPAuthenticationAttributes) parentObject;
- if (childObject instanceof CitizenCountryCode) {
- vIDPAuthenticationAttr.setCitizenCountryCode((CitizenCountryCode) childObject);
- } else if (childObject instanceof SPInformation) {
- vIDPAuthenticationAttr.setSPInformation((SPInformation) childObject);
- } else {
- super.processChildElement(parentObject, childObject);
- }
- }
+ if (childObject instanceof CitizenCountryCode) {
+ vIDPAuthenticationAttr.setCitizenCountryCode((CitizenCountryCode) childObject);
+ } else if (childObject instanceof SPInformation) {
+ vIDPAuthenticationAttr.setSPInformation((SPInformation) childObject);
+ } else {
+ super.processChildElement(parentObject, childObject);
+ }
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/CustomAttributeQueryValidator.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/CustomAttributeQueryValidator.java
index c602ad38a..be06dcfb4 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/CustomAttributeQueryValidator.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/CustomAttributeQueryValidator.java
@@ -7,13 +7,15 @@ import org.opensaml.xml.validation.Validator;
import eu.stork.peps.auth.engine.core.CustomAttributeQuery;
public class CustomAttributeQueryValidator implements Validator<CustomAttributeQuery> {
-
+
/**
* Validate action.
*
- * @param attrQuery the attribute query to validate
+ * @param attrQuery
+ * the attribute query to validate
*
- * @throws ValidationException the validation exception
+ * @throws ValidationException
+ * the validation exception
*/
public final void validate(final CustomAttributeQuery attrQuery) throws ValidationException {
validateAssertion(attrQuery);
@@ -21,49 +23,58 @@ public class CustomAttributeQueryValidator implements Validator<CustomAttributeQ
validateDestination(attrQuery);
}
-
/**
* Validate assertion.
*
- * @param attrQuery the attribute query
+ * @param attrQuery
+ * the attribute query
*
- * @throws ValidationException the validation exception
+ * @throws ValidationException
+ * the validation exception
*/
- protected final void validateAssertion(final CustomAttributeQuery attrQuery)
- throws ValidationException {
+ protected final void validateAssertion(final CustomAttributeQuery attrQuery) throws ValidationException {
if (DatatypeHelper.isEmpty(attrQuery.getAssertionConsumerServiceURL())) {
throw new ValidationException("Consumer Service URL must be specified.");
}
}
-
+
/**
* Validate subject
- * @param query the attribute query to validate
- * @throws ValidationException the validation exception
- */
+ *
+ * @param query
+ * the attribute query to validate
+ * @throws ValidationException
+ * the validation exception
+ */
protected void validateSubject(CustomAttributeQuery query) throws ValidationException {
- if (query.getSubject() == null)
- throw new ValidationException("Subject is required");
- }
-
+ if (query.getSubject() == null)
+ throw new ValidationException("Subject is required");
+ }
+
/**
* Validate the destination
- * @param query the query to validate
- * @throws ValidationException the validation exception
+ *
+ * @param query
+ * the query to validate
+ * @throws ValidationException
+ * the validation exception
*/
protected void validateDestination(CustomAttributeQuery query) throws ValidationException {
- if (query.getDestination() == null)
- throw new ValidationException("Destination is required");
- }
-
+ if (query.getDestination() == null)
+ throw new ValidationException("Destination is required");
+ }
+
/**
* Validate the destination
- * @param query the query to validate
- * @throws ValidationException the validation exception
+ *
+ * @param query
+ * the query to validate
+ * @throws ValidationException
+ * the validation exception
*/
protected void validateTime(CustomAttributeQuery query) throws ValidationException {
- if (query.getIssueInstant().isAfterNow())
- throw new ValidationException("Issue time is in the futue");
- }
+ if (query.getIssueInstant().isAfterNow())
+ throw new ValidationException("Issue time is in the futue");
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/ExtensionsSchemaValidator.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/ExtensionsSchemaValidator.java
index 491549aac..6a709a7bc 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/ExtensionsSchemaValidator.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/ExtensionsSchemaValidator.java
@@ -31,31 +31,29 @@ import eu.stork.peps.auth.engine.core.QAAAttribute;
*/
public class ExtensionsSchemaValidator implements Validator<Extensions> {
+ /**
+ * validate the extensions.
+ *
+ * @param extensions
+ * the extensions
+ *
+ * @throws ValidationException
+ * the validation exception
+ */
+ public final void validate(final Extensions extensions) throws ValidationException {
+ if (extensions.getUnknownXMLObjects() == null || extensions.getUnknownXMLObjects().size() <= 0) {
+ throw new ValidationException("Extension element is empty or not exist.");
+ }
+
+ List<XMLObject> qaa = extensions.getUnknownXMLObjects(QAAAttribute.DEF_ELEMENT_NAME);
+
+ if (qaa.size() == 1) {
+ final Validator<QAAAttribute> validatorQaa = new QAAAttributeSchemaValidator();
+ validatorQaa.validate((QAAAttribute) qaa.get(0));
+ } else {
+ throw new ValidationException("Extensions must contain only one element QAALevel.");
+ }
- /**
- * validate the extensions.
- *
- * @param extensions the extensions
- *
- * @throws ValidationException the validation exception
- */
- public final void validate(final Extensions extensions)
- throws ValidationException {
- if (extensions.getUnknownXMLObjects() == null
- || extensions.getUnknownXMLObjects().size() <= 0) {
- throw new ValidationException("Extension element is empty or not exist.");
}
-
- List<XMLObject> qaa = extensions.getUnknownXMLObjects(QAAAttribute.DEF_ELEMENT_NAME);
-
- if (qaa.size() == 1) {
- final Validator<QAAAttribute> validatorQaa = new QAAAttributeSchemaValidator();
- validatorQaa.validate((QAAAttribute) qaa.get(0));
- } else {
- throw new ValidationException(
- "Extensions must contain only one element QAALevel.");
- }
-
- }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/MultipleAssertionResponseValidator.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/MultipleAssertionResponseValidator.java
index 72639c8ee..0d3dbb5e9 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/MultipleAssertionResponseValidator.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/MultipleAssertionResponseValidator.java
@@ -4,77 +4,90 @@ import org.opensaml.saml2.core.Response;
import org.opensaml.xml.validation.ValidationException;
import org.opensaml.xml.validation.Validator;
-
public class MultipleAssertionResponseValidator implements Validator<Response> {
-
+
/**
* Validate action.
*
- * @param response the response to validate
+ * @param response
+ * the response to validate
*
- * @throws ValidationException the validation exception
+ * @throws ValidationException
+ * the validation exception
*/
public final void validate(final Response response) throws ValidationException {
validateAssertion(response);
validateConsent(response);
- validateDestination(response);
+ validateDestination(response);
validateTime(response);
validateId(response);
}
-
/**
* Validate assertion.
*
- * @param response the attribute query
+ * @param response
+ * the attribute query
*
- * @throws ValidationException the validation exception
+ * @throws ValidationException
+ * the validation exception
*/
- protected final void validateAssertion(final Response response)
- throws ValidationException {
+ protected final void validateAssertion(final Response response) throws ValidationException {
if (response.getAssertions() == null || response.getAssertions().size() < 2) {
throw new ValidationException("Multiple assertions must be specified.");
}
}
-
+
/**
* Validate the Consent
- * @param response the response to validate
- * @throws ValidationException the validation exception
+ *
+ * @param response
+ * the response to validate
+ * @throws ValidationException
+ * the validation exception
*/
protected void validateConsent(Response response) throws ValidationException {
- if (response.getConsent() == null)
- throw new ValidationException("Consent is required");
- }
-
+ if (response.getConsent() == null)
+ throw new ValidationException("Consent is required");
+ }
+
/**
* Validate the destination
- * @param response the response to validate
- * @throws ValidationException the validation exception
+ *
+ * @param response
+ * the response to validate
+ * @throws ValidationException
+ * the validation exception
*/
protected void validateDestination(Response response) throws ValidationException {
- if (response.getDestination() == null)
- throw new ValidationException("Destination is required");
- }
-
+ if (response.getDestination() == null)
+ throw new ValidationException("Destination is required");
+ }
+
/**
* Validate issue times
- * @param response the response to validate
- * @throws ValidationException the validation exception
+ *
+ * @param response
+ * the response to validate
+ * @throws ValidationException
+ * the validation exception
*/
- protected void validateTime(Response response) throws ValidationException {
- if (response.getIssueInstant().isAfterNow())
- throw new ValidationException("Issue time is in the futue");
- }
-
+ protected void validateTime(Response response) throws ValidationException {
+ if (response.getIssueInstant().isAfterNow())
+ throw new ValidationException("Issue time is in the futue");
+ }
+
/**
* Validate ids
- * @param response the response to validate
- * @throws ValidationException the validation exception
+ *
+ * @param response
+ * the response to validate
+ * @throws ValidationException
+ * the validation exception
*/
- protected void validateId(Response response) throws ValidationException {
- if (response.getID() == null || response.getInResponseTo() == null)
- throw new ValidationException("Id and response id is required");
- }
+ protected void validateId(Response response) throws ValidationException {
+ if (response.getID() == null || response.getInResponseTo() == null)
+ throw new ValidationException("Id and response id is required");
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/QAAAttributeSchemaValidator.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/QAAAttributeSchemaValidator.java
index 44c9db380..04ff153d3 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/QAAAttributeSchemaValidator.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/QAAAttributeSchemaValidator.java
@@ -28,37 +28,41 @@ import eu.stork.peps.auth.engine.core.QAAAttribute;
*/
public class QAAAttributeSchemaValidator implements Validator<QAAAttribute> {
-
/**
* Validate action.
*
- * @param qaa the quality authentication assurance level attribute
+ * @param qaa
+ * the quality authentication assurance level attribute
*
- * @throws ValidationException the validation exception
+ * @throws ValidationException
+ * the validation exception
*/
public final void validate(final QAAAttribute qaa) throws ValidationException {
validateAction(qaa);
}
-
/**
* Validate action.
*
- * @param qaaAttribute the quality authentication assurance level attribute.
+ * @param qaaAttribute
+ * the quality authentication assurance level attribute.
*
- * @throws ValidationException the validation exception
+ * @throws ValidationException
+ * the validation exception
*/
- protected final void validateAction(final QAAAttribute qaaAttribute)
- throws ValidationException {
+ protected final void validateAction(final QAAAttribute qaaAttribute) throws ValidationException {
if (DatatypeHelper.isEmpty(qaaAttribute.getQaaLevel())) {
throw new ValidationException("QAALevel label must be specified.");
}
-
- final int qaa = Integer.valueOf(qaaAttribute.getQaaLevel());
+ int qaa = 0;
+ try {
+ qaa = Integer.valueOf(qaaAttribute.getQaaLevel());
+ } catch (Exception e) {
+ throw new ValidationException("QAALevel is not a valid number!");
+ }
if (qaa < QAAAttribute.MIN_VALUE || qaa > QAAAttribute.MAX_VALUE) {
- throw new ValidationException(
- "QAALevel label must be greater than 0.");
+ throw new ValidationException("QAALevel label must be greater than 0.");
}
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationCreator.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationCreator.java
index c53e18662..e513c6add 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationCreator.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationCreator.java
@@ -12,14 +12,8 @@
* Licence for the specific language governing permissions and limitations under
* the Licence.
*/
-
package eu.stork.peps.configuration;
-import eu.stork.peps.exceptions.STORKSAMLEngineException;
-import org.apache.commons.io.IOUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -28,6 +22,12 @@ import java.util.InvalidPropertiesFormatException;
import java.util.Map;
import java.util.Properties;
+import org.apache.commons.io.IOUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import eu.stork.peps.exceptions.STORKSAMLEngineException;
+
/**
* The Class InstanceCreator.
*
@@ -35,108 +35,100 @@ import java.util.Properties;
*/
public final class ConfigurationCreator {
- /**
- * The Constant LOGGER.
- */
- private static final Logger LOGGER = LoggerFactory
- .getLogger(ConfigurationCreator.class.getName());
-
- /**
- * Creates the configuration.
- *
- * @param instanceConfs the instance configuration
- * @return the map< string, map< string, object>>
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- public static Map<String, Map<String, Object>> createConfiguration(
- final Map<String, InstanceEngine> instanceConfs) throws STORKSAMLEngineException {
-
- final HashMap<String, Map<String, Object>> instances =
- new HashMap<String, Map<String, Object>>();
-
- LOGGER.info("Create configuration.");
- try {
- // Only create instances for SAMLEngine configuration.
- // INSTANCE
- for (Map.Entry<String, InstanceEngine> entry : instanceConfs
- .entrySet()) {
- final InstanceEngine iEngine = entry.getValue();
-
- final Map<String, Object> intance = new HashMap<String, Object>();
-
- // CONFIGURATION
- for (ConfigurationEngine configuration : iEngine
- .getConfiguration()) {
- // Properties only for configuration SamlEngine.
- if (configuration.getName().equalsIgnoreCase(
- "SamlEngineConf")) {
- intance.put(configuration.getName(),
- getNewInstance(configuration.getParameters()
- .get("fileConfiguration")));
- } else {
- intance.put(configuration.getName(), configuration
- .getParameters());
- }
- }
- instances.put(entry.getKey(), intance);
- }
- } catch (STORKSAMLEngineException ex) {
- LOGGER.error("Can not create instance from file configuration.");
- throw new STORKSAMLEngineException(ex);
- }
- return instances;
- }
-
-
- /**
- * Gets the new instance.
- *
- * @param fileName the file name
- * @return the properties from the new instance
- * @throws STORKSAMLEngineException the STORKSAML engine
- * runtime exception
- */
- private static Properties getNewInstance(final String fileName)
- throws STORKSAMLEngineException {
- InputStream fileEngineProp = null;
-
- // fetch base from system properties, give a default if there is nothing configured
- String base = System.getProperty("eu.stork.samlengine.config.location");
- if (null != base) {
- if (!base.endsWith("/")) {
- base += "/";
- }
- } else {
- base = "/";
- }
-
- LOGGER.info("Create file configuration properties to Stork Saml Engine: " + base + fileName);
-
- try {
-
- if (null != base)
- fileEngineProp = new FileInputStream(base + fileName);
- else
- fileEngineProp = ConfigurationCreator.class
- .getResourceAsStream(base + fileName);
-
- final Properties configuration = new Properties();
- configuration.loadFromXML(fileEngineProp);
- return configuration;
- } catch (InvalidPropertiesFormatException e) {
- LOGGER.error("Invalid properties format.");
- throw new STORKSAMLEngineException(e);
- } catch (IOException e) {
- LOGGER.error("Error read file: " + base + fileName);
- throw new STORKSAMLEngineException(e);
- } finally {
- IOUtils.closeQuietly(fileEngineProp);
- }
- }
-
- /**
- * Instantiates a new instance creator.
- */
- private ConfigurationCreator() {
- }
+ /**
+ * The Constant LOGGER.
+ */
+ private static final Logger LOGGER = LoggerFactory.getLogger(ConfigurationCreator.class.getName());
+
+ /**
+ * Creates the configuration.
+ *
+ * @param instanceConfs
+ * the instance configuration
+ * @return the map< string, map< string, object>>
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ public static Map<String, Map<String, Object>> createConfiguration(final Map<String, InstanceEngine> instanceConfs) throws STORKSAMLEngineException {
+
+ final HashMap<String, Map<String, Object>> instances = new HashMap<String, Map<String, Object>>();
+
+ LOGGER.info("Create configuration.");
+ try {
+ // Only create instances for SAMLEngine configuration.
+ // INSTANCE
+ for (Map.Entry<String, InstanceEngine> entry : instanceConfs.entrySet()) {
+ final InstanceEngine iEngine = entry.getValue();
+
+ final Map<String, Object> intance = new HashMap<String, Object>();
+
+ // CONFIGURATION
+ for (ConfigurationEngine configuration : iEngine.getConfiguration()) {
+ // Properties only for configuration SamlEngine.
+ if (configuration.getName().equalsIgnoreCase("SamlEngineConf")) {
+ intance.put(configuration.getName(), getNewInstance(configuration.getParameters().get("fileConfiguration")));
+ } else {
+ intance.put(configuration.getName(), configuration.getParameters());
+ }
+ }
+ instances.put(entry.getKey(), intance);
+ }
+ } catch (STORKSAMLEngineException ex) {
+ LOGGER.error("Can not create instance from file configuration.");
+ throw new STORKSAMLEngineException(ex);
+ }
+ return instances;
+ }
+
+ /**
+ * Gets the new instance.
+ *
+ * @param fileName
+ * the file name
+ * @return the properties from the new instance
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine runtime exception
+ */
+ private static Properties getNewInstance(final String fileName) throws STORKSAMLEngineException {
+ LOGGER.info("Create file configuration properties to Stork Saml Engine: " + fileName);
+ InputStream fileEngineProp = null;
+
+ // fetch base from system properties, give a default if there is nothing configured
+ String base = System.getProperty("eu.stork.samlengine.config.location");
+ if (null != base) {
+ if (!base.endsWith("/")) {
+ base += "/";
+ }
+ } else {
+ base = "/";
+ }
+
+ LOGGER.info("Create file configuration properties to Stork Saml Engine: " + base + fileName);
+
+ try {
+
+ if (null != base)
+ fileEngineProp = new FileInputStream(base + fileName);
+ else
+ fileEngineProp = ConfigurationCreator.class.getResourceAsStream(base + fileName);
+
+ final Properties configuration = new Properties();
+ configuration.loadFromXML(fileEngineProp);
+ return configuration;
+ } catch (InvalidPropertiesFormatException e) {
+ LOGGER.error("Invalid properties format: " + fileName);
+ throw new STORKSAMLEngineException(e);
+ } catch (IOException e) {
+ LOGGER.error("Error read file: " + fileName);
+ throw new STORKSAMLEngineException(e);
+ } finally {
+ IOUtils.closeQuietly(fileEngineProp);
+ }
+ }
+
+ /**
+ * Instantiates a new instance creator.
+ */
+ private ConfigurationCreator() {
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationEngine.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationEngine.java
index d9e7e467a..9dbed386e 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationEngine.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationEngine.java
@@ -24,46 +24,48 @@ import java.util.Map;
*/
public class ConfigurationEngine {
- /** The name of the configuration file. */
- private String name;
+ /** The name of the configuration file. */
+ private String name;
- /** The parameters. */
- private Map<String, String> parameters;
+ /** The parameters. */
+ private Map<String, String> parameters;
- /**
- * Gets the name.
- *
- * @return the name
- */
- public final String getName() {
- return name;
- }
+ /**
+ * Gets the name.
+ *
+ * @return the name
+ */
+ public final String getName() {
+ return name;
+ }
- /**
- * Gets the parameters.
- *
- * @return the parameters
- */
- public final Map<String, String> getParameters() {
- return parameters;
- }
+ /**
+ * Gets the parameters.
+ *
+ * @return the parameters
+ */
+ public final Map<String, String> getParameters() {
+ return parameters;
+ }
- /**
- * Sets the name.
- *
- * @param newName the new name
- */
- public final void setName(final String newName) {
- this.name = newName;
- }
+ /**
+ * Sets the name.
+ *
+ * @param newName
+ * the new name
+ */
+ public final void setName(final String newName) {
+ this.name = newName;
+ }
- /**
- * Sets the parameters.
- *
- * @param newParameters the parameters
- */
- public final void setParameters(final Map<String, String> newParameters) {
- this.parameters = newParameters;
- }
+ /**
+ * Sets the parameters.
+ *
+ * @param newParameters
+ * the parameters
+ */
+ public final void setParameters(final Map<String, String> newParameters) {
+ this.parameters = newParameters;
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationReader.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationReader.java
index 7968c77ff..f68060154 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationReader.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationReader.java
@@ -46,189 +46,172 @@ import eu.stork.peps.exceptions.STORKSAMLEngineRuntimeException;
*/
public final class ConfigurationReader {
- /** The Constant SAML_ENGINE_CONFIGURATION_FILE. */
- private static final String ENGINE_CONF_FILE = "SamlEngine.xml";
-
- /** The Constant LOGGER. */
- private static final Logger LOGGER = LoggerFactory
- .getLogger(ConfigurationReader.class.getName());
-
- /** The Constant NODE_CONFIGURATION. */
- private static final String NODE_CONF = "configuration";
-
- /** The Constant NODE_CONFIGURATION_NAME. */
- private static final String NODE_CONF_NAME = "name";
-
- /** The Constant NODE_INSTANCE_NAME. */
- private static final String NODE_INST_NAME = "name";
-
- /** The Constant NODE_INSTANCE. */
- private static final String NODE_INSTANCE = "instance";
-
- /** The Constant NODE_CONFIGURATION_NAME. */
- private static final String NODE_PARAM_NAME = "name";
-
- /** The Constant NODE_CONFIGURATION_NAME. */
- private static final String NODE_PARAM_VALUE = "value";
-
- /** The Constant NODE_CONFIGURATION_NAME. */
- private static final String NODE_PARAMETER = "parameter";
-
- /**
- * Generate parameters.
- *
- * @param configurationNode the configuration node
- *
- * @return the map< string, string>
- */
- private static Map<String, String> generateParam(
- final Element configurationNode) {
-
- final HashMap<String, String> parameters = new HashMap<String, String>();
-
- final NodeList parameterNodes = configurationNode
- .getElementsByTagName(NODE_PARAMETER);
-
- String parameterName;
- String parameterValue;
-
- for (int k = 0; k < parameterNodes.getLength(); ++k) {
- // for every parameter find, process.
- final Element parameterNode = (Element) parameterNodes.item(k);
- parameterName = parameterNode.getAttribute(NODE_PARAM_NAME);
- parameterValue = parameterNode.getAttribute(NODE_PARAM_VALUE);
-
- // verified the content.
- if (StringUtils.isBlank(parameterName)
- || StringUtils.isBlank(parameterValue)) {
- throw new STORKSAMLEngineRuntimeException(
- "Error reader parameters (name - value).");
- } else {
- parameters.put(parameterName.trim(), parameterValue.trim());
- }
- }
- return parameters;
- }
-
- /**
- * Read configuration.
- *
- * @return the map< string, instance engine>
- *
- * @throws SAMLEngineException the STORKSAML engine runtime
- * exception
- */
- public static Map<String, InstanceEngine> readConfiguration()
- throws SAMLEngineException {
-
- // fetch base from system properties, give a default if there is nothing configured
- String base = System.getProperty("eu.stork.samlengine.config.location");
- if(null != base)
- if(!base.endsWith("/"))
- base += "/";
-
-
- LOGGER.info("Init reader: " + base + ENGINE_CONF_FILE);
- final Map<String, InstanceEngine> instanceConfs =
- new HashMap<String, InstanceEngine>();
-
- Document document = null;
- // Load configuration file
- final DocumentBuilderFactory factory = DocumentBuilderFactory
- .newInstance();
- DocumentBuilder builder;
-
- InputStream engineConf = null;
- try {
-
- factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-
- builder = factory.newDocumentBuilder();
-
- if (null != base)
- engineConf = new FileInputStream(base + ENGINE_CONF_FILE);
- else
- engineConf = ConfigurationReader.class.getResourceAsStream("/" + ENGINE_CONF_FILE);
-
- document = builder.parse(engineConf);
-
- // Read instance
- final NodeList list = document.getElementsByTagName(NODE_INSTANCE);
-
- for (int indexElem = 0; indexElem < list.getLength(); ++indexElem) {
- final Element element = (Element) list.item(indexElem);
-
- final InstanceEngine instanceConf = new InstanceEngine();
-
- // read every configuration.
- final String instanceName = element
- .getAttribute(NODE_INST_NAME);
-
- if (StringUtils.isBlank(instanceName)) {
- throw new STORKSAMLEngineRuntimeException(
- "Error reader instance name.");
+ /** The Constant SAML_ENGINE_CONFIGURATION_FILE. */
+ private static final String ENGINE_CONF_FILE = "SamlEngine.xml";
+
+ /** The Constant LOGGER. */
+ private static final Logger LOGGER = LoggerFactory.getLogger(ConfigurationReader.class.getName());
+
+ /** The Constant NODE_CONFIGURATION. */
+ private static final String NODE_CONF = "configuration";
+
+ /** The Constant NODE_CONFIGURATION_NAME. */
+ private static final String NODE_CONF_NAME = "name";
+
+ /** The Constant NODE_INSTANCE_NAME. */
+ private static final String NODE_INST_NAME = "name";
+
+ /** The Constant NODE_INSTANCE. */
+ private static final String NODE_INSTANCE = "instance";
+
+ /** The Constant NODE_CONFIGURATION_NAME. */
+ private static final String NODE_PARAM_NAME = "name";
+
+ /** The Constant NODE_CONFIGURATION_NAME. */
+ private static final String NODE_PARAM_VALUE = "value";
+
+ /** The Constant NODE_CONFIGURATION_NAME. */
+ private static final String NODE_PARAMETER = "parameter";
+
+ /**
+ * Generate parameters.
+ *
+ * @param configurationNode
+ * the configuration node
+ *
+ * @return the map< string, string>
+ */
+ private static Map<String, String> generateParam(final Element configurationNode) {
+
+ final HashMap<String, String> parameters = new HashMap<String, String>();
+
+ final NodeList parameterNodes = configurationNode.getElementsByTagName(NODE_PARAMETER);
+
+ String parameterName;
+ String parameterValue;
+
+ for (int k = 0; k < parameterNodes.getLength(); ++k) {
+ // for every parameter find, process.
+ final Element parameterNode = (Element) parameterNodes.item(k);
+ parameterName = parameterNode.getAttribute(NODE_PARAM_NAME);
+ parameterValue = parameterNode.getAttribute(NODE_PARAM_VALUE);
+
+ // verified the content.
+ if (StringUtils.isBlank(parameterName) || StringUtils.isBlank(parameterValue)) {
+ throw new STORKSAMLEngineRuntimeException("Error reader parameters (name - value).");
+ } else {
+ parameters.put(parameterName.trim(), parameterValue.trim());
+ }
}
- instanceConf.setName(instanceName.trim());
+ return parameters;
+ }
+
+ /**
+ * Read configuration.
+ *
+ * @return the map< string, instance engine>
+ *
+ * @throws SAMLEngineException
+ * the STORKSAML engine runtime exception
+ */
+ public static Map<String, InstanceEngine> readConfiguration() throws SAMLEngineException {
- final NodeList confNodes = element
- .getElementsByTagName(NODE_CONF);
+ // fetch base from system properties, give a default if there is nothing configured
+ String base = System.getProperty("eu.stork.samlengine.config.location");
+ if (null != base)
+ if (!base.endsWith("/"))
+ base += "/";
- for (int indexNode = 0; indexNode < confNodes.getLength(); ++indexNode) {
+ LOGGER.info("Init reader: " + base + ENGINE_CONF_FILE);
+ final Map<String, InstanceEngine> instanceConfs = new HashMap<String, InstanceEngine>();
- final Element configurationNode = (Element) confNodes
- .item(indexNode);
+ Document document = null;
+ // Load configuration file
+ final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder builder;
- final String configurationName = configurationNode
- .getAttribute(NODE_CONF_NAME);
+ InputStream engineConf = null;
+ try {
- if (StringUtils.isBlank(configurationName)) {
- throw new STORKSAMLEngineRuntimeException(
- "Error reader configuration name.");
- }
+ factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- final ConfigurationEngine confSamlEngine =
- new ConfigurationEngine();
+ builder = factory.newDocumentBuilder();
- // Set configuration name.
- confSamlEngine.setName(configurationName.trim());
+ if (null != base)
+ engineConf = new FileInputStream(base + ENGINE_CONF_FILE);
+ else
+ engineConf = ConfigurationReader.class.getResourceAsStream("/" + ENGINE_CONF_FILE);
- // Read every parameter for this configuration.
- final Map<String, String> parameters =
- generateParam(configurationNode);
+ document = builder.parse(engineConf);
- // Set parameters
- confSamlEngine.setParameters(parameters);
+ // Read instance
+ final NodeList list = document.getElementsByTagName(NODE_INSTANCE);
- // Add parameters to the configuration.
- instanceConf.getConfiguration().add(confSamlEngine);
+ for (int indexElem = 0; indexElem < list.getLength(); ++indexElem) {
+ final Element element = (Element) list.item(indexElem);
+
+ final InstanceEngine instanceConf = new InstanceEngine();
+
+ // read every configuration.
+ final String instanceName = element.getAttribute(NODE_INST_NAME);
+
+ if (StringUtils.isBlank(instanceName)) {
+ throw new STORKSAMLEngineRuntimeException("Error reader instance name.");
+ }
+ instanceConf.setName(instanceName.trim());
+
+ final NodeList confNodes = element.getElementsByTagName(NODE_CONF);
+
+ for (int indexNode = 0; indexNode < confNodes.getLength(); ++indexNode) {
+
+ final Element configurationNode = (Element) confNodes.item(indexNode);
+
+ final String configurationName = configurationNode.getAttribute(NODE_CONF_NAME);
+
+ if (StringUtils.isBlank(configurationName)) {
+ throw new STORKSAMLEngineRuntimeException("Error reader configuration name.");
+ }
+
+ final ConfigurationEngine confSamlEngine = new ConfigurationEngine();
+
+ // Set configuration name.
+ confSamlEngine.setName(configurationName.trim());
+
+ // Read every parameter for this configuration.
+ final Map<String, String> parameters = generateParam(configurationNode);
+
+ // Set parameters
+ confSamlEngine.setParameters(parameters);
+
+ // Add parameters to the configuration.
+ instanceConf.getConfiguration().add(confSamlEngine);
+ }
+
+ // Add to the list of configurations.
+ instanceConfs.put(element.getAttribute(NODE_INST_NAME), instanceConf);
+ }
+
+ } catch (SAXException e) {
+ LOGGER.error("Error: init library parser.");
+ throw new SAMLEngineException(e);
+ } catch (ParserConfigurationException e) {
+ LOGGER.error("Error: parser configuration file xml.");
+ throw new SAMLEngineException(e);
+ } catch (IOException e) {
+ LOGGER.error("Error: read configuration file.");
+ throw new SAMLEngineException(e);
+ } finally {
+ IOUtils.closeQuietly(engineConf);
}
- // Add to the list of configurations.
- instanceConfs.put(element.getAttribute(NODE_INST_NAME),
- instanceConf);
- }
-
- } catch (SAXException e) {
- LOGGER.error("Error: init library parser.");
- throw new SAMLEngineException(e);
- } catch (ParserConfigurationException e) {
- LOGGER.error("Error: parser configuration file xml.");
- throw new SAMLEngineException(e);
- } catch (IOException e) {
- LOGGER.error("Error: read configuration file.");
- throw new SAMLEngineException(e);
- } finally {
- IOUtils.closeQuietly(engineConf);
+ return instanceConfs;
}
- return instanceConfs;
- }
+ /**
+ * Instantiates a new configuration reader.
+ */
+ private ConfigurationReader() {
- /**
- * Instantiates a new configuration reader.
- */
- private ConfigurationReader() {
-
- }
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationSingleton.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationSingleton.java
index d00607853..4a382fe99 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationSingleton.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/ConfigurationSingleton.java
@@ -31,44 +31,44 @@ import eu.stork.peps.exceptions.STORKSAMLEngineRuntimeException;
*/
public final class ConfigurationSingleton {
- /** The instance of every engine SAML. */
- private static Map<String, InstanceEngine> instanceConfigs;
+ /** The instance of every engine SAML. */
+ private static Map<String, InstanceEngine> instanceConfigs;
- /** The instances of SAML engine. */
- private static Map<String, Map<String, Object>> instances;
+ /** The instances of SAML engine. */
+ private static Map<String, Map<String, Object>> instances;
- /** The Constant LOGGER. */
- private static final Logger LOGGER = LoggerFactory
- .getLogger(ConfigurationSingleton.class.getName());
+ /** The Constant LOGGER. */
+ private static final Logger LOGGER = LoggerFactory.getLogger(ConfigurationSingleton.class.getName());
- static {
- LOGGER.debug("Read all file configurations. (instances of SAMLEngine)");
- try {
- instanceConfigs = ConfigurationReader.readConfiguration();
- } catch (SAMLEngineException e) {
- LOGGER.error("Error read configuration file.");
- throw new STORKSAMLEngineRuntimeException(e);
+ static {
+ LOGGER.debug("Read all file configurations. (instances of SAMLEngine)");
+ try {
+ instanceConfigs = ConfigurationReader.readConfiguration();
+ } catch (SAMLEngineException e) {
+ LOGGER.error("Error read configuration file.");
+ throw new STORKSAMLEngineRuntimeException(e);
+ }
}
- }
- /**
- * Gets the new instance.
- *
- * @param fileName the file name
- *
- * @return the properties from the new instance
- *
- * @throws STORKSAMLEngineException the STORKSAML engine runtime exception
- */
- private static Map<String, Map<String, Object>> getInstance(
- final String fileName) throws STORKSAMLEngineException {
- return ConfigurationCreator.createConfiguration(instanceConfigs);
- }
+ /**
+ * Gets the new instance.
+ *
+ * @param fileName
+ * the file name
+ *
+ * @return the properties from the new instance
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine runtime exception
+ */
+ private static Map<String, Map<String, Object>> getInstance(final String fileName) throws STORKSAMLEngineException {
+ return ConfigurationCreator.createConfiguration(instanceConfigs);
+ }
- /**
- * Instantiates a new instance creator.
- */
- private ConfigurationSingleton() {
- }
+ /**
+ * Instantiates a new instance creator.
+ */
+ private ConfigurationSingleton() {
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/InstanceEngine.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/InstanceEngine.java
index 4d9bba8e7..0343d915a 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/InstanceEngine.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/InstanceEngine.java
@@ -25,46 +25,48 @@ import java.util.List;
*/
public class InstanceEngine {
- /** The configuration. */
- private List<ConfigurationEngine> configuration = new ArrayList<ConfigurationEngine>();
+ /** The configuration. */
+ private List<ConfigurationEngine> configuration = new ArrayList<ConfigurationEngine>();
- /** The name. */
- private String name;
+ /** The name. */
+ private String name;
- /**
- * Gets the parameters.
- *
- * @return the parameters
- */
- public final List<ConfigurationEngine> getConfiguration() {
- return this.configuration;
- }
+ /**
+ * Gets the parameters.
+ *
+ * @return the parameters
+ */
+ public final List<ConfigurationEngine> getConfiguration() {
+ return this.configuration;
+ }
- /**
- * Gets the name.
- *
- * @return the name
- */
- public final String getName() {
- return name;
- }
+ /**
+ * Gets the name.
+ *
+ * @return the name
+ */
+ public final String getName() {
+ return name;
+ }
- /**
- * Sets the parameters.
- *
- * @param newConfiguration the new parameters
- */
- public final void setConfiguration(final List<ConfigurationEngine> newConfiguration) {
- this.configuration = newConfiguration;
- }
+ /**
+ * Sets the parameters.
+ *
+ * @param newConfiguration
+ * the new parameters
+ */
+ public final void setConfiguration(final List<ConfigurationEngine> newConfiguration) {
+ this.configuration = newConfiguration;
+ }
- /**
- * Sets the name.
- *
- * @param newName the new name
- */
- public final void setName(final String newName) {
- this.name = newName;
- }
+ /**
+ * Sets the name.
+ *
+ * @param newName
+ * the new name
+ */
+ public final void setName(final String newName) {
+ this.name = newName;
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/package-info.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/package-info.java
index 344368e03..e6676342d 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/package-info.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/configuration/package-info.java
@@ -17,3 +17,4 @@
* Provides the classes necessary to create a SAML message instance.
*/
package eu.stork.peps.configuration;
+
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/SAMLEngineException.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/SAMLEngineException.java
index ac46f73e4..cc3bf3676 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/SAMLEngineException.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/SAMLEngineException.java
@@ -22,36 +22,39 @@ package eu.stork.peps.exceptions;
*/
public class SAMLEngineException extends Exception {
- /** The Constant serialVersionUID. */
- private static final long serialVersionUID = 2611361164977849837L;
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 2611361164977849837L;
- /**
- * Instantiates a new SAMLEngine exception.
- *
- * @param wrappedException the wrapped exception
- */
- public SAMLEngineException(final Exception wrappedException) {
- super(wrappedException);
- }
+ /**
+ * Instantiates a new SAMLEngine exception.
+ *
+ * @param wrappedException
+ * the wrapped exception
+ */
+ public SAMLEngineException(final Exception wrappedException) {
+ super(wrappedException);
+ }
- /**
- * Instantiates a new SAMLEngine exception.
- *
- * @param message the message
- */
- public SAMLEngineException(final String message) {
- super(message);
- }
+ /**
+ * Instantiates a new SAMLEngine exception.
+ *
+ * @param message
+ * the message
+ */
+ public SAMLEngineException(final String message) {
+ super(message);
+ }
- /**
- * Instantiates a new SAMLEngine exception.
- *
- * @param message the message
- * @param wrappedException the wrapped exception
- */
- public SAMLEngineException(final String message,
- final Exception wrappedException) {
- super(message, wrappedException);
- }
+ /**
+ * Instantiates a new SAMLEngine exception.
+ *
+ * @param message
+ * the message
+ * @param wrappedException
+ * the wrapped exception
+ */
+ public SAMLEngineException(final String message, final Exception wrappedException) {
+ super(message, wrappedException);
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/STORKSAMLEngineException.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/STORKSAMLEngineException.java
index bddcbd1b3..d0d9d721d 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/STORKSAMLEngineException.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/STORKSAMLEngineException.java
@@ -22,114 +22,119 @@ package eu.stork.peps.exceptions;
*/
public class STORKSAMLEngineException extends Exception {
- /** The Constant serialVersionUID. */
- private static final long serialVersionUID = -8319723167019122930L;
-
- /** The error code. */
- private String errorCode;
-
- /** The error detail. */
- private String errorDetail;
-
- /**
- * Instantiates a new sTORKSAML engine exception.
- *
- * @param wrappedException the wrapped exception
- */
- public STORKSAMLEngineException(final Exception wrappedException) {
- super(wrappedException);
- }
-
- /**
- * Instantiates a new sTORKSAML engine exception.
- *
- * @param errorMessage the error message
- */
- public STORKSAMLEngineException(final String errorMessage) {
- super(errorMessage);
- }
-
- /**
- * Instantiates a new sTORKSAML engine exception.
- *
- * @param message the message
- * @param wrappedException the wrapped exception
- */
- public STORKSAMLEngineException(final String message,
- final Exception wrappedException) {
- super(message, wrappedException);
- }
-
- /**
- * Instantiates a new sTORKSAML engine exception.
- *
- * @param newErrorCode the error code
- * @param errorMessage the error message
- * @param newErrorDetail the error detail
- */
- public STORKSAMLEngineException(final String newErrorCode,
- final String errorMessage, final String newErrorDetail) {
- super(errorMessage);
- this.errorCode = newErrorCode;
- this.errorDetail = newErrorDetail;
- }
-
- /**
- * Gets the error code.
- *
- * @return the error code
- */
- public final String getErrorCode() {
- return this.errorCode;
- }
-
- /**
- * Gets the error detail.
- *
- * @return the error detail
- */
- public final String getErrorDetail() {
- return errorDetail;
- }
-
- /**
- * Gets the error message.
- *
- * @return the error message
- */
- public final String getErrorMessage() {
- return super.getMessage();
- }
-
-
- /**
- * Gets the message.
- *
- * @return the message of the exception.
- *
- * @see java.lang.Throwable#getMessage()
- */
- public final String getMessage() {
- return "Error (no. " + errorCode + ") processing request : "
- + super.getMessage();
- }
-
- /**
- * Sets the error code.
- *
- * @param newErrorCode the new error code
- */
- public final void setErrorCode(final String newErrorCode) {
- this.errorCode = newErrorCode;
- }
-
- /**
- * Sets the error detail.
- *
- * @param newErrorDetail the new error detail
- */
- public final void setErrorDetail(final String newErrorDetail) {
- this.errorDetail = newErrorDetail;
- }
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = -8319723167019122930L;
+
+ /** The error code. */
+ private String errorCode;
+
+ /** The error detail. */
+ private String errorDetail;
+
+ /**
+ * Instantiates a new sTORKSAML engine exception.
+ *
+ * @param wrappedException
+ * the wrapped exception
+ */
+ public STORKSAMLEngineException(final Exception wrappedException) {
+ super(wrappedException);
+ }
+
+ /**
+ * Instantiates a new sTORKSAML engine exception.
+ *
+ * @param errorMessage
+ * the error message
+ */
+ public STORKSAMLEngineException(final String errorMessage) {
+ super(errorMessage);
+ }
+
+ /**
+ * Instantiates a new sTORKSAML engine exception.
+ *
+ * @param message
+ * the message
+ * @param wrappedException
+ * the wrapped exception
+ */
+ public STORKSAMLEngineException(final String message, final Exception wrappedException) {
+ super(message, wrappedException);
+ }
+
+ /**
+ * Instantiates a new sTORKSAML engine exception.
+ *
+ * @param newErrorCode
+ * the error code
+ * @param errorMessage
+ * the error message
+ * @param newErrorDetail
+ * the error detail
+ */
+ public STORKSAMLEngineException(final String newErrorCode, final String errorMessage, final String newErrorDetail) {
+ super(errorMessage);
+ this.errorCode = newErrorCode;
+ this.errorDetail = newErrorDetail;
+ }
+
+ /**
+ * Gets the error code.
+ *
+ * @return the error code
+ */
+ public final String getErrorCode() {
+ return this.errorCode;
+ }
+
+ /**
+ * Gets the error detail.
+ *
+ * @return the error detail
+ */
+ public final String getErrorDetail() {
+ return errorDetail;
+ }
+
+ /**
+ * Gets the error message.
+ *
+ * @return the error message
+ */
+ public final String getErrorMessage() {
+ return super.getMessage();
+ }
+
+ /**
+ * Gets the message.
+ *
+ * @return the message of the exception.
+ *
+ * @see java.lang.Throwable#getMessage()
+ */
+ public final String getMessage() {
+ return "Error (no. " + errorCode + ") processing request : " + super.getMessage();
+ }
+
+ /**
+ * Sets the error code.
+ *
+ * @param newErrorCode
+ * the new error code
+ */
+ public final void setErrorCode(final String newErrorCode) {
+ this.errorCode = newErrorCode;
+ }
+
+ /**
+ * Sets the error detail.
+ *
+ * @param newErrorDetail
+ * the new error detail
+ */
+ public final void setErrorDetail(final String newErrorDetail) {
+ this.errorDetail = newErrorDetail;
+ }
}
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/STORKSAMLEngineRuntimeException.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/STORKSAMLEngineRuntimeException.java
index fb01fd5aa..f43c1bd78 100644
--- a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/STORKSAMLEngineRuntimeException.java
+++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/exceptions/STORKSAMLEngineRuntimeException.java
@@ -22,35 +22,38 @@ package eu.stork.peps.exceptions;
*/
public class STORKSAMLEngineRuntimeException extends RuntimeException {
- /** The Constant serialVersionUID. */
- private static final long serialVersionUID = 5829810358581493517L;
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = 5829810358581493517L;
- /**
- * Instantiates a new sTORKSAML engine runtime exception.
- *
- * @param wrappedException the wrapped exception
- */
- public STORKSAMLEngineRuntimeException(final Exception wrappedException) {
- super(wrappedException);
- }
+ /**
+ * Instantiates a new sTORKSAML engine runtime exception.
+ *
+ * @param wrappedException
+ * the wrapped exception
+ */
+ public STORKSAMLEngineRuntimeException(final Exception wrappedException) {
+ super(wrappedException);
+ }
- /**
- * Creates a new instance of application exception.
- *
- * @param cause the exception cause.
- */
- public STORKSAMLEngineRuntimeException(final String cause) {
- super(cause);
- }
+ /**
+ * Creates a new instance of application exception.
+ *
+ * @param cause
+ * the exception cause.
+ */
+ public STORKSAMLEngineRuntimeException(final String cause) {
+ super(cause);
+ }
- /**
- * Instantiates a new sTORKSAML engine runtime exception.
- *
- * @param message the message
- * @param wrappedException the wrapped exception
- */
- public STORKSAMLEngineRuntimeException(final String message,
- final Exception wrappedException) {
- super(message, wrappedException);
- }
+ /**
+ * Instantiates a new sTORKSAML engine runtime exception.
+ *
+ * @param message
+ * the message
+ * @param wrappedException
+ * the wrapped exception
+ */
+ public STORKSAMLEngineRuntimeException(final String message, final Exception wrappedException) {
+ super(message, wrappedException);
+ }
} \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/SSETestUtils.java b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/SSETestUtils.java
index eb885eea9..b421dce8c 100644
--- a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/SSETestUtils.java
+++ b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/SSETestUtils.java
@@ -44,130 +44,130 @@ import org.w3c.dom.Element;
* The Class SSETestUtils.
*/
public final class SSETestUtils {
-
-
- /** The Constant LOG. */
- private static final Logger LOG = LoggerFactory
- .getLogger(SSETestUtils.class.getName());
-
- /**
- * Instantiates a new sSE test utils.
- */
- private SSETestUtils() {
- }
-
- /**
- * Prints the tree DOM.
- *
- * @param samlToken the SAML token
- * @param isIndent the is indent
- *
- * @return the string
- * @throws TransformerException the exception
- */
- public static String printTreeDOM(final Element samlToken, final boolean isIndent) throws TransformerException {
- // set up a transformer
- final TransformerFactory transfac = TransformerFactory.newInstance();
- final Transformer trans = transfac.newTransformer();
- trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
- trans.setOutputProperty(OutputKeys.INDENT, String.valueOf(isIndent));
-
- // create string from XML tree
- final StringWriter stringWriter = new StringWriter();
- final StreamResult result = new StreamResult(stringWriter);
- final DOMSource source = new DOMSource(samlToken);
- trans.transform(source, result);
- final String xmlString = stringWriter.toString();
-
- return xmlString;
- }
-
- /**
- * Marshall.
- *
- * @param samlToken the SAML token
- *
- * @return the byte[]
- *
- * @throws MarshallingException the marshalling exception
- * @throws ParserConfigurationException the parser configuration exception
- * @throws TransformerException the transformer exception
- */
- public static byte[] marshall(final XMLObject samlToken)
- throws MarshallingException, ParserConfigurationException,
- TransformerException {
-
- final javax.xml.parsers.DocumentBuilderFactory dbf = javax.xml.parsers.DocumentBuilderFactory
- .newInstance();
- dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- dbf.setNamespaceAware(true);
- dbf.setIgnoringComments(true);
- final javax.xml.parsers.DocumentBuilder docBuild = dbf
- .newDocumentBuilder();
-
- // Get the marshaller factory
- final MarshallerFactory marshallerFactory = Configuration
- .getMarshallerFactory();
-
- // Get the Subject marshaller
- final Marshaller marshaller = marshallerFactory
- .getMarshaller(samlToken);
-
- final Document doc = docBuild.newDocument();
-
- // Marshall the SAML token
- marshaller.marshall(samlToken, doc);
-
- // Obtain a byte array representation of the marshalled SAML object
- final DOMSource domSource = new DOMSource(doc);
- final StringWriter writer = new StringWriter();
- final StreamResult result = new StreamResult(writer);
- final TransformerFactory transFact = TransformerFactory.newInstance();
- final Transformer transformer = transFact.newTransformer();
- transformer.transform(domSource, result);
-
- return writer.toString().getBytes();
- }
-
- /**
- * Encode SAML token.
- *
- * @param samlToken the SAML token
- *
- * @return the string
- */
- public static String encodeSAMLToken(final byte[] samlToken) {
- return new String(Base64.encode(samlToken));
- }
-
- /**
- * Read stork SAML from file.
- *
- * @param resource the resource
- *
- * @return the byte[]
- * @throws IOException the exception
- *
- */
- public static byte[] readStorkSamlFromFile(final String resource)
- throws IOException {
- InputStream inputStream = null;
- byte[] bytes;
-
- try {
- inputStream = StorkAuthRequestTest.class
- .getResourceAsStream(resource);
-
- // Create the byte array to hold the data
- bytes = new byte[(int) inputStream.available()];
- inputStream.read(bytes);
- } catch (IOException e) {
- LOG.error("Error read from file: " + resource);
- throw e;
- } finally {
- IOUtils.closeQuietly(inputStream);
+
+ /** The Constant LOG. */
+ private static final Logger LOG = LoggerFactory.getLogger(SSETestUtils.class.getName());
+
+ /**
+ * Instantiates a new sSE test utils.
+ */
+ private SSETestUtils() {
+ }
+
+ /**
+ * Prints the tree DOM.
+ *
+ * @param samlToken
+ * the SAML token
+ * @param isIndent
+ * the is indent
+ *
+ * @return the string
+ * @throws TransformerException
+ * the exception
+ */
+ public static String printTreeDOM(final Element samlToken, final boolean isIndent) throws TransformerException {
+ // set up a transformer
+ final TransformerFactory transfac = TransformerFactory.newInstance();
+ final Transformer trans = transfac.newTransformer();
+ trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+ trans.setOutputProperty(OutputKeys.INDENT, String.valueOf(isIndent));
+
+ // create string from XML tree
+ final StringWriter stringWriter = new StringWriter();
+ final StreamResult result = new StreamResult(stringWriter);
+ final DOMSource source = new DOMSource(samlToken);
+ trans.transform(source, result);
+ final String xmlString = stringWriter.toString();
+
+ return xmlString;
+ }
+
+ /**
+ * Marshall.
+ *
+ * @param samlToken
+ * the SAML token
+ *
+ * @return the byte[]
+ *
+ * @throws MarshallingException
+ * the marshalling exception
+ * @throws ParserConfigurationException
+ * the parser configuration exception
+ * @throws TransformerException
+ * the transformer exception
+ */
+ public static byte[] marshall(final XMLObject samlToken) throws MarshallingException, ParserConfigurationException, TransformerException {
+
+ final javax.xml.parsers.DocumentBuilderFactory dbf = javax.xml.parsers.DocumentBuilderFactory.newInstance();
+ dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+ dbf.setNamespaceAware(true);
+ dbf.setIgnoringComments(true);
+ final javax.xml.parsers.DocumentBuilder docBuild = dbf.newDocumentBuilder();
+
+ // Get the marshaller factory
+ final MarshallerFactory marshallerFactory = Configuration.getMarshallerFactory();
+
+ // Get the Subject marshaller
+ final Marshaller marshaller = marshallerFactory.getMarshaller(samlToken);
+
+ final Document doc = docBuild.newDocument();
+
+ // Marshall the SAML token
+ marshaller.marshall(samlToken, doc);
+
+ // Obtain a byte array representation of the marshalled SAML object
+ final DOMSource domSource = new DOMSource(doc);
+ final StringWriter writer = new StringWriter();
+ final StreamResult result = new StreamResult(writer);
+ final TransformerFactory transFact = TransformerFactory.newInstance();
+ final Transformer transformer = transFact.newTransformer();
+ transformer.transform(domSource, result);
+
+ return writer.toString().getBytes();
+ }
+
+ /**
+ * Encode SAML token.
+ *
+ * @param samlToken
+ * the SAML token
+ *
+ * @return the string
+ */
+ public static String encodeSAMLToken(final byte[] samlToken) {
+ return new String(Base64.encode(samlToken));
}
- return bytes;
- }
+ /**
+ * Read stork SAML from file.
+ *
+ * @param resource
+ * the resource
+ *
+ * @return the byte[]
+ * @throws IOException
+ * the exception
+ *
+ */
+ public static byte[] readStorkSamlFromFile(final String resource) throws IOException {
+ InputStream inputStream = null;
+ byte[] bytes;
+
+ try {
+ inputStream = StorkAuthRequestTest.class.getResourceAsStream(resource);
+
+ // Create the byte array to hold the data
+ bytes = new byte[(int) inputStream.available()];
+ inputStream.read(bytes);
+ } catch (IOException e) {
+ LOG.error("Error read from file: " + resource);
+ throw e;
+ } finally {
+ IOUtils.closeQuietly(inputStream);
+ }
+ return bytes;
+
+ }
}
diff --git a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/SimpleBaseTest.java b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/SimpleBaseTest.java
index c52b8a779..bdb8780c3 100644
--- a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/SimpleBaseTest.java
+++ b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/SimpleBaseTest.java
@@ -22,43 +22,42 @@ import junit.framework.TestCase;
import eu.stork.peps.auth.engine.STORKSAMLEngine;
/**
- * The Class SimpleBaseTest. Defines a set of test the initialization of the
- * SAML engine.
+ * The Class SimpleBaseTest. Defines a set of test the initialization of the SAML engine.
*/
@SuppressWarnings("deprecation")
public class SimpleBaseTest extends TestCase {
- /**
- * Test SAML engine correct configuration name.
- */
-
+ /**
+ * Test SAML engine correct configuration name.
+ */
+
@Test
- public final void testSamlEngineCorrectInit() {
- Assert.assertNotNull(STORKSAMLEngine.getInstance("CONF1"));
- }
+ public final void testSamlEngineCorrectInit() {
+ Assert.assertNotNull(STORKSAMLEngine.getInstance("CONF1"));
+ }
- /**
- * Test SAML engine error configuration name.
- */
- @Test
- public final void testSamlEngineErrorNameConf() {
- Assert.assertNull(STORKSAMLEngine.getInstance("CONF_ERROR"));
- }
+ /**
+ * Test SAML engine error configuration name.
+ */
+ @Test
+ public final void testSamlEngineErrorNameConf() {
+ Assert.assertNull(STORKSAMLEngine.getInstance("CONF_ERROR"));
+ }
- /**
- * Test SAML engine error name null.
- */
- @Test
- public final void testSamlEngineErrorNameNull() {
- Assert.assertNull(STORKSAMLEngine.getInstance(null));
- }
+ /**
+ * Test SAML engine error name null.
+ */
+ @Test
+ public final void testSamlEngineErrorNameNull() {
+ Assert.assertNull(STORKSAMLEngine.getInstance(null));
+ }
+
+ /**
+ * Test SAML engine correct name configuration with spaces.
+ */
+ @Test
+ public final void testSamlEngineErrorNameSpaces() {
+ Assert.assertNotNull(STORKSAMLEngine.getInstance(" CONF1 "));
+ }
- /**
- * Test SAML engine correct name configuration with spaces.
- */
- @Test
- public final void testSamlEngineErrorNameSpaces() {
- Assert.assertNotNull(STORKSAMLEngine.getInstance(" CONF1 "));
- }
-
}
diff --git a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAttrQueryRequestTest.java b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAttrQueryRequestTest.java
index 0eda1bfbf..4f22df7fb 100644
--- a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAttrQueryRequestTest.java
+++ b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAttrQueryRequestTest.java
@@ -20,845 +20,833 @@ import eu.stork.peps.auth.engine.STORKSAMLEngine;
import eu.stork.peps.exceptions.STORKSAMLEngineException;
public class StorkAttrQueryRequestTest {
-
- /** The engines. */
- private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
- private static STORKSAMLEngine engine0 = STORKSAMLEngine.getInstance("CONF0");
- private static STORKSAMLEngine engine2 = STORKSAMLEngine.getInstance("CONF2");
- private static STORKSAMLEngine engine3 = STORKSAMLEngine.getInstance("CONF3");
-
-
- /**
- * Instantiates a new stork authentication request test.
- */
- public StorkAttrQueryRequestTest() {
- pal = new PersonalAttributeList();
-
- final PersonalAttribute isAgeOver = new PersonalAttribute();
- isAgeOver.setName("isAgeOver");
- isAgeOver.setIsRequired(true);
- final ArrayList<String> ages = new ArrayList<String>();
- ages.add("16");
- ages.add("18");
- isAgeOver.setValue(ages);
- pal.add(isAgeOver);
-
- final PersonalAttribute dateOfBirth = new PersonalAttribute();
- dateOfBirth.setName("dateOfBirth");
- dateOfBirth.setIsRequired(false);
- pal.add(dateOfBirth);
-
- final PersonalAttribute eIDNumber = new PersonalAttribute();
- eIDNumber.setName("eIdentifier");
- eIDNumber.setIsRequired(true);
- eIDNumber.setValue(Arrays.asList("ES/IS/1234567890"));
- pal.add(eIDNumber);
-
- final PersonalAttribute givenName = new PersonalAttribute();
- givenName.setName("givenName");
- givenName.setIsRequired(true);
- givenName.setValue(Arrays.asList("Sveinbjorn"));
- pal.add(givenName);
-
- destination = "http://A-PEPS.gov.xx/PEPS/AttributeColleagueRequest";
- assertConsumerUrl = "http://S-PEPS.gov.xx/PEPS/ColleagueResponse";
- //spName = "University of Oxford";
- spSector = "EDU001";
- spInstitution = "OXF001";
- spApplication = "APP001";
- spCountry = "IS";
-
- spId = "EDU001-OXF001-APP001";
-
- }
-
- /** The destination. */
- private String destination;
-
- /** The service provider sector. */
- private String spSector;
-
- /** The service provider institution. */
- private String spInstitution;
-
- /** The service provider application. */
- private String spApplication;
-
- /** The service provider country. */
- private String spCountry;
-
- /** The service provider id. */
- private String spId;
-
- /** The assertion consumer URL. */
- private String assertConsumerUrl;
-
- /** The quality authentication assurance level. */
- private static final int QAAL = 3;
-
- /** The List of Personal Attributes. */
- private IPersonalAttributeList pal;
-
- /** The attribute query request. */
- private static byte[] attrRequest;
-
- /** The Constant LOG. */
- private static final Logger LOG = LoggerFactory
- .getLogger(StorkAttrQueryRequestTest.class.getName());
-
- /** Parser manager used to parse XML. */
- private static BasicParserPool parser;
-
- static {
- parser = new BasicParserPool();
- parser.setNamespaceAware(true);
- }
-
- /**
- * Test generate authentication request.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateAttrQueryRequest() throws STORKSAMLEngineException {
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
-
- // new parameters
- request.setEIDSectorShare(false);
- request.setEIDCrossSectorShare(false);
- request.setEIDCrossBorderShare(false);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
- request.setSpCountry(spCountry);
-
- STORKAttrQueryRequest req1 = engine0.generateSTORKAttrQueryRequest(request);
- byte[] reqByte = req1.getTokenSaml();
- FileOutputStream output = null;
-
- try {
- output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequest.xml"));
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+
+ /** The engines. */
+ private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
+ private static STORKSAMLEngine engine0 = STORKSAMLEngine.getInstance("CONF0");
+ private static STORKSAMLEngine engine2 = STORKSAMLEngine.getInstance("CONF2");
+ private static STORKSAMLEngine engine3 = STORKSAMLEngine.getInstance("CONF3");
+
+ /**
+ * Instantiates a new stork authentication request test.
+ */
+ public StorkAttrQueryRequestTest() {
+ pal = new PersonalAttributeList();
+
+ final PersonalAttribute isAgeOver = new PersonalAttribute();
+ isAgeOver.setName("isAgeOver");
+ isAgeOver.setIsRequired(true);
+ final ArrayList<String> ages = new ArrayList<String>();
+ ages.add("16");
+ ages.add("18");
+ isAgeOver.setValue(ages);
+ pal.add(isAgeOver);
+
+ final PersonalAttribute dateOfBirth = new PersonalAttribute();
+ dateOfBirth.setName("dateOfBirth");
+ dateOfBirth.setIsRequired(false);
+ pal.add(dateOfBirth);
+
+ final PersonalAttribute eIDNumber = new PersonalAttribute();
+ eIDNumber.setName("eIdentifier");
+ eIDNumber.setIsRequired(true);
+ eIDNumber.setValue(Arrays.asList("ES/IS/1234567890"));
+ pal.add(eIDNumber);
+
+ final PersonalAttribute givenName = new PersonalAttribute();
+ givenName.setName("givenName");
+ givenName.setIsRequired(true);
+ givenName.setValue(Arrays.asList("Sveinbjorn"));
+ pal.add(givenName);
+
+ final PersonalAttribute fiscalNumber = new PersonalAttribute();
+ fiscalNumber.setName("fiscalNumber");
+ fiscalNumber.setIsRequired(true);
+ fiscalNumber.setValue(Arrays.asList("fiscalNumber"));
+ pal.add(fiscalNumber);
+
+ final PersonalAttribute LPFiscalNumber = new PersonalAttribute();
+ LPFiscalNumber.setName("LPFiscalNumber");
+ LPFiscalNumber.setIsRequired(true);
+ LPFiscalNumber.setValue(Arrays.asList("LPFiscalNumber"));
+ pal.add(LPFiscalNumber);
+
+ destination = "http://A-PEPS.gov.xx/PEPS/AttributeColleagueRequest";
+ assertConsumerUrl = "http://S-PEPS.gov.xx/PEPS/ColleagueResponse";
+ // spName = "University of Oxford";
+ spSector = "EDU001";
+ spInstitution = "OXF001";
+ spApplication = "APP001";
+ spCountry = "IS";
+
+ spId = "EDU001-OXF001-APP001";
+
}
- try {
- output.write(reqByte);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+
+ /** The destination. */
+ private String destination;
+
+ /** The service provider sector. */
+ private String spSector;
+
+ /** The service provider institution. */
+ private String spInstitution;
+
+ /** The service provider application. */
+ private String spApplication;
+
+ /** The service provider country. */
+ private String spCountry;
+
+ /** The service provider id. */
+ private String spId;
+
+ /** The assertion consumer URL. */
+ private String assertConsumerUrl;
+
+ /** The quality authentication assurance level. */
+ private static final int QAAL = 3;
+
+ /** The List of Personal Attributes. */
+ private IPersonalAttributeList pal;
+
+ /** The attribute query request. */
+ private static byte[] attrRequest;
+
+ /** The Constant LOG. */
+ private static final Logger LOG = LoggerFactory.getLogger(StorkAttrQueryRequestTest.class.getName());
+
+ /** Parser manager used to parse XML. */
+ private static BasicParserPool parser;
+
+ static {
+ parser = new BasicParserPool();
+ parser.setNamespaceAware(true);
}
-
- LOG.info("STORKAttrQueryRequest 1: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKAttrQueryRequest(request).getTokenSaml()));
-
- request.setCitizenCountryCode("IS");
- LOG.info("STORKAttrQueryRequest 2: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKAttrQueryRequest(request).getTokenSaml()));
- }
-
- /**
- * Test generate authentication request error personal attribute name error.
- */
- @Test
- public final void testGenerateAttrQueryRequestPALsErr1() {
-
- final IPersonalAttributeList palWrong = new PersonalAttributeList();
-
- final PersonalAttribute worngAttr = new PersonalAttribute();
- worngAttr.setName("attrNotValid");
- worngAttr.setIsRequired(true);
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(palWrong);
-
- // news parameters
- request.setEIDSectorShare(false);
- request.setEIDCrossSectorShare(false);
- request.setEIDCrossBorderShare(false);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("IS");
-
- try {
- engine.generateSTORKAttrQueryRequest(request);
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateAttrQueryRequest() throws STORKSAMLEngineException {
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+
+ // new parameters
+ request.setEIDSectorShare(false);
+ request.setEIDCrossSectorShare(false);
+ request.setEIDCrossBorderShare(false);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+ request.setSpCountry(spCountry);
+
+ STORKAttrQueryRequest req1 = engine0.generateSTORKAttrQueryRequest(request);
+ byte[] reqByte = req1.getTokenSaml();
+ FileOutputStream output = null;
+
+ try {
+ output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequest.xml"));
+ } catch (FileNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ try {
+ output.write(reqByte);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ LOG.info("STORKAttrQueryRequest 1: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKAttrQueryRequest(request).getTokenSaml()));
+
+ request.setCitizenCountryCode("IS");
+ LOG.info("STORKAttrQueryRequest 2: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKAttrQueryRequest(request).getTokenSaml()));
}
- }
-
-
-
- /**
- * Test generate authentication request error personal attribute value error.
- */
- @Test
- public final void testGenerateAttrQueryRequestPALsErr2() {
-
- final IPersonalAttributeList palWrong = new PersonalAttributeList();
-
- final PersonalAttribute attrNotValid = new PersonalAttribute();
- attrNotValid.setName("attrNotValid");
- attrNotValid.setIsRequired(true);
- palWrong.add(attrNotValid);
-
-
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(palWrong);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("IS");
-
- try {
- engine.generateSTORKAttrQueryRequest(request);
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request error personal attribute name error.
+ */
+ @Test
+ public final void testGenerateAttrQueryRequestPALsErr1() {
+
+ final IPersonalAttributeList palWrong = new PersonalAttributeList();
+
+ final PersonalAttribute worngAttr = new PersonalAttribute();
+ worngAttr.setName("attrNotValid");
+ worngAttr.setIsRequired(true);
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(palWrong);
+
+ // news parameters
+ request.setEIDSectorShare(false);
+ request.setEIDCrossSectorShare(false);
+ request.setEIDCrossBorderShare(false);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("IS");
+
+ try {
+ engine.generateSTORKAttrQueryRequest(request);
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication request authentication assurance level
- * negative value.
- */
- @Test
- public final void testGenerateAttrQueryRequestQaalErr1() {
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(-1);
- request.setPersonalAttributeList(pal);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
-
- try {
- engine.generateSTORKAttrQueryRequest(request);
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request error personal attribute value error.
+ */
+ @Test
+ public final void testGenerateAttrQueryRequestPALsErr2() {
+
+ final IPersonalAttributeList palWrong = new PersonalAttributeList();
+
+ final PersonalAttribute attrNotValid = new PersonalAttribute();
+ attrNotValid.setName("attrNotValid");
+ attrNotValid.setIsRequired(true);
+ palWrong.add(attrNotValid);
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(palWrong);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("IS");
+
+ try {
+ engine.generateSTORKAttrQueryRequest(request);
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication request service provider sector null.
- */
- @Test
- public final void testGenerateAttrQueryRequestSectorErr() {
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(null);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("IS");
-
- try {
- engine.generateSTORKAttrQueryRequest(request);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ /**
+ * Test generate authentication request authentication assurance level negative value.
+ */
+ @Test
+ public final void testGenerateAttrQueryRequestQaalErr1() {
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(-1);
+ request.setPersonalAttributeList(pal);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+
+ try {
+ engine.generateSTORKAttrQueryRequest(request);
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication request service provider institution null.
- */
- @Test
- public final void testGenerateAttrQueryRequestDestinationErr() {
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(null);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(null);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("IS");
-
- try {
- engine.generateSTORKAttrQueryRequest(request);
- fail("generateSTORKAttrQueryRequest(...) should've thrown an STORKSAMLEngineException!");
-
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request service provider sector null.
+ */
+ @Test
+ public final void testGenerateAttrQueryRequestSectorErr() {
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(null);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("IS");
+
+ try {
+ engine.generateSTORKAttrQueryRequest(request);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+
+ }
}
- }
-
- /**
- * Test generate authentication request service provider application null.
- */
- @Test
- public final void testGenerateAttrQueryRequestApplicationErr() {
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(null);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("IS");
-
- try {
- engine.generateSTORKAttrQueryRequest(request);
-
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+
+ /**
+ * Test generate authentication request service provider institution null.
+ */
+ @Test
+ public final void testGenerateAttrQueryRequestDestinationErr() {
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(null);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(null);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("IS");
+
+ try {
+ engine.generateSTORKAttrQueryRequest(request);
+ fail("generateSTORKAttrQueryRequest(...) should've thrown an STORKSAMLEngineException!");
+
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication request service provider country null.
- */
- @Test
- public final void testGenerateAttrQueryRequestCountryErr() {
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(null);
- request.setSPID(spId);
- request.setCitizenCountryCode("IS");
-
- try {
- engine.generateSTORKAttrQueryRequest(request);
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
-
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request service provider application null.
+ */
+ @Test
+ public final void testGenerateAttrQueryRequestApplicationErr() {
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(null);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("IS");
+
+ try {
+ engine.generateSTORKAttrQueryRequest(request);
+
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ }
+ }
+
+ /**
+ * Test generate authentication request service provider country null.
+ */
+ @Test
+ public final void testGenerateAttrQueryRequestCountryErr() {
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(null);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("IS");
+
+ try {
+ engine.generateSTORKAttrQueryRequest(request);
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication request error with quality authentication
- * assurance level wrong.
- */
- @Test
- public final void testGenerateAttrQueryRequestQaalErr2() {
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(0);
- request.setPersonalAttributeList(pal);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("IS");
-
- try {
- engine.generateSTORKAttrQueryRequest(request);
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request error with quality authentication assurance level wrong.
+ */
+ @Test
+ public final void testGenerateAttrQueryRequestQaalErr2() {
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(0);
+ request.setPersonalAttributeList(pal);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("IS");
+
+ try {
+ engine.generateSTORKAttrQueryRequest(request);
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
+ }
+
+ /**
+ * Test generate authentication request personal attribute list null value.
+ */
+ @Test
+ public final void testGenerateAttrQueryRequestPALErr1() {
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(null);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("IS");
+
+ try {
+ engine.generateSTORKAttrQueryRequest(request);
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
+ }
+
+ /**
+ * Test validate authentication request null parameter.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAttrQueryRequestNullParam() throws STORKSAMLEngineException {
+ try {
+ engine.validateSTORKAttrQueryRequest(null);
+ fail("validateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
+ }
+
+ /**
+ * Test validate authentication request error bytes encode.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAttrQueryRequestErrorEncode() throws STORKSAMLEngineException {
+ try {
+ engine.validateSTORKAttrQueryRequest("messageError".getBytes());
+ fail("validateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
+ }
+
+ /**
+ * Test validate authentication request.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAttrQueryRequest() throws STORKSAMLEngineException {
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("IS");
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ attrRequest = engine.generateSTORKAttrQueryRequest(request).getTokenSaml();
+
+ final STORKAttrQueryRequest validatedRequest = engine.validateSTORKAttrQueryRequest(attrRequest);
+
+ assertEquals("CrossBorderShare incorrect: ", validatedRequest.isEIDCrossBorderShare(), false);
+ assertEquals("CrossSectorShare incorrect: ", validatedRequest.isEIDCrossSectorShare(), false);
+ assertEquals("SectorShare incorrect: ", validatedRequest.isEIDSectorShare(), false);
+
+ }
+
+ /**
+ * Test validate data authenticate request. Verified parameters after validation.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateDataAttrQueryRequest() throws STORKSAMLEngineException {
+
+ final STORKAttrQueryRequest request = engine.validateSTORKAttrQueryRequest(attrRequest);
+
+ assertEquals("Sestination incorrect: ", request.getDestination(), destination);
+
+ assertEquals("CrossBorderShare incorrect: ", request.isEIDCrossBorderShare(), false);
+ assertEquals("CrossSectorShare incorrect: ", request.isEIDCrossSectorShare(), false);
+ assertEquals("SectorShare incorrect: ", request.isEIDSectorShare(), false);
+
+ assertEquals("QAAL incorrect: ", request.getQaa(), QAAL);
+ assertEquals("SPSector incorrect: ", request.getSpSector(), spSector);
+ assertEquals("SPInstitution incorrect: ", request.getSpInstitution(), null);
+ assertEquals("SPApplication incorrect: ", request.getSpApplication(), spApplication);
+ assertEquals("CitizenCountryCode incorrect: ", request.getCitizenCountryCode(), null);
+
}
- }
-
- /**
- * Test generate authentication request personal attribute list null value.
- */
- @Test
- public final void testGenerateAttrQueryRequestPALErr1() {
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(null);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("IS");
-
- try {
- engine.generateSTORKAttrQueryRequest(request);
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate file attribute query request. Validate from XML file.
+ *
+ * @throws Exception
+ * the exception
+ */
+ @Test
+ public final void testValidateFileAttrQueryRequest() throws Exception {
+
+ final byte[] bytes = SSETestUtils.readStorkSamlFromFile("/data/eu/stork/STORKSAMLEngine/AttrQueryRequest1.xml");
+
+ try {
+ engine.validateSTORKAttrQueryRequest(bytes);
+ fail("testValidateFileAttrQueryRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error(e.getMessage());
+ }
}
- }
-
- /**
- * Test validate authentication request null parameter.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAttrQueryRequestNullParam()
- throws STORKSAMLEngineException {
- try {
- engine.validateSTORKAttrQueryRequest(null);
- fail("validateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate file authentication request tag delete.
+ *
+ * @throws Exception
+ * the exception
+ */
+ @Test
+ public final void testValidateFileAttrRequestTagDelete() throws Exception {
+
+ final byte[] bytes = SSETestUtils.readStorkSamlFromFile("/data/eu/stork/STORKSAMLEngine/AttrQueryRequestTagDelete.xml");
+
+ try {
+ engine.validateSTORKAttrQueryRequest(bytes);
+ fail("validateSTORKAttrQueryRequest(...) should have thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error(e.getMessage());
+
+ }
}
- }
-
- /**
- * Test validate authentication request error bytes encode.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAttrQueryRequestErrorEncode()
- throws STORKSAMLEngineException {
- try {
- engine.validateSTORKAttrQueryRequest("messageError".getBytes());
- fail("validateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate authentication request not trusted token.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAttrQueryRequestNotTrustedErr1() throws STORKSAMLEngineException {
+
+ try {
+ final STORKSAMLEngine engineNotTrusted = STORKSAMLEngine.getInstance("CONF2");
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+
+ final byte[] authReqNotTrust = engineNotTrusted.generateSTORKAttrQueryRequest(request).getTokenSaml();
+
+ engine.validateSTORKAttrQueryRequest(authReqNotTrust);
+ fail("validateSTORKAttrQueryRequestNotTrusted(...) should have thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test validate authentication request.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAttrQueryRequest() throws STORKSAMLEngineException {
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("IS");
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- attrRequest = engine.generateSTORKAttrQueryRequest(request).getTokenSaml();
-
- final STORKAttrQueryRequest validatedRequest = engine.validateSTORKAttrQueryRequest(attrRequest);
-
- assertEquals("CrossBorderShare incorrect: ", validatedRequest.isEIDCrossBorderShare(), false);
- assertEquals("CrossSectorShare incorrect: ", validatedRequest.isEIDCrossSectorShare(), false);
- assertEquals("SectorShare incorrect: ", validatedRequest.isEIDSectorShare(), false);
-
- }
-
- /**
- * Test validate data authenticate request. Verified parameters after
- * validation.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateDataAttrQueryRequest() throws STORKSAMLEngineException {
-
- final STORKAttrQueryRequest request = engine.validateSTORKAttrQueryRequest(attrRequest);
-
- assertEquals("Sestination incorrect: ", request.getDestination(), destination);
-
- assertEquals("CrossBorderShare incorrect: ", request.isEIDCrossBorderShare(), false);
- assertEquals("CrossSectorShare incorrect: ", request.isEIDCrossSectorShare(), false);
- assertEquals("SectorShare incorrect: ", request.isEIDSectorShare(), false);
-
- assertEquals("QAAL incorrect: ", request.getQaa(), QAAL);
- assertEquals("SPSector incorrect: ", request.getSpSector(), spSector);
- assertEquals("SPInstitution incorrect: ", request.getSpInstitution(), null);
- assertEquals("SPApplication incorrect: ", request.getSpApplication(), spApplication);
- assertEquals("CitizenCountryCode incorrect: ", request.getCitizenCountryCode(), null);
-
- }
-
- /**
- * Test validate file attribute query request. Validate from XML file.
- *
- * @throws Exception the exception
- */
- @Test
- public final void testValidateFileAttrQueryRequest() throws Exception {
-
- final byte[] bytes = SSETestUtils.readStorkSamlFromFile("/data/eu/stork/STORKSAMLEngine/AttrQueryRequest1.xml");
-
- try {
- engine.validateSTORKAttrQueryRequest(bytes);
- fail("testValidateFileAttrQueryRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error(e.getMessage());
+
+ /**
+ * Test validate authentication request trusted.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAttrQueryRequestTrusted() throws STORKSAMLEngineException {
+
+ final STORKSAMLEngine engineTrusted = STORKSAMLEngine.getInstance("CONF3");
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ final byte[] authReqNotTrust = engineTrusted.generateSTORKAttrQueryRequest(request).getTokenSaml();
+
+ // engine ("CONF1") no have trust certificate from "CONF2"
+ engine.validateSTORKAttrQueryRequest(authReqNotTrust);
+
}
- }
- /**
- * Test validate file authentication request tag delete.
- *
- * @throws Exception the exception
- */
- @Test
- public final void testValidateFileAttrRequestTagDelete() throws Exception {
+ /**
+ * Test generate authentication request service provider application null.
+ */
+ @Test
+ public final void testGenerateAttrQueryRequestNADA() {
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+
+ // news parameters
+ request.setSpSector(null);
+ request.setSpInstitution(null);
+ request.setSpApplication(null);
+ request.setSpCountry(null);
- final byte[] bytes = SSETestUtils.readStorkSamlFromFile("/data/eu/stork/STORKSAMLEngine/AttrQueryRequestTagDelete.xml");
+ try {
- try {
- engine.validateSTORKAttrQueryRequest(bytes);
- fail("validateSTORKAttrQueryRequest(...) should have thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error(e.getMessage());
+ engine.validateSTORKAttrQueryRequest(attrRequest);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ }
}
- }
-
- /**
- * Test validate authentication request not trusted token.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAttrQueryRequestNotTrustedErr1()
- throws STORKSAMLEngineException {
-
- try {
- final STORKSAMLEngine engineNotTrusted = STORKSAMLEngine
- .getInstance("CONF2");
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
-
- final byte[] authReqNotTrust = engineNotTrusted
- .generateSTORKAttrQueryRequest(request).getTokenSaml();
-
- engine.validateSTORKAttrQueryRequest(authReqNotTrust);
- fail("validateSTORKAttrQueryRequestNotTrusted(...) should have thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
- }
- }
-
- /**
- * Test validate authentication request trusted.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAttrQueryRequestTrusted()
- throws STORKSAMLEngineException {
-
- final STORKSAMLEngine engineTrusted = STORKSAMLEngine
- .getInstance("CONF3");
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- final byte[] authReqNotTrust = engineTrusted.generateSTORKAttrQueryRequest(
- request).getTokenSaml();
-
- // engine ("CONF1") no have trust certificate from "CONF2"
- engine.validateSTORKAttrQueryRequest(authReqNotTrust);
-
- }
-
-
-
-
- /**
- * Test generate authentication request service provider application null.
- */
- @Test
- public final void testGenerateAttrQueryRequestNADA() {
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
-
- // news parameters
- request.setSpSector(null);
- request.setSpInstitution(null);
- request.setSpApplication(null);
- request.setSpCountry(null);
-
- try {
-
- engine.validateSTORKAttrQueryRequest(attrRequest);
-
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+
+ /**
+ * Test validate authentication request with unknown elements.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAttrQueryRequestWithUnknownElements() throws STORKSAMLEngineException {
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+
+ IPersonalAttributeList pAttList = new PersonalAttributeList();
+
+ final PersonalAttribute unknown = new PersonalAttribute();
+ unknown.setName("unknown");
+ unknown.setIsRequired(true);
+ pAttList.add(unknown);
+
+ final PersonalAttribute eIdentifier = new PersonalAttribute();
+ eIdentifier.setName("eIdentifier");
+ eIdentifier.setIsRequired(true);
+ pAttList.add(eIdentifier);
+
+ request.setPersonalAttributeList(pAttList);
+
+ // new parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("IS");
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ STORKAttrQueryRequest req = new STORKAttrQueryRequest();
+
+ req = engine3.generateSTORKAttrQueryRequest(request);
+
+ req = engine.validateSTORKAttrQueryRequest(req.getTokenSaml());
+
+ assertNull("The value shouldn't exist", req.getPersonalAttributeList().get("unknown"));
+ assertNotNull("The value should exist", req.getPersonalAttributeList().get("eIdentifier"));
+
}
- }
-
- /**
- * Test validate authentication request with unknown elements.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAttrQueryRequestWithUnknownElements() throws STORKSAMLEngineException {
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
-
- IPersonalAttributeList pAttList = new PersonalAttributeList();
-
- final PersonalAttribute unknown = new PersonalAttribute();
- unknown.setName("unknown");
- unknown.setIsRequired(true);
- pAttList.add(unknown);
-
- final PersonalAttribute eIdentifier = new PersonalAttribute();
- eIdentifier.setName("eIdentifier");
- eIdentifier.setIsRequired(true);
- pAttList.add(eIdentifier);
-
- request.setPersonalAttributeList(pAttList);
-
- // new parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("IS");
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- STORKAttrQueryRequest req = new STORKAttrQueryRequest();
-
- req = engine3.generateSTORKAttrQueryRequest(request);
-
- req = engine.validateSTORKAttrQueryRequest(req.getTokenSaml());
-
- assertNull("The value shouldn't exist", req.getPersonalAttributeList().get("unknown"));
- assertNotNull("The value should exist", req.getPersonalAttributeList().get("eIdentifier"));
-
- }
-
- /**
- * Test generate Request with required elements by default
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateAttrQueryRequestWithIsRequiredElementsByDefault() throws STORKSAMLEngineException {
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
-
- IPersonalAttributeList pAttList = new PersonalAttributeList();
-
- final PersonalAttribute eIdentifier = new PersonalAttribute();
- eIdentifier.setName("eIdentifier");
- eIdentifier.setIsRequired(true);
- pAttList.add(eIdentifier);
-
- request.setPersonalAttributeList(pAttList);
-
- // new parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("IS");
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- STORKAttrQueryRequest req = new STORKAttrQueryRequest();
- STORKAttrQueryRequest reqTrue = new STORKAttrQueryRequest();
- STORKAttrQueryRequest reqFalse = new STORKAttrQueryRequest();
-
- reqTrue = engine.generateSTORKAttrQueryRequest(request);
- reqFalse = engine2.generateSTORKAttrQueryRequest(request);
- req = engine3.generateSTORKAttrQueryRequest(request);
-
-
- String token = new String(req.getTokenSaml());
- String reqTrueToken = new String(reqTrue.getTokenSaml());
- String reqFalseToken = new String(reqFalse.getTokenSaml());
-
- assertTrue("The token must contain the chain 'isRequired'", token.contains("isRequired"));
- assertTrue("The token must contain the chain 'isRequired'", reqTrueToken.contains("isRequired"));
- assertFalse("The token must contain the chain 'isRequired'", reqFalseToken.contains("isRequired"));
-
- }
-
- /**
- * Test validating attribute query and getting alias used to save
- * the saml trusted certificate into trustore
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- /*@Test
- public final void testValidateAtrrQueryRequestGettingItsAlias() throws STORKSAMLEngineException {
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
-
- IPersonalAttributeList pAttList = new PersonalAttributeList();
-
- final PersonalAttribute eIdentifier = new PersonalAttribute();
- eIdentifier.setName("eIdentifier");
- eIdentifier.setIsRequired(true);
- pAttList.add(eIdentifier);
-
- request.setPersonalAttributeList(pAttList);
-
- // new parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("IS");
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- STORKAttrQueryRequest req = new STORKAttrQueryRequest();
-
- req = engine3.generateSTORKAttrQueryRequest(request);
- req = engine.validateSTORKAttrQueryRequest(req.getTokenSaml());
- String prufa = req.getAlias();
- assertTrue("The alias should match this value", req.getAlias().equals("local-demo"));
-
- req = engine2.generateSTORKAttrQueryRequest(request);
- req = engine2.validateSTORKAttrQueryRequest(req.getTokenSaml());
- assertTrue("The alias should match this value", req.getAlias().equals("local-demo2"));
- }*/
-
- @Test
- public final void testGenerateAttrQueryRequestSignDoc() throws STORKSAMLEngineException {
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
-
- request.setDestination(destination);
- request.setQaa(QAAL);
- PersonalAttributeList pal0 = new PersonalAttributeList();
-
- final PersonalAttribute signDoc = new PersonalAttribute();
- signDoc.setName("docRequest");
- signDoc.setIsRequired(true);
- signDoc.setValue(Arrays.asList("IS/IS/fbea6e68-0393-401b-b616-f767fff9418c"));
- pal0.add(signDoc);
-
- request.setPersonalAttributeList(pal0);
-
- // new parameters
- /*request.setEIDSectorShare(false);
- request.setEIDCrossSectorShare(false);
- request.setEIDCrossBorderShare(false);*/
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
- request.setSpCountry(spCountry);
-
- STORKAttrQueryRequest req1 = engine0.generateSTORKAttrQueryRequest(request);
- byte[] reqByte = req1.getTokenSaml();
- FileOutputStream output = null;
-
- STORKAttrQueryRequest req2 = engine0.validateSTORKAttrQueryRequest(reqByte);
- //reqByte = req2.getTokenSaml();
-
- try {
- //output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequestSdoc.xml"));
- FileOutputStream fos;
- File outputDir = new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine");
- File saveFile = new File(outputDir, "AttrQueryRequestSdoc.xml");
- fos = new FileOutputStream(saveFile);
- fos.write(reqByte);
- fos.flush();
- fos.close();
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+
+ /**
+ * Test generate Request with required elements by default
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateAttrQueryRequestWithIsRequiredElementsByDefault() throws STORKSAMLEngineException {
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+
+ IPersonalAttributeList pAttList = new PersonalAttributeList();
+
+ final PersonalAttribute eIdentifier = new PersonalAttribute();
+ eIdentifier.setName("eIdentifier");
+ eIdentifier.setIsRequired(true);
+ pAttList.add(eIdentifier);
+
+ request.setPersonalAttributeList(pAttList);
+
+ // new parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("IS");
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ STORKAttrQueryRequest req = new STORKAttrQueryRequest();
+ STORKAttrQueryRequest reqTrue = new STORKAttrQueryRequest();
+ STORKAttrQueryRequest reqFalse = new STORKAttrQueryRequest();
+
+ reqTrue = engine.generateSTORKAttrQueryRequest(request);
+ reqFalse = engine2.generateSTORKAttrQueryRequest(request);
+ req = engine3.generateSTORKAttrQueryRequest(request);
+
+ String token = new String(req.getTokenSaml());
+ String reqTrueToken = new String(reqTrue.getTokenSaml());
+ String reqFalseToken = new String(reqFalse.getTokenSaml());
+
+ assertTrue("The token must contain the chain 'isRequired'", token.contains("isRequired"));
+ assertTrue("The token must contain the chain 'isRequired'", reqTrueToken.contains("isRequired"));
+ assertFalse("The token must contain the chain 'isRequired'", reqFalseToken.contains("isRequired"));
+
}
- try {
- output.write(reqByte);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+
+ /**
+ * Test validating attribute query and getting alias used to save the saml trusted certificate into trustore
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ /*
+ * @Test public final void testValidateAtrrQueryRequestGettingItsAlias() throws STORKSAMLEngineException {
+ *
+ * final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+ *
+ * request.setDestination(destination); request.setQaa(QAAL); request.setPersonalAttributeList(pal);
+ *
+ * IPersonalAttributeList pAttList = new PersonalAttributeList();
+ *
+ * final PersonalAttribute eIdentifier = new PersonalAttribute(); eIdentifier.setName("eIdentifier"); eIdentifier.setIsRequired(true); pAttList.add(eIdentifier);
+ *
+ * request.setPersonalAttributeList(pAttList);
+ *
+ * // new parameters request.setSpSector(spSector); request.setSpInstitution(spInstitution); request.setSpApplication(spApplication); request.setSpCountry(spCountry); request.setSPID(spId);
+ * request.setCitizenCountryCode("IS"); request.setAssertionConsumerServiceURL(assertConsumerUrl);
+ *
+ * STORKAttrQueryRequest req = new STORKAttrQueryRequest();
+ *
+ * req = engine3.generateSTORKAttrQueryRequest(request); req = engine.validateSTORKAttrQueryRequest(req.getTokenSaml()); String prufa = req.getAlias();
+ * assertTrue("The alias should match this value", req.getAlias().equals("local-demo"));
+ *
+ * req = engine2.generateSTORKAttrQueryRequest(request); req = engine2.validateSTORKAttrQueryRequest(req.getTokenSaml()); assertTrue("The alias should match this value",
+ * req.getAlias().equals("local-demo2")); }
+ */
+
+ @Test
+ public final void testGenerateAttrQueryRequestSignDoc() throws STORKSAMLEngineException {
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+
+ request.setDestination(destination);
+ request.setQaa(QAAL);
+ PersonalAttributeList pal0 = new PersonalAttributeList();
+
+ final PersonalAttribute signDoc = new PersonalAttribute();
+ signDoc.setName("docRequest");
+ signDoc.setIsRequired(true);
+ signDoc.setValue(Arrays.asList("IS/IS/fbea6e68-0393-401b-b616-f767fff9418c"));
+ pal0.add(signDoc);
+
+ request.setPersonalAttributeList(pal0);
+
+ // new parameters
+ /*
+ * request.setEIDSectorShare(false); request.setEIDCrossSectorShare(false); request.setEIDCrossBorderShare(false);
+ */
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+ request.setSpCountry(spCountry);
+
+ STORKAttrQueryRequest req1 = engine0.generateSTORKAttrQueryRequest(request);
+ byte[] reqByte = req1.getTokenSaml();
+ FileOutputStream output = null;
+
+ STORKAttrQueryRequest req2 = engine0.validateSTORKAttrQueryRequest(reqByte);
+ // reqByte = req2.getTokenSaml();
+
+ try {
+ // output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequestSdoc.xml"));
+ FileOutputStream fos;
+ File outputDir = new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine");
+ File saveFile = new File(outputDir, "AttrQueryRequestSdoc.xml");
+ fos = new FileOutputStream(saveFile);
+ fos.write(reqByte);
+ fos.flush();
+ fos.close();
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ try {
+ output.write(reqByte);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ LOG.info("STORKAttrQueryRequest 1: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKAttrQueryRequest(request).getTokenSaml()));
+
+ request.setCitizenCountryCode("IS");
+ LOG.info("STORKAttrQueryRequest 2: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKAttrQueryRequest(request).getTokenSaml()));
}
-
- LOG.info("STORKAttrQueryRequest 1: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKAttrQueryRequest(request).getTokenSaml()));
-
- request.setCitizenCountryCode("IS");
- LOG.info("STORKAttrQueryRequest 2: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKAttrQueryRequest(request).getTokenSaml()));
- }
-
+
}
diff --git a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAttrQueryResponseTest.java b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAttrQueryResponseTest.java
index a98d5b7c3..0ecca1eab 100644
--- a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAttrQueryResponseTest.java
+++ b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAttrQueryResponseTest.java
@@ -36,842 +36,763 @@ import eu.stork.peps.auth.engine.STORKSAMLEngine;
import eu.stork.peps.exceptions.STORKSAMLEngineException;
public class StorkAttrQueryResponseTest {
-
+
/** The engine. */
- private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
-
- /**
- * Gets the engine.
- *
- * @return the engine
- */
- public static STORKSAMLEngine getEngine() {
- return engine;
- }
-
- /**
- * Sets the engine.
- *
- * @param newEngine the new engine
- */
- public static void setEngine(final STORKSAMLEngine newEngine) {
- StorkAttrQueryResponseTest.engine = newEngine;
- }
-
- /** The destination. */
- private static String destination;
-
- /** The service provider sector. */
- private static String spSector;
-
- /** The service provider institution. */
- private static String spInstitution;
-
- /** The service provider application. */
- private static String spApplication;
-
- /** The service provider country. */
- private static String spCountry;
-
- /** The service provider id. */
- private static String spId;
-
- /** The quality authentication assurance level. */
- private static final int QAAL = 3;
-
- /** The state. */
- private static String state = "IS";
-
- /** The town. */
- private static String town = "Reykjavik";
-
- /** The postal code. */
- private static String postalCode = "105";
-
- /** The street name. */
- private static String streetName = "Gudrunartun";
-
- /** The street number. */
- private static String streetNumber = "10";
-
- /** The List of Personal Attributes. */
- private static IPersonalAttributeList pal;
-
- /** The assertion consumer URL. */
- private static String assertConsumerUrl;
-
- /** The attribute query request. */
- private static byte[] attrQueryRequest;
-
- /** The attribute query response. */
- private static byte[] attrQueryResponse;
-
- /** The attribute query request. */
- private static STORKAttrQueryRequest attrQueryenRequest;
-
- /** The attribute query response. */
- private static STORKAttrQueryResponse attrQeuryenResponse;
-
- /** The Constant LOG. */
- private static final Logger LOG = LoggerFactory
- .getLogger(StorkAttrQueryResponseTest.class.getName());
-
- /**
- * Instantiates a new stork response test.
- */
- public StorkAttrQueryResponseTest() {
- super();
- }
-
- /** The IP address. */
- private static String ipAddress;
-
- /** The destination URL. */
- private static String destinationUrl;
-
- /** The is hashing. */
- private final boolean isHashing = Boolean.TRUE;
-
- /** The is not hashing. */
- private final boolean isNotHashing = Boolean.FALSE;
-
- /** The ERROR text. */
- private static final String ERROR_TXT = "generateAttrQueryResponse(...) should've thrown an STORKSAMLEngineException!";
-
-
- /** Parser manager used to parse XML. */
- private static BasicParserPool parser;
-
-
-
- static {
- parser = new BasicParserPool();
- parser.setNamespaceAware(true);
-
- pal = new PersonalAttributeList();
-
- PersonalAttribute isAgeOver = new PersonalAttribute();
- isAgeOver.setName("isAgeOver");
- isAgeOver.setIsRequired(false);
- ArrayList<String> ages = new ArrayList<String>();
- ages.add("16");
- ages.add("18");
- isAgeOver.setValue(ages);
- pal.add(isAgeOver);
-
- PersonalAttribute dateOfBirth = new PersonalAttribute();
- dateOfBirth.setName("dateOfBirth");
- dateOfBirth.setIsRequired(false);
- pal.add(dateOfBirth);
-
- PersonalAttribute eIDNumber = new PersonalAttribute();
- eIDNumber.setName("eIdentifier");
- List<String> eid = Arrays.asList("IS/IS/1234567890");
- eIDNumber.setValue(eid);
- eIDNumber.setIsRequired(true);
- pal.add(eIDNumber);
-
- final PersonalAttribute givenName = new PersonalAttribute();
- givenName.setName("givenName");
- givenName.setIsRequired(true);
- pal.add(givenName);
-
- PersonalAttribute canRessAddress = new PersonalAttribute();
- canRessAddress.setName("canonicalResidenceAddress");
- canRessAddress.setIsRequired(true);
- pal.add(canRessAddress);
-
- PersonalAttribute newAttribute = new PersonalAttribute();
- newAttribute.setName("newAttribute2");
- newAttribute.setIsRequired(true);
- pal.add(newAttribute);
-
- destination = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
- assertConsumerUrl = "http://S-PEPS.gov.xx/PEPS/ColleagueResponse";
- spSector = "EDU001";
- spInstitution = "OXF001";
- spApplication = "APP001";
- spCountry = "EN";
-
- spId = "EDU001-APP001-APP001";
-
- final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
- request.setDestination(destination);
- //request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // new parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("IS");
-
- try {
- attrQueryRequest = getEngine().generateSTORKAttrQueryRequest(request)
- .getTokenSaml();
-
- attrQueryenRequest = getEngine().validateSTORKAttrQueryRequest(attrQueryRequest);
-
- } catch (STORKSAMLEngineException e) {
- fail("Error create STORKAuthnRequest");
+ private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
+
+ /**
+ * Gets the engine.
+ *
+ * @return the engine
+ */
+ public static STORKSAMLEngine getEngine() {
+ return engine;
}
- ipAddress = "111.222.333.444";
-
- destinationUrl = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
-
- pal = new PersonalAttributeList();
-
- isAgeOver = new PersonalAttribute();
- isAgeOver.setName("isAgeOver");
- isAgeOver.setIsRequired(true);
- ages = new ArrayList<String>();
-
- ages.add("16");
- ages.add("18");
-
- isAgeOver.setValue(ages);
- isAgeOver.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- pal.add(isAgeOver);
-
- dateOfBirth = new PersonalAttribute();
- dateOfBirth.setName("dateOfBirth");
- dateOfBirth.setIsRequired(false);
- final ArrayList<String> date = new ArrayList<String>();
- date.add("16/12/2008");
- dateOfBirth.setValue(date);
- dateOfBirth.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- pal.add(dateOfBirth);
-
- eIDNumber = new PersonalAttribute();
- eIDNumber.setName("eIdentifier");
- eIDNumber.setIsRequired(true);
- final ArrayList<String> idNumber = new ArrayList<String>();
- idNumber.add("123456789IS");
- eIDNumber.setValue(idNumber);
- eIDNumber.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- pal.add(eIDNumber);
-
- canRessAddress = new PersonalAttribute();
- canRessAddress.setName("canonicalResidenceAddress");
- canRessAddress.setIsRequired(true);
- canRessAddress.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- final HashMap<String, String> address = new HashMap<String, String>();
-
- address.put("state", state);
- address.put("town", town);
- address.put("postalCode", postalCode);
- address.put("streetName", streetName);
- address.put("streetNumber", streetNumber);
-
- canRessAddress.setComplexValue(address);
- pal.add(canRessAddress);
-
- newAttribute = new PersonalAttribute();
- newAttribute.setName("newAttribute2");
- newAttribute.setIsRequired(true);
- newAttribute.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- final HashMap<String, String> values = new HashMap<String, String>();
-
- values.put("value1", "value1");
- values.put("value2", "value2");
- values.put("value3", "value3");
- values.put("value4", "value4");
-
- newAttribute.setComplexValue(values);
- pal.add(newAttribute);
-
- }
-
- /**
- * Test generate attribute query request without errors.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateAttrQueryResponse() throws STORKSAMLEngineException {
-
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- response.setPersonalAttributeList(pal);
-
- final STORKAttrQueryResponse storkResponse = getEngine()
- .generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress,
- destinationUrl, isNotHashing);
-
- attrQueryResponse = storkResponse.getTokenSaml();
-
- FileOutputStream output = null;
-
- try {
- output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryResponse.xml"));
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ /**
+ * Sets the engine.
+ *
+ * @param newEngine
+ * the new engine
+ */
+ public static void setEngine(final STORKSAMLEngine newEngine) {
+ StorkAttrQueryResponseTest.engine = newEngine;
}
- try {
- output.write(attrQueryResponse);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+
+ /** The destination. */
+ private static String destination;
+
+ /** The service provider sector. */
+ private static String spSector;
+
+ /** The service provider institution. */
+ private static String spInstitution;
+
+ /** The service provider application. */
+ private static String spApplication;
+
+ /** The service provider country. */
+ private static String spCountry;
+
+ /** The service provider id. */
+ private static String spId;
+
+ /** The quality authentication assurance level. */
+ private static final int QAAL = 3;
+
+ /** The state. */
+ private static String state = "IS";
+
+ /** The town. */
+ private static String town = "Reykjavik";
+
+ /** The postal code. */
+ private static String postalCode = "105";
+
+ /** The street name. */
+ private static String streetName = "Gudrunartun";
+
+ /** The street number. */
+ private static String streetNumber = "10";
+
+ /** The List of Personal Attributes. */
+ private static IPersonalAttributeList pal;
+
+ /** The assertion consumer URL. */
+ private static String assertConsumerUrl;
+
+ /** The attribute query request. */
+ private static byte[] attrQueryRequest;
+
+ /** The attribute query response. */
+ private static byte[] attrQueryResponse;
+
+ /** The attribute query request. */
+ private static STORKAttrQueryRequest attrQueryenRequest;
+
+ /** The attribute query response. */
+ private static STORKAttrQueryResponse attrQeuryenResponse;
+
+ /** The Constant LOG. */
+ private static final Logger LOG = LoggerFactory.getLogger(StorkAttrQueryResponseTest.class.getName());
+
+ /**
+ * Instantiates a new stork response test.
+ */
+ public StorkAttrQueryResponseTest() {
+ super();
}
-
- LOG.info("RESPONSE: " + SSETestUtils.encodeSAMLToken(attrQueryResponse));
-
-
- }
-
- /**
- * Test validation id parameter mandatory.
- */
- @Test
- public final void testResponseMandatoryId() {
- final String identifier = attrQueryenRequest.getSamlId();
- attrQueryenRequest.setSamlId(null);
-
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- response.setPersonalAttributeList(pal);
-
- try {
- getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response,
- ipAddress, destinationUrl, isHashing);
- fail(ERROR_TXT);
- } catch (STORKSAMLEngineException e) {
- attrQueryenRequest.setSamlId(identifier);
- LOG.error("Error");
+
+ /** The IP address. */
+ private static String ipAddress;
+
+ /** The destination URL. */
+ private static String destinationUrl;
+
+ /** The is hashing. */
+ private final boolean isHashing = Boolean.TRUE;
+
+ /** The is not hashing. */
+ private final boolean isNotHashing = Boolean.FALSE;
+
+ /** The ERROR text. */
+ private static final String ERROR_TXT = "generateAttrQueryResponse(...) should've thrown an STORKSAMLEngineException!";
+
+ /** Parser manager used to parse XML. */
+ private static BasicParserPool parser;
+
+ static {
+ parser = new BasicParserPool();
+ parser.setNamespaceAware(true);
+
+ pal = new PersonalAttributeList();
+
+ PersonalAttribute isAgeOver = new PersonalAttribute();
+ isAgeOver.setName("isAgeOver");
+ isAgeOver.setIsRequired(false);
+ ArrayList<String> ages = new ArrayList<String>();
+ ages.add("16");
+ ages.add("18");
+ isAgeOver.setValue(ages);
+ pal.add(isAgeOver);
+
+ PersonalAttribute dateOfBirth = new PersonalAttribute();
+ dateOfBirth.setName("dateOfBirth");
+ dateOfBirth.setIsRequired(false);
+ pal.add(dateOfBirth);
+
+ PersonalAttribute eIDNumber = new PersonalAttribute();
+ eIDNumber.setName("eIdentifier");
+ List<String> eid = Arrays.asList("IS/IS/1234567890");
+ eIDNumber.setValue(eid);
+ eIDNumber.setIsRequired(true);
+ pal.add(eIDNumber);
+
+ final PersonalAttribute givenName = new PersonalAttribute();
+ givenName.setName("givenName");
+ givenName.setIsRequired(true);
+ pal.add(givenName);
+
+ PersonalAttribute canRessAddress = new PersonalAttribute();
+ canRessAddress.setName("canonicalResidenceAddress");
+ canRessAddress.setIsRequired(true);
+ pal.add(canRessAddress);
+
+ PersonalAttribute newAttribute = new PersonalAttribute();
+ newAttribute.setName("newAttribute2");
+ newAttribute.setIsRequired(true);
+ pal.add(newAttribute);
+
+ destination = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
+ assertConsumerUrl = "http://S-PEPS.gov.xx/PEPS/ColleagueResponse";
+ spSector = "EDU001";
+ spInstitution = "OXF001";
+ spApplication = "APP001";
+ spCountry = "EN";
+
+ spId = "EDU001-APP001-APP001";
+
+ final STORKAttrQueryRequest request = new STORKAttrQueryRequest();
+ request.setDestination(destination);
+ // request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // new parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("IS");
+
+ try {
+ attrQueryRequest = getEngine().generateSTORKAttrQueryRequest(request).getTokenSaml();
+
+ attrQueryenRequest = getEngine().validateSTORKAttrQueryRequest(attrQueryRequest);
+
+ } catch (STORKSAMLEngineException e) {
+ fail("Error create STORKAuthnRequest");
+ }
+
+ ipAddress = "111.222.333.444";
+
+ destinationUrl = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
+
+ pal = new PersonalAttributeList();
+
+ isAgeOver = new PersonalAttribute();
+ isAgeOver.setName("isAgeOver");
+ isAgeOver.setIsRequired(true);
+ ages = new ArrayList<String>();
+
+ ages.add("16");
+ ages.add("18");
+
+ isAgeOver.setValue(ages);
+ isAgeOver.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ pal.add(isAgeOver);
+
+ dateOfBirth = new PersonalAttribute();
+ dateOfBirth.setName("dateOfBirth");
+ dateOfBirth.setIsRequired(false);
+ final ArrayList<String> date = new ArrayList<String>();
+ date.add("16/12/2008");
+ dateOfBirth.setValue(date);
+ dateOfBirth.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ pal.add(dateOfBirth);
+
+ eIDNumber = new PersonalAttribute();
+ eIDNumber.setName("eIdentifier");
+ eIDNumber.setIsRequired(true);
+ final ArrayList<String> idNumber = new ArrayList<String>();
+ idNumber.add("123456789IS");
+ eIDNumber.setValue(idNumber);
+ eIDNumber.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ pal.add(eIDNumber);
+
+ canRessAddress = new PersonalAttribute();
+ canRessAddress.setName("canonicalResidenceAddress");
+ canRessAddress.setIsRequired(true);
+ canRessAddress.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ final HashMap<String, String> address = new HashMap<String, String>();
+
+ address.put("state", state);
+ address.put("town", town);
+ address.put("postalCode", postalCode);
+ address.put("streetName", streetName);
+ address.put("streetNumber", streetNumber);
+
+ canRessAddress.setComplexValue(address);
+ pal.add(canRessAddress);
+
+ newAttribute = new PersonalAttribute();
+ newAttribute.setName("newAttribute2");
+ newAttribute.setIsRequired(true);
+ newAttribute.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ final HashMap<String, String> values = new HashMap<String, String>();
+
+ values.put("value1", "value1");
+ values.put("value2", "value2");
+ values.put("value3", "value3");
+ values.put("value4", "value4");
+
+ newAttribute.setComplexValue(values);
+ pal.add(newAttribute);
+
}
- }
-
- /**
- * Test generate attribute query response in response to err1.
- */
- @Test
- public final void testResponseMandatoryIssuer() {
-
- final String issuer = attrQueryenRequest.getIssuer();
- attrQueryenRequest.setIssuer(null);
-
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- response.setPersonalAttributeList(pal);
-
- try {
- getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response,
- ipAddress, destinationUrl, isHashing);
- fail(ERROR_TXT);
- } catch (STORKSAMLEngineException e) {
- attrQueryenRequest.setIssuer(issuer);
- LOG.error("Error");
+
+ /**
+ * Test generate attribute query request without errors.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateAttrQueryResponse() throws STORKSAMLEngineException {
+
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ response.setPersonalAttributeList(pal);
+
+ final STORKAttrQueryResponse storkResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress, destinationUrl, isNotHashing);
+
+ attrQueryResponse = storkResponse.getTokenSaml();
+
+ FileOutputStream output = null;
+
+ try {
+ output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryResponse.xml"));
+ } catch (FileNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ try {
+ output.write(attrQueryResponse);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ LOG.info("RESPONSE: " + SSETestUtils.encodeSAMLToken(attrQueryResponse));
+
}
- }
-
-
- /**
- * Test generate attribute query response assertion consumer null.
- */
- /*@Test
- public final void testResponseMandatoryAssertionConsumerServiceURL() {
- final String asserConsumerUrl = attrQueryenRequest
- .getAssertionConsumerServiceURL();
- attrQueryenRequest.setAssertionConsumerServiceURL(null);
-
- final STORKAuthnResponse response = new STORKAuthnResponse();
- response.setPersonalAttributeList(pal);
- try {
- getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response,
- ipAddress, isHashing);
- fail("generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- attrQueryenRequest.setAssertionConsumerServiceURL(asserConsumerUrl);
- LOG.error("Error");
+
+ /**
+ * Test validation id parameter mandatory.
+ */
+ @Test
+ public final void testResponseMandatoryId() {
+ final String identifier = attrQueryenRequest.getSamlId();
+ attrQueryenRequest.setSamlId(null);
+
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ response.setPersonalAttributeList(pal);
+
+ try {
+ getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress, destinationUrl, isHashing);
+ fail(ERROR_TXT);
+ } catch (STORKSAMLEngineException e) {
+ attrQueryenRequest.setSamlId(identifier);
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate attribute query response IP address null.
- */
- @Test
- public final void testResponseValidationIP() {
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- response.setPersonalAttributeList(pal);
-
- try {
- getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, null,
- destinationUrl, isHashing);
- fail("generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate attribute query response in response to err1.
+ */
+ @Test
+ public final void testResponseMandatoryIssuer() {
+
+ final String issuer = attrQueryenRequest.getIssuer();
+ attrQueryenRequest.setIssuer(null);
+
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ response.setPersonalAttributeList(pal);
+
+ try {
+ getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress, destinationUrl, isHashing);
+ fail(ERROR_TXT);
+ } catch (STORKSAMLEngineException e) {
+ attrQueryenRequest.setIssuer(issuer);
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate attribute query response with personal attribute list null.
- */
- @Test
- public final void testResponseMandatoryPersonalAttributeList() {
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- response.setPersonalAttributeList(null);
-
-
- try {
- getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response,
- ipAddress, destinationUrl, isHashing);
- fail("generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate attribute query response assertion consumer null.
+ */
+ /*
+ * @Test public final void testResponseMandatoryAssertionConsumerServiceURL() { final String asserConsumerUrl = attrQueryenRequest .getAssertionConsumerServiceURL();
+ * attrQueryenRequest.setAssertionConsumerServiceURL(null);
+ *
+ * final STORKAuthnResponse response = new STORKAuthnResponse(); response.setPersonalAttributeList(pal); try { getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress,
+ * isHashing); fail("generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!"); } catch (STORKSAMLEngineException e) {
+ * attrQueryenRequest.setAssertionConsumerServiceURL(asserConsumerUrl); LOG.error("Error"); } }
+ *
+ * /** Test generate attribute query response IP address null.
+ */
+ @Test
+ public final void testResponseValidationIP() {
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ response.setPersonalAttributeList(pal);
+
+ try {
+ getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, null, destinationUrl, isHashing);
+ fail("generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test validate attribute query response token null.
- */
- @Test
- public final void testResponseInvalidParametersToken() {
- try {
- getEngine().validateSTORKAttrQueryResponse(null, ipAddress);
- fail(ERROR_TXT);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate attribute query response with personal attribute list null.
+ */
+ @Test
+ public final void testResponseMandatoryPersonalAttributeList() {
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ response.setPersonalAttributeList(null);
+
+ try {
+ getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress, destinationUrl, isHashing);
+ fail("generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test validate attribute query response IP null.
- */
- @Test
- public final void STORKAttrQueryResponse() {
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- response.setPersonalAttributeList(pal);
- try {
- attrQueryResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest,
- response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
- // In Conf1 ipValidate is false
- getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, null);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate attribute query response token null.
+ */
+ @Test
+ public final void testResponseInvalidParametersToken() {
+ try {
+ getEngine().validateSTORKAttrQueryResponse(null, ipAddress);
+ fail(ERROR_TXT);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
-
- /**
- * Test validate attribute query response parameter name wrong.
- */
- @Test
- public final void testResponseInvalidParametersAttr() {
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- final IPersonalAttributeList wrongList = new PersonalAttributeList();
-
- final PersonalAttribute worngAttr = new PersonalAttribute();
- worngAttr.setName("AttrWrong");
- wrongList.add(worngAttr);
-
-
- response.setPersonalAttributeList(wrongList);
- try {
- attrQueryResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest,
- response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
- // In Conf1 ipValidate is false
- getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, null);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate attribute query response IP null.
+ */
+ @Test
+ public final void STORKAttrQueryResponse() {
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ response.setPersonalAttributeList(pal);
+ try {
+ attrQueryResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
+ // In Conf1 ipValidate is false
+ getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, null);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
-
- /**
- * Test validate attribute query response set null value into attribute.
- */
- @Test
- public final void testResponseInvalidParametersAttrSimpleValue() {
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- final IPersonalAttributeList wrongList = new PersonalAttributeList();
-
- final PersonalAttribute worngAttr = new PersonalAttribute();
- worngAttr.setName("isAgeOver");
- worngAttr.setValue(null);
- wrongList.add(worngAttr);
-
- response.setPersonalAttributeList(wrongList);
- try {
- attrQueryResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest,
- response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
- // In Conf1 ipValidate is false
- getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, null);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate attribute query response parameter name wrong.
+ */
+ @Test
+ public final void testResponseInvalidParametersAttr() {
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ final IPersonalAttributeList wrongList = new PersonalAttributeList();
+
+ final PersonalAttribute worngAttr = new PersonalAttribute();
+ worngAttr.setName("AttrWrong");
+ wrongList.add(worngAttr);
+
+ response.setPersonalAttributeList(wrongList);
+ try {
+ attrQueryResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
+ // In Conf1 ipValidate is false
+ getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, null);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
-
- /**
- * Test validate attribute query response set null value into attribute.
- */
- @Test
- public final void testResponseInvalidParametersAttrNoValue() {
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- final IPersonalAttributeList wrongList = new PersonalAttributeList();
-
- final PersonalAttribute worngAttr = new PersonalAttribute();
- worngAttr.setName("isAgeOver");
- wrongList.add(worngAttr);
-
- response.setPersonalAttributeList(wrongList);
- try {
- attrQueryResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest,
- response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
- // In Conf1 ipValidate is false
- getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, null);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate attribute query response set null value into attribute.
+ */
+ @Test
+ public final void testResponseInvalidParametersAttrSimpleValue() {
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ final IPersonalAttributeList wrongList = new PersonalAttributeList();
+
+ final PersonalAttribute worngAttr = new PersonalAttribute();
+ worngAttr.setName("isAgeOver");
+ worngAttr.setValue(null);
+ wrongList.add(worngAttr);
+
+ response.setPersonalAttributeList(wrongList);
+ try {
+ attrQueryResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
+ // In Conf1 ipValidate is false
+ getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, null);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
-
- /**
- * Test validate attribute query response set null value into attribute.
- */
- @Test
- public final void testResponseInvalidParametersAttrNoName() {
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- final IPersonalAttributeList wrongList = new PersonalAttributeList();
-
- final PersonalAttribute worngAttr = new PersonalAttribute();
- wrongList.add(worngAttr);
-
- response.setPersonalAttributeList(wrongList);
- try {
- attrQueryResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest,
- response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
- // In Conf1 ipValidate is false
- getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, null);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate attribute query response set null value into attribute.
+ */
+ @Test
+ public final void testResponseInvalidParametersAttrNoValue() {
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ final IPersonalAttributeList wrongList = new PersonalAttributeList();
+
+ final PersonalAttribute worngAttr = new PersonalAttribute();
+ worngAttr.setName("isAgeOver");
+ wrongList.add(worngAttr);
+
+ response.setPersonalAttributeList(wrongList);
+ try {
+ attrQueryResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
+ // In Conf1 ipValidate is false
+ getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, null);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
+ }
+
+ /**
+ * Test validate attribute query response set null value into attribute.
+ */
+ @Test
+ public final void testResponseInvalidParametersAttrNoName() {
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ final IPersonalAttributeList wrongList = new PersonalAttributeList();
+
+ final PersonalAttribute worngAttr = new PersonalAttribute();
+ wrongList.add(worngAttr);
+
+ response.setPersonalAttributeList(wrongList);
+ try {
+ attrQueryResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
+ // In Conf1 ipValidate is false
+ getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, null);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
+ }
+
+ /**
+ * Test validate attribute query response set null complex value into attribute.
+ */
+ @Test
+ public final void testResponseInvalidParametersAttrComplexValue() {
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ final IPersonalAttributeList wrongList = new PersonalAttributeList();
+
+ final PersonalAttribute worngAttr = new PersonalAttribute();
+ worngAttr.setName("isAgeOver");
+ worngAttr.setComplexValue(null);
+ wrongList.add(worngAttr);
+
+ response.setPersonalAttributeList(wrongList);
+ try {
+ attrQueryResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
+ // In Conf1 ipValidate is false
+ getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, null);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
-
- /**
- * Test validate attribute query response set null complex value into attribute.
- */
- @Test
- public final void testResponseInvalidParametersAttrComplexValue() {
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- final IPersonalAttributeList wrongList = new PersonalAttributeList();
-
- final PersonalAttribute worngAttr = new PersonalAttribute();
- worngAttr.setName("isAgeOver");
- worngAttr.setComplexValue(null);
- wrongList.add(worngAttr);
-
- response.setPersonalAttributeList(wrongList);
- try {
- attrQueryResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest,
- response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
- // In Conf1 ipValidate is false
- getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, null);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate attribute query response IP distinct and disabled validation IP.
+ */
+ @Test
+ public final void testResponseInvalidParametersIPDistinct() {
+ try {
+ // ipAddress origin "111.222.333.444"
+ // ipAddrValidation = false
+ // Subject Confirmation Bearer.
+
+ getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, "127.0.0.1");
+ } catch (STORKSAMLEngineException e) {
+ fail("validateAttributeQueryResponse(...) should've thrown an STORKSAMLEngineException!");
+ LOG.error("Error");
+ }
+ }
+
+ /**
+ * Test response invalid parameters invalid token.
+ */
+ @Test
+ public final void testResponseInvalidParametersTokenMsg() {
+ try {
+ // ipAddress origin "111.222.333.444"
+ // Subject Confirmation Bearer.
+ getEngine().validateSTORKAttrQueryResponse("errorMessage".getBytes(), ipAddress);
+ fail("validateAuthenticationResponse(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
-
-
-
- /**
- * Test validate attribute query response IP distinct and disabled validation
- * IP.
- */
- @Test
- public final void testResponseInvalidParametersIPDistinct() {
- try {
- // ipAddress origin "111.222.333.444"
- // ipAddrValidation = false
- // Subject Confirmation Bearer.
-
- getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, "127.0.0.1");
- } catch (STORKSAMLEngineException e) {
- fail("validateAttributeQueryResponse(...) should've thrown an STORKSAMLEngineException!");
- LOG.error("Error");
+
+ /**
+ * Test validate attribute query response is fail.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ /*
+ * @Test public final void testValidateAuthenticationResponseIsFail() throws STORKSAMLEngineException { attrQeuryenResponse = getEngine().validateSTORKAttrQueryResponse(attrQueryResponse,
+ * ipAddress);
+ *
+ * assertFalse("Generate incorrect response: ", attrQeuryenResponse.isFail()); }
+ *
+ * /** Test validate attribute query response destination.
+ *
+ * @throws STORKSAMLEngineException the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAuthenticationResponseDestination() throws STORKSAMLEngineException {
+ attrQeuryenResponse = getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, ipAddress);
+
+ assertEquals("Destination incorrect: ", attrQeuryenResponse.getInResponseTo(), attrQueryenRequest.getSamlId());
}
- }
-
- /**
- * Test response invalid parameters invalid token.
- */
- @Test
- public final void testResponseInvalidParametersTokenMsg() {
- try {
- // ipAddress origin "111.222.333.444"
- // Subject Confirmation Bearer.
- getEngine().validateSTORKAttrQueryResponse("errorMessage".getBytes(),
- ipAddress);
- fail("validateAuthenticationResponse(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate attribute query response values.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAuthenticationResponseValuesComplex() throws STORKSAMLEngineException {
+ attrQeuryenResponse = getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, ipAddress);
+
+ assertEquals("Country incorrect:", attrQeuryenResponse.getCountry(), "ES");
+
+ final Iterator<PersonalAttribute> iterator = attrQeuryenResponse.getPersonalAttributeList().iterator();
+
+ while (iterator.hasNext()) {
+ final PersonalAttribute attribute = iterator.next();
+ if (attribute.getName().equalsIgnoreCase("canonicalResidenceAddress")) {
+ assertEquals("State incorrect: ", state, attribute.getComplexValue().get("state"));
+ assertEquals("Town incorrect: ", town, attribute.getComplexValue().get("town"));
+ assertEquals("Postal code incorrect: ", postalCode, attribute.getComplexValue().get("postalCode"));
+ assertEquals("Street name incorrect: ", streetName, attribute.getComplexValue().get("streetName"));
+ assertEquals("Street number incorrect: ", streetNumber, attribute.getComplexValue().get("streetNumber"));
+ }
+ }
}
- }
-
- /**
- * Test validate attribute query response is fail.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- /*@Test
- public final void testValidateAuthenticationResponseIsFail()
- throws STORKSAMLEngineException {
- attrQeuryenResponse = getEngine().validateSTORKAttrQueryResponse(attrQueryResponse,
- ipAddress);
-
- assertFalse("Generate incorrect response: ", attrQeuryenResponse.isFail());
- }
-
- /**
- * Test validate attribute query response destination.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAuthenticationResponseDestination()
- throws STORKSAMLEngineException {
- attrQeuryenResponse = getEngine().validateSTORKAttrQueryResponse(attrQueryResponse,
- ipAddress);
-
- assertEquals("Destination incorrect: ",
- attrQeuryenResponse.getInResponseTo(), attrQueryenRequest.getSamlId());
- }
-
- /**
- * Test validate attribute query response values.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAuthenticationResponseValuesComplex()
- throws STORKSAMLEngineException {
- attrQeuryenResponse = getEngine().validateSTORKAttrQueryResponse(attrQueryResponse,
- ipAddress);
-
- assertEquals("Country incorrect:", attrQeuryenResponse.getCountry(), "ES");
-
- final Iterator<PersonalAttribute> iterator = attrQeuryenResponse
- .getPersonalAttributeList().iterator();
-
- while (iterator.hasNext()) {
- final PersonalAttribute attribute = iterator.next();
- if (attribute.getName().equalsIgnoreCase(
- "canonicalResidenceAddress")) {
- assertEquals("State incorrect: ", state, attribute
- .getComplexValue().get("state"));
- assertEquals("Town incorrect: ", town, attribute
- .getComplexValue().get("town"));
- assertEquals("Postal code incorrect: ", postalCode, attribute
- .getComplexValue().get("postalCode"));
- assertEquals("Street name incorrect: ", streetName, attribute
- .getComplexValue().get("streetName"));
- assertEquals("Street number incorrect: ", streetNumber,
- attribute.getComplexValue().get("streetNumber"));
- }
+
+ /**
+ * Test generate attribute query response fail in response to it's null.
+ *
+ * @throws STORKSAMLEngineException
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ // ( expected=STORKSAMLEngineException.class)
+ public final void testGenerateAttrQueryResponseFailInResponseToNull() throws STORKSAMLEngineException {
+ final String identifier = attrQueryenRequest.getSamlId();
+ attrQueryenRequest.setSamlId(null);
+
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ response.setStatusCode(STORKStatusCode.REQUESTER_URI.toString());
+ response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
+ response.setMessage("");
+
+ try {
+ attrQueryResponse = getEngine().generateSTORKAttrQueryResponseFail(attrQueryenRequest, response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
+ fail(ERROR_TXT);
+ } catch (STORKSAMLEngineException e) {
+ attrQueryenRequest.setSamlId(identifier);
+ LOG.error("Error");
+ // throw new STORKSAMLEngineException(e);
+ }
}
- }
-
- /**
- * Test generate attribute query response fail in response to it's null.
- * @throws STORKSAMLEngineException
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test //( expected=STORKSAMLEngineException.class)
- public final void testGenerateAttrQueryResponseFailInResponseToNull() throws STORKSAMLEngineException {
- final String identifier = attrQueryenRequest.getSamlId();
- attrQueryenRequest.setSamlId(null);
-
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- response.setStatusCode(STORKStatusCode.REQUESTER_URI.toString());
- response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
- response.setMessage("");
-
- try {
- attrQueryResponse = getEngine().generateSTORKAttrQueryResponseFail(attrQueryenRequest,
- response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
- fail(ERROR_TXT);
- } catch (STORKSAMLEngineException e) {
- attrQueryenRequest.setSamlId(identifier);
- LOG.error("Error");
- //throw new STORKSAMLEngineException(e);
+
+ /**
+ * Test generate attribute query response fail assertion consumer URL err1.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ /*
+ * @Test public final void testGenerateAuthnResponseFailAssertionConsumerUrlNull() throws STORKSAMLEngineException {
+ *
+ * final String assertConsumerUrl = attrQueryenRequest .getAssertionConsumerServiceURL(); attrQueryenRequest.setAssertionConsumerServiceURL(null);
+ *
+ * final STORKAuthnResponse response = new STORKAuthnResponse(); response.setStatusCode(STORKStatusCode.REQUESTER_URI.toString());
+ * response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString()); response.setMessage("");
+ *
+ * try { attrQueryResponse = getEngine().generateSTORKAuthnResponseFail(attrQueryenRequest, response, ipAddress, isNotHashing).getTokenSaml();
+ * fail("generateAuthnResponseFail(...) should've thrown an STORKSAMLEngineException!"); } catch (STORKSAMLEngineException e) {
+ * attrQueryenRequest.setAssertionConsumerServiceURL(assertConsumerUrl); LOG.error("Error"); } }
+ *
+ * /** Test generate attribute query response fail code error err1.
+ *
+ * @throws STORKSAMLEngineException the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateAttrQueryResponseFailCodeErrorNull() throws STORKSAMLEngineException {
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ response.setStatusCode(null);
+ response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
+ response.setMessage("");
+
+ try {
+ attrQueryResponse = getEngine().generateSTORKAttrQueryResponseFail(attrQueryenRequest, response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
+ fail("generateAttrQueryResponseFail(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate attribute query response fail assertion consumer URL err1.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- /*@Test
- public final void testGenerateAuthnResponseFailAssertionConsumerUrlNull()
- throws STORKSAMLEngineException {
-
- final String assertConsumerUrl = attrQueryenRequest
- .getAssertionConsumerServiceURL();
- attrQueryenRequest.setAssertionConsumerServiceURL(null);
-
- final STORKAuthnResponse response = new STORKAuthnResponse();
- response.setStatusCode(STORKStatusCode.REQUESTER_URI.toString());
- response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
- response.setMessage("");
-
- try {
- attrQueryResponse = getEngine().generateSTORKAuthnResponseFail(attrQueryenRequest,
- response, ipAddress, isNotHashing).getTokenSaml();
- fail("generateAuthnResponseFail(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- attrQueryenRequest.setAssertionConsumerServiceURL(assertConsumerUrl);
- LOG.error("Error");
+
+ /**
+ * Test generate attribute query request without errors.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAttrQueryResponse() throws STORKSAMLEngineException {
+
+ IPersonalAttributeList palist = new PersonalAttributeList();
+
+ PersonalAttribute isAgeOver = new PersonalAttribute();
+ isAgeOver.setName("isAgeOver");
+ isAgeOver.setIsRequired(true);
+ ArrayList<String> ages = new ArrayList<String>();
+ ages.add("16");
+ ages.add("18");
+ isAgeOver.setValue(ages);
+ isAgeOver.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ palist.add(isAgeOver);
+
+ PersonalAttribute dateOfBirth = new PersonalAttribute();
+ dateOfBirth.setName("dateOfBirth");
+ dateOfBirth.setIsRequired(false);
+ final ArrayList<String> date = new ArrayList<String>();
+ date.add("16/12/2008");
+ dateOfBirth.setValue(date);
+ dateOfBirth.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ palist.add(dateOfBirth);
+
+ PersonalAttribute eIDNumber = new PersonalAttribute();
+ eIDNumber.setName("eIdentifier");
+ eIDNumber.setIsRequired(true);
+
+ final ArrayList<String> idNumber = new ArrayList<String>();
+ idNumber.add("123456789PÑ");
+
+ final HashMap<String, String> complex = new HashMap<String, String>();
+ complex.put("one", "two");
+
+ // eIDNumber.setValue(null);
+ // eIDNumber.setValue(idNumber);
+ // eIDNumber.setComplexValue(complex);
+
+ eIDNumber.setStatus(STORKStatusCode.STATUS_NOT_AVAILABLE.toString());
+ palist.add(eIDNumber);
+
+ PersonalAttribute canRessAddress = new PersonalAttribute();
+ canRessAddress.setName("canonicalResidenceAddress");
+ canRessAddress.setIsRequired(true);
+ canRessAddress.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ final HashMap<String, String> address = new HashMap<String, String>();
+
+ address.put("state", state);
+ address.put("town", town);
+ address.put("postalCode", postalCode);
+ address.put("streetName", streetName);
+ address.put("streetNumber", streetNumber);
+
+ canRessAddress.setComplexValue(address);
+ palist.add(canRessAddress);
+
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+
+ response.setPersonalAttributeList(palist);
+
+ final STORKAttrQueryResponse storkResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress, destinationUrl, isNotHashing);
+
+ attrQueryResponse = storkResponse.getTokenSaml();
+ LOG.info("Request id: " + attrQueryenRequest.getSamlId());
+
+ LOG.info("RESPONSE: " + SSETestUtils.encodeSAMLToken(attrQueryResponse));
+
+ attrQeuryenResponse = getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, ipAddress);
+
+ LOG.info("RESPONSE ID: " + attrQeuryenResponse.getSamlId());
+ LOG.info("RESPONSE IN_RESPONSE_TO: " + attrQeuryenResponse.getInResponseTo());
+ LOG.info("RESPONSE COUNTRY: " + attrQeuryenResponse.getCountry());
+
}
- }
-
- /**
- * Test generate attribute query response fail code error err1.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateAttrQueryResponseFailCodeErrorNull()
- throws STORKSAMLEngineException {
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- response.setStatusCode(null);
- response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
- response.setMessage("");
-
- try {
- attrQueryResponse = getEngine().generateSTORKAttrQueryResponseFail(attrQueryenRequest,
- response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
- fail("generateAttrQueryResponseFail(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate attribute query response fail is fail.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAttrQueryResponseFailIsFail() throws STORKSAMLEngineException {
+
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ response.setStatusCode(STORKStatusCode.REQUESTER_URI.toString());
+ response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
+ response.setMessage("message");
+
+ attrQueryResponse = getEngine().generateSTORKAttrQueryResponseFail(attrQueryenRequest, response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
+
+ LOG.error("ERROR_FAIL: " + PEPSUtil.encodeSAMLToken(attrQueryResponse));
+
+ attrQeuryenResponse = getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, ipAddress);
+
+ LOG.info("COUNTRY: " + attrQeuryenResponse.getCountry());
+ assertTrue("Generate incorrect response: ", attrQeuryenResponse.isFail());
}
- }
-
-
-
-
- /**
- * Test generate attribute query request without errors.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAttrQueryResponse() throws STORKSAMLEngineException {
-
- IPersonalAttributeList palist = new PersonalAttributeList();
-
- PersonalAttribute isAgeOver = new PersonalAttribute();
- isAgeOver.setName("isAgeOver");
- isAgeOver.setIsRequired(true);
- ArrayList<String> ages = new ArrayList<String>();
- ages.add("16");
- ages.add("18");
- isAgeOver.setValue(ages);
- isAgeOver.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- palist.add(isAgeOver);
-
- PersonalAttribute dateOfBirth = new PersonalAttribute();
- dateOfBirth.setName("dateOfBirth");
- dateOfBirth.setIsRequired(false);
- final ArrayList<String> date = new ArrayList<String>();
- date.add("16/12/2008");
- dateOfBirth.setValue(date);
- dateOfBirth.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- palist.add(dateOfBirth);
-
-
- PersonalAttribute eIDNumber = new PersonalAttribute();
- eIDNumber.setName("eIdentifier");
- eIDNumber.setIsRequired(true);
-
- final ArrayList<String> idNumber = new ArrayList<String>();
- idNumber.add("123456789PÑ");
-
- final HashMap<String, String> complex = new HashMap<String, String>();
- complex.put("one", "two");
-
- //eIDNumber.setValue(null);
- //eIDNumber.setValue(idNumber);
- //eIDNumber.setComplexValue(complex);
-
- eIDNumber.setStatus(STORKStatusCode.STATUS_NOT_AVAILABLE.toString());
- palist.add(eIDNumber);
-
- PersonalAttribute canRessAddress = new PersonalAttribute();
- canRessAddress.setName("canonicalResidenceAddress");
- canRessAddress.setIsRequired(true);
- canRessAddress.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- final HashMap<String, String> address = new HashMap<String, String>();
-
- address.put("state", state);
- address.put("town", town);
- address.put("postalCode", postalCode);
- address.put("streetName", streetName);
- address.put("streetNumber", streetNumber);
-
- canRessAddress.setComplexValue(address);
- palist.add(canRessAddress);
-
-
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
-
- response.setPersonalAttributeList(palist);
-
- final STORKAttrQueryResponse storkResponse = getEngine()
- .generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress,
- destinationUrl, isNotHashing);
-
- attrQueryResponse = storkResponse.getTokenSaml();
- LOG.info("Request id: " + attrQueryenRequest.getSamlId());
-
- LOG.info("RESPONSE: " + SSETestUtils.encodeSAMLToken(attrQueryResponse));
-
-
- attrQeuryenResponse = getEngine().validateSTORKAttrQueryResponse(attrQueryResponse,
- ipAddress);
-
- LOG.info("RESPONSE ID: " + attrQeuryenResponse.getSamlId());
- LOG.info("RESPONSE IN_RESPONSE_TO: " + attrQeuryenResponse.getInResponseTo());
- LOG.info("RESPONSE COUNTRY: " + attrQeuryenResponse.getCountry());
-
- }
-
-
-
-
-
- /**
- * Test validate attribute query response fail is fail.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAttrQueryResponseFailIsFail()
- throws STORKSAMLEngineException {
-
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- response.setStatusCode(STORKStatusCode.REQUESTER_URI.toString());
- response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
- response.setMessage("message");
-
- attrQueryResponse = getEngine().generateSTORKAttrQueryResponseFail(attrQueryenRequest,
- response, ipAddress, destinationUrl, isNotHashing).getTokenSaml();
-
- LOG.error("ERROR_FAIL: " + PEPSUtil.encodeSAMLToken(attrQueryResponse));
-
- attrQeuryenResponse = getEngine().validateSTORKAttrQueryResponse(attrQueryResponse,
- ipAddress);
-
- LOG.info("COUNTRY: " + attrQeuryenResponse.getCountry());
- assertTrue("Generate incorrect response: ", attrQeuryenResponse.isFail());
- }
-
+
/**
* Test generate/validate response with signedDoc
*
@@ -879,8 +800,7 @@ public class StorkAttrQueryResponseTest {
* the STORKSAML engine exception
*/
@Test
- public final void testGenerateAttrQueryResponseWithSignedDoc()
- throws STORKSAMLEngineException {
+ public final void testGenerateAttrQueryResponseWithSignedDoc() throws STORKSAMLEngineException {
String signedDocResponse = "<dss:SignResponse xmlns:dss=\"urn:oasis:names:tc:dss:1.0:core:schema\" RequestID=\"123456\"> <dss:Result> <dss:ResultMajor>urn:oasis:names:tc:dss:1.0:resultmajor:Success</dss:ResultMajor> </dss:Result> <dss:SignatureObject> <dss:Base64Signature Type=\"urn:ietf:rfc:3275\">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZHM6U2lnbmF0dXJlIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIiBJZD0iU2lnbmF0dXJlLThlYWJkMGE1LTY2MGQtNGFmZC05OTA1LTBhYmM3NTUzZDE5Mi1TaWduYXR1cmUiPjxkczpTaWduZWRJbmZvPjxkczpDYW5vbmljYWxpemF0aW9uTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sLWMxNG4tMjAwMTAzMTUiLz48ZHM6U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI3JzYS1zaGExIi8+PGRzOlJlZmVyZW5jZSBJZD0iUmVmZXJlbmNlLWJhYmE0ZDFhLWExN2UtNDJjNi05N2QyLWJlZWUxMzUwOTUwMyIgVHlwZT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI09iamVjdCIgVVJJPSIjT2JqZWN0LTk4NzMzY2RlLThiY2MtNDhhMC05Yjc3LTBlOTk5N2JkZDA1OCI+PGRzOlRyYW5zZm9ybXM+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNiYXNlNjQiLz48L2RzOlRyYW5zZm9ybXM+PGRzOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNzaGExIi8+PGRzOkRpZ2VzdFZhbHVlPkNrMVZxTmQ0NVFJdnEzQVpkOFhZUUx2RWh0QT08L2RzOkRpZ2VzdFZhbHVlPjwvZHM6UmVmZXJlbmNlPjxkczpSZWZlcmVuY2UgVHlwZT0iaHR0cDovL3VyaS5ldHNpLm9yZy8wMTkwMyNTaWduZWRQcm9wZXJ0aWVzIiBVUkk9IiNTaWduYXR1cmUtOGVhYmQwYTUtNjYwZC00YWZkLTk5MDUtMGFiYzc1NTNkMTkyLVNpZ25lZFByb3BlcnRpZXMiPjxkczpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSIvPjxkczpEaWdlc3RWYWx1ZT5BNVk5MW40cXBMZ3l0VFc3ZnhqWENVZVJ2NTQ9PC9kczpEaWdlc3RWYWx1ZT48L2RzOlJlZmVyZW5jZT48ZHM6UmVmZXJlbmNlIFVSST0iI1NpZ25hdHVyZS04ZWFiZDBhNS02NjBkLTRhZmQtOTkwNS0wYWJjNzU1M2QxOTItS2V5SW5mbyI+PGRzOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNzaGExIi8+PGRzOkRpZ2VzdFZhbHVlPlZQWDRuS0Z5UzZyRitGNmNSUjBQck5aZHc2Zz08L2RzOkRpZ2VzdFZhbHVlPjwvZHM6UmVmZXJlbmNlPjwvZHM6U2lnbmVkSW5mbz48ZHM6U2lnbmF0dXJlVmFsdWUgSWQ9IlNpZ25hdHVyZS04ZWFiZDBhNS02NjBkLTRhZmQtOTkwNS0wYWJjNzU1M2QxOTItU2lnbmF0dXJlVmFsdWUiPkxiS04vL0M3WGt5eFR0WVRpQ1VScjhuWnp4QW1zdGNNZDBDZ0VBQ3JLMWR5Z1JIcUdjSzR4dHMrV0NVOFB5RXFXclJJVFl6SXV3LzcNClY0Wno5VFQ2MHA0S1RNZXd1UUw2NHNrRVN4MllnMkVkaWtTTyt0S3hXa2hyYVVzbVZiR2JQbW1jbUR2OTd0SER3ODg3NDdlRnE1RjUNCnYrYVZTeUF6MDNpVUttdVNlSDg9PC9kczpTaWduYXR1cmVWYWx1ZT48ZHM6S2V5SW5mbyBJZD0iU2lnbmF0dXJlLThlYWJkMGE1LTY2MGQtNGFmZC05OTA1LTBhYmM3NTUzZDE5Mi1LZXlJbmZvIj48ZHM6S2V5VmFsdWU+PGRzOlJTQUtleVZhbHVlPjxkczpNb2R1bHVzPnd1Y21qOXRJV3J2d2JTVFVEZndLbCtKdERNTUVSMGNMZDZEa0JTcjc5MHQrckdOakVTcVlqUndFSWVCbktvUUhQeDVIb1JlRjg4L3QNCnFZOStDaEVYcExITHM5cDVhWDdTREp1YnBRTWZwMXRERlgzNHl3Z3hTUXZjZWVKUVdCWGppZXVJbWZDMjFzNGJPY2dKYlYxaGJpZ1MNCnpPS1RRS3IxVHpkR1IrdVJ5MDA9PC9kczpNb2R1bHVzPjxkczpFeHBvbmVudD5BUUFCPC9kczpFeHBvbmVudD48L2RzOlJTQUtleVZhbHVlPjwvZHM6S2V5VmFsdWU+PGRzOlg1MDlEYXRhPjxkczpYNTA5Q2VydGlmaWNhdGU+TUlJSW1UQ0NCNEdnQXdJQkFnSURBWFVVTUEwR0NTcUdTSWIzRFFFQkJRVUFNSUlCT3pFTE1Ba0dBMVVFQmhNQ1JWTXhPekE1QmdOVg0KQkFvVE1rRm5aVzVqYVdFZ1EyRjBZV3hoYm1FZ1pHVWdRMlZ5ZEdsbWFXTmhZMmx2SUNoT1NVWWdVUzB3T0RBeE1UYzJMVWtwTVRRdw0KTWdZRFZRUUhFeXRRWVhOellYUm5aU0JrWlNCc1lTQkRiMjVqWlhCamFXOGdNVEVnTURnd01EZ2dRbUZ5WTJWc2IyNWhNUzR3TEFZRA0KVlFRTEV5VlRaWEoyWldseklGQjFZbXhwWTNNZ1pHVWdRMlZ5ZEdsbWFXTmhZMmx2SUVWRFZpMHlNVFV3TXdZRFZRUUxFeXhXWldkbA0KZFNCb2RIUndjem92TDNkM2R5NWpZWFJqWlhKMExtNWxkQzkyWlhKRFNVTXRNaUFvWXlrd016RTFNRE1HQTFVRUN4TXNSVzUwYVhSaA0KZENCd2RXSnNhV05oSUdSbElHTmxjblJwWm1sallXTnBieUJrWlNCamFYVjBZV1JoYm5NeEd6QVpCZ05WQkFNVEVsQlNSVkJTVDBSVg0KUTBOSlR5QkpSRU5oZERBZUZ3MHhNREF5TVRFeE9ESXlNRFJhRncweE5EQXlNVEF4T0RJeU1EUmFNSUd3TVFzd0NRWURWUVFHRXdKRg0KVXpFMU1ETUdBMVVFQ3hNc1ZtVm5aWFVnYUhSMGNITTZMeTkzZDNjdVkyRjBZMlZ5ZEM1dVpYUXZkbVZ5U1VSRFlYUWdLR01wTURNeA0KRmpBVUJnTlZCQVFURFVKRlVreEJUa2RCSUZOUFZFOHhGekFWQmdOVkJDb1REazFCVWtsQklFVk9SMUpCUTBsQk1SSXdFQVlEVlFRRg0KRXdreE1EQXdNRGswTkZNeEpUQWpCZ05WQkFNVEhFMUJVa2xCSUVWT1IxSkJRMGxCSUVKRlVreEJUa2RCSUZOUFZFOHdnWjh3RFFZSg0KS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFNTG5Kby9iU0ZxNzhHMGsxQTM4Q3BmaWJRekRCRWRIQzNlZzVBVXErL2RMZnF4ag0KWXhFcW1JMGNCQ0hnWnlxRUJ6OGVSNkVYaGZQUDdhbVBmZ29SRjZTeHk3UGFlV2wrMGd5Ym02VURINmRiUXhWOStNc0lNVWtMM0huaQ0KVUZnVjQ0bnJpSm53dHRiT0d6bklDVzFkWVc0b0VzemlrMENxOVU4M1JrZnJrY3ROQWdNQkFBR2pnZ1N3TUlJRXJEQU1CZ05WSFJNQg0KQWY4RUFqQUFNQTRHQTFVZER3RUIvd1FFQXdJRm9EQ0J6QVlEVlIwUkJJSEVNSUhCZ1E5aWMyOTBiMEJuYldGcGJDNWpiMjJrZ1lVdw0KZ1lJeEN6QUpCZ05WQkFZVEFrVlRNU3N3S1FZRFZRUUtGQ0pCWjhPb2JtTnBZU0JEWVhSaGJHRnVZU0JrWlNCRFpYSjBhV1pwWTJGag0KYWNPek1RNHdEQVlEVlFRTEV3VkpSRU5CVkRFUE1BMEdBMVVFQlJNR01ERTNOVEUwTVNVd0l3WURWUVFERXh4TlFWSkpRU0JGVGtkUw0KUVVOSlFTQkNSVkpNUVU1SFFTQlRUMVJQb0JBR0Npc0dBUVFCOVhnQkFRR2dBZ3dBb0JRR0RsWUVBQUVEQmdFRUFmVjRBUUVDb0FJTQ0KQURBZkJnTlZIUklFR0RBV2dSUmxZMTlwWkdOaGRFQmpZWFJqWlhKMExtNWxkREFkQmdOVkhRNEVGZ1FVQUZYanVOc2tCMk1seXZVQg0KaDdwOFRKMHVKMHd3Z2dGSUJnTlZIU01FZ2dFL01JSUJPNEFVUkt2Y2tVaE4xNGg0Q24vZ2RPRG42NzIzS1Z5aGdnRVBwSUlCQ3pDQw0KQVFjeEN6QUpCZ05WQkFZVEFrVlRNVHN3T1FZRFZRUUtFekpCWjJWdVkybGhJRU5oZEdGc1lXNWhJR1JsSUVObGNuUnBabWxqWVdOcA0KYnlBb1RrbEdJRkV0TURnd01URTNOaTFKS1RFb01DWUdBMVVFQ3hNZlUyVnlkbVZwY3lCUWRXSnNhV056SUdSbElFTmxjblJwWm1sag0KWVdOcGJ6RThNRG9HQTFVRUN4TXpWbVZuWlhVZ2FIUjBjSE02THk5M2QzY3VZMkYwWTJWeWRDNXVaWFF2ZG1WeWNISmxjSEp2WkhWag0KWTJsdklDaGpLVEF6TVRVd013WURWUVFMRXl4S1pYSmhjbkYxYVdFZ1JXNTBhWFJoZEhNZ1pHVWdRMlZ5ZEdsbWFXTmhZMmx2SUVOaA0KZEdGc1lXNWxjekVjTUJvR0ExVUVBeE1UVUZKRlVGSlBSRlZEUTBsUElFVkRMVUZEUTRJUWR3S1R0TTFFRVU5RkVQWFVZSGdnaERBZA0KQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdRd0VRWUpZSVpJQVliNFFnRUJCQVFEQWdXZ01EUUdDQ3NHQVFVRg0KQndFQkJDZ3dKakFrQmdnckJnRUZCUWN3QVlZWWFIUjBjSE02THk5dlkzTndMbU5oZEdObGNuUXVibVYwTUJnR0NDc0dBUVVGQndFRA0KQkF3d0NqQUlCZ1lFQUk1R0FRRXdnWVlHQTFVZEh3Ui9NSDB3UEtBNm9EaUdObWgwZEhBNkx5OWxjSE5qWkM1allYUmpaWEowTG01bA0KZEM5amNtd3ZjSEpsY0hKdlpIVmpZMmx2WDJWakxXbGtZMkYwTG1OeWJEQTlvRHVnT1lZM2FIUjBjRG92TDJWd2MyTmtNaTVqWVhSag0KWlhKMExtNWxkQzlqY213dmNISmxjSEp2WkhWalkybHZYMlZqTFdsa1kyRjBMbU55YkRDQjlnWURWUjBnQklIdU1JSHJNSUhvQmd3cg0KQmdFRUFmVjRBUU1CVmdFd2dkY3dMQVlJS3dZQkJRVUhBZ0VXSUdoMGRIQnpPaTh2ZDNkM0xtTmhkR05sY25RdWJtVjBMM1psY2tsRQ0KUTJGME1JR21CZ2dyQmdFRkJRY0NBakNCbVJxQmxrRnhkV1Z6ZENEdnY3MXpJSFZ1SUdObGNuUnBabWxqWVhRZ2NHVnljMjl1WVd3Zw0KU1VSRFFWUXNJSEpsWTI5dVpXZDFkQ0JrSjJsa1pXNTBhV1pwWTJGajc3KzlMQ0J6YVdkdVlYUjFjbUVnYVNCNGFXWnlZWFFnWkdVZw0KWTJ4aGMzTmxJRElnYVc1a2FYWnBaSFZoYkM0Z1ZtVm5aWFVnYUhSMGNITTZMeTkzZDNjdVkyRjBZMlZ5ZEM1dVpYUXZkbVZ5UkVOaA0KZERBdEJnTlZIUWtFSmpBa01CQUdDQ3NHQVFVRkJ3a0VNUVFUQWtWVE1CQUdDQ3NHQVFVRkJ3a0ZNUVFUQWtWVE1BMEdDU3FHU0liMw0KRFFFQkJRVUFBNElCQVFDcTc3ODBSR1FNTEIxZ2tkTk1mTFhuZ3FNb1JIR0taYnZ6a3JxSUFtVDhXQWQxRThyQXBoUjkveExKVXRwNQ0KbGJnMmZScjVibDJqOE9WREJLMlltRzQxaDhBRG40U1RJL0FwZU5JTlNmalpzNk5Sc25XekZ5ZlhYbVBDSFlGQi9YV3p5aW1DRXhndg0KdnR1SCszUUF3Y3dobjUwUExFdWh3NUM1dmxYN0x5NUs2ckxMTUZOVVVNYldWeTFoWmVsSy9DQlRjQWpJTzM4TlkrdllSQU1LU2Y0TQ0KL2daUXo0cUJlRlZKYTUyUjdOY0FxQ2ZyZkxmYVhwYkRTZzk4eG9CZU5zMmluR3p4OFVTZ0VyTFpqS0pzZG4vS2pURDlnUy9zVGRRNg0KUTdpZHFsZDJMRlZsTzIvYjk0Wk5aQmNTLzc4RU9EWGdkV2ZreVBDN1J3OHJlOW5JMy9qVDwvZHM6WDUwOUNlcnRpZmljYXRlPjwvZHM6WDUwOURhdGE+PC9kczpLZXlJbmZvPjxkczpPYmplY3QgRW5jb2Rpbmc9ImJhc2U2NCIgSWQ9Ik9iamVjdC05ODczM2NkZS04YmNjLTQ4YTAtOWI3Ny0wZTk5OTdiZGQwNTgiIE1pbWVUeXBlPSJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iPlNHVnNiRzhnVjI5eWJHUT08L2RzOk9iamVjdD48ZHM6T2JqZWN0Pjx4YWRlczpRdWFsaWZ5aW5nUHJvcGVydGllcyB4bWxuczp4YWRlcz0iaHR0cDovL3VyaS5ldHNpLm9yZy8wMTkwMy92MS4zLjIjIiBJZD0iU2lnbmF0dXJlLThlYWJkMGE1LTY2MGQtNGFmZC05OTA1LTBhYmM3NTUzZDE5Mi1RdWFsaWZ5aW5nUHJvcGVydGllcyIgVGFyZ2V0PSIjU2lnbmF0dXJlLThlYWJkMGE1LTY2MGQtNGFmZC05OTA1LTBhYmM3NTUzZDE5Mi1TaWduYXR1cmUiPjx4YWRlczpTaWduZWRQcm9wZXJ0aWVzIElkPSJTaWduYXR1cmUtOGVhYmQwYTUtNjYwZC00YWZkLTk5MDUtMGFiYzc1NTNkMTkyLVNpZ25lZFByb3BlcnRpZXMiPjx4YWRlczpTaWduZWRTaWduYXR1cmVQcm9wZXJ0aWVzPjx4YWRlczpTaWduaW5nVGltZT4yMDExLTAzLTIxVDExOjQ0OjQyKzAxOjAwPC94YWRlczpTaWduaW5nVGltZT48eGFkZXM6U2lnbmluZ0NlcnRpZmljYXRlPjx4YWRlczpDZXJ0Pjx4YWRlczpDZXJ0RGlnZXN0PjxkczpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSIvPjxkczpEaWdlc3RWYWx1ZT4zbTZ3OTlUb3lTZDlKcEJsMWdCazhEei9iYlU9PC9kczpEaWdlc3RWYWx1ZT48L3hhZGVzOkNlcnREaWdlc3Q+PHhhZGVzOklzc3VlclNlcmlhbD48ZHM6WDUwOUlzc3Vlck5hbWU+Q049UFJFUFJPRFVDQ0lPIElEQ2F0LCBPVT1FbnRpdGF0IHB1YmxpY2EgZGUgY2VydGlmaWNhY2lvIGRlIGNpdXRhZGFucywgT1U9VmVnZXUgaHR0cHM6Ly93d3cuY2F0Y2VydC5uZXQvdmVyQ0lDLTIgKGMpMDMsIE9VPVNlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8gRUNWLTIsIEw9UGFzc2F0Z2UgZGUgbGEgQ29uY2VwY2lvIDExIDA4MDA4IEJhcmNlbG9uYSwgTz1BZ2VuY2lhIENhdGFsYW5hIGRlIENlcnRpZmljYWNpbyAoTklGIFEtMDgwMTE3Ni1JKSwgQz1FUzwvZHM6WDUwOUlzc3Vlck5hbWU+PGRzOlg1MDlTZXJpYWxOdW1iZXI+OTU1MDg8L2RzOlg1MDlTZXJpYWxOdW1iZXI+PC94YWRlczpJc3N1ZXJTZXJpYWw+PC94YWRlczpDZXJ0PjwveGFkZXM6U2lnbmluZ0NlcnRpZmljYXRlPjwveGFkZXM6U2lnbmVkU2lnbmF0dXJlUHJvcGVydGllcz48eGFkZXM6U2lnbmVkRGF0YU9iamVjdFByb3BlcnRpZXM+PHhhZGVzOkRhdGFPYmplY3RGb3JtYXQgT2JqZWN0UmVmZXJlbmNlPSIjUmVmZXJlbmNlLWJhYmE0ZDFhLWExN2UtNDJjNi05N2QyLWJlZWUxMzUwOTUwMyI+PHhhZGVzOk1pbWVUeXBlPmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTwveGFkZXM6TWltZVR5cGU+PHhhZGVzOkVuY29kaW5nPmJhc2U2NDwveGFkZXM6RW5jb2Rpbmc+PC94YWRlczpEYXRhT2JqZWN0Rm9ybWF0PjwveGFkZXM6U2lnbmVkRGF0YU9iamVjdFByb3BlcnRpZXM+PC94YWRlczpTaWduZWRQcm9wZXJ0aWVzPjwveGFkZXM6UXVhbGlmeWluZ1Byb3BlcnRpZXM+PC9kczpPYmplY3Q+PC9kczpTaWduYXR1cmU+</dss:Base64Signature> </dss:SignatureObject> </dss:SignResponse>";
@@ -909,117 +829,107 @@ public class StorkAttrQueryResponseTest {
response.setPersonalAttributeList(palist);
- final STORKAttrQueryResponse storkResponse = getEngine()
- .generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress,
- destinationUrl, isNotHashing);
+ final STORKAttrQueryResponse storkResponse = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, response, ipAddress, destinationUrl, isNotHashing);
attrQueryResponse = storkResponse.getTokenSaml();
- attrQeuryenResponse = getEngine().validateSTORKAttrQueryResponse(attrQueryResponse,
- ipAddress);
+ attrQeuryenResponse = getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, ipAddress);
- assertTrue("SignedDoc response should be the same: ", attrQeuryenResponse
- .getPersonalAttributeList().get("signedDoc").getValue().get(0)
- .equals(signedDocResponse));
+ assertTrue("SignedDoc response should be the same: ", attrQeuryenResponse.getPersonalAttributeList().get("signedDoc").getValue().get(0).equals(signedDocResponse));
}
-
+
@Test
public final void testEncodeDecode() {
- STORKAttrQueryRequest attrRequest = new STORKAttrQueryRequest();
- STORKAttrQueryRequest request;
- IPersonalAttributeList list = null;
- boolean outcome = false;
-
- try {
- //STEP 1: Create the STORKAttrQueryRequest and get the SAML bytes
- attrRequest.setSpSector("NOT AVAILABLE");
- attrRequest.setSpInstitution("NOT AVAILABLE");
- attrRequest.setSpApplication("NOT AVAILABLE");
- attrRequest.setSpCountry("NOT AVAILABLE");
-
- attrRequest.setIssuer("123");
- attrRequest.setDestination("456");
- attrRequest.setAssertionConsumerServiceURL("789");
- attrRequest.setQaa(2);
- attrRequest.setPersonalAttributeList(pal);
-
- System.out.println("Original PAL:");
- System.out.println(pal.toString());
-
- attrRequest = engine.generateSTORKAttrQueryRequest(attrRequest);
-
- byte[] saml = attrRequest.getTokenSaml();
-
- //STEP 2: RE-Create the STORKAttrQueryRequest from the SAML bytes
- request = engine.validateSTORKAttrQueryRequest(saml);
-
- System.out.println("STORKAttrQueryRequest Issuer: " + request.getIssuer());
- System.out.println("STORKAttrQueryRequest Destination: " + request.getDestination());
- System.out.println("STORKAttrQueryRequest ServiceURL: " + request.getAssertionConsumerServiceURL());
- System.out.println("STORKAttrQueryRequest Attributes: " + request.getPersonalAttributeList().toString());
- System.out.println("STORKAttrQueryRequest QAA: " + request.getQaa());
- //------------------------------
- list = request.getPersonalAttributeList();
-
- List<String> values = new ArrayList<String>();
- values.add("test1");
- values.add("test2");
- values.add("test3");
- list.get("newAttribute2").setValue(values);
-
- System.out.println("Values added in newAttribute2 PAL:");
- System.out.println(list.toString());
-
- //////////////////////////////////////////////////////////////////////////
- final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
- response.setPersonalAttributeList(list);
-
- final STORKAttrQueryResponse storkResponse =
- engine.generateSTORKAttrQueryResponse(request, response, "127.0.0.1",
- request.getAssertionConsumerServiceURL(), false);
-
- byte[] samlBytes = storkResponse.getTokenSaml();
-
- //STEP 3: RE-Create the STORKAttrQueryResponse from the SAML bytes
- STORKAttrQueryResponse attrResponse = null;
- attrResponse =
- engine.validateSTORKAttrQueryResponse(samlBytes, "127.0.0.1");
-
- System.out.println("Response decoded PAL:");
- System.out.println(attrResponse.getPersonalAttributeList().toString());
-
- values = attrResponse.getPersonalAttributeList().get("newAttribute2").getValue();
- if ( values.contains("test1") && values.contains("test2") && values.contains("test3") )
- outcome = true;
- } catch (final STORKSAMLEngineException e) {
- LOG.error("Errror genereating SAML Token for Authentication Request", e);
- }
-
- assertTrue(outcome);
+ STORKAttrQueryRequest attrRequest = new STORKAttrQueryRequest();
+ STORKAttrQueryRequest request;
+ IPersonalAttributeList list = null;
+ boolean outcome = false;
+
+ try {
+ // STEP 1: Create the STORKAttrQueryRequest and get the SAML bytes
+ attrRequest.setSpSector("NOT AVAILABLE");
+ attrRequest.setSpInstitution("NOT AVAILABLE");
+ attrRequest.setSpApplication("NOT AVAILABLE");
+ attrRequest.setSpCountry("NOT AVAILABLE");
+
+ attrRequest.setIssuer("123");
+ attrRequest.setDestination("456");
+ attrRequest.setAssertionConsumerServiceURL("789");
+ attrRequest.setQaa(2);
+ attrRequest.setPersonalAttributeList(pal);
+
+ System.out.println("Original PAL:");
+ System.out.println(pal.toString());
+
+ attrRequest = engine.generateSTORKAttrQueryRequest(attrRequest);
+
+ byte[] saml = attrRequest.getTokenSaml();
+
+ // STEP 2: RE-Create the STORKAttrQueryRequest from the SAML bytes
+ request = engine.validateSTORKAttrQueryRequest(saml);
+
+ System.out.println("STORKAttrQueryRequest Issuer: " + request.getIssuer());
+ System.out.println("STORKAttrQueryRequest Destination: " + request.getDestination());
+ System.out.println("STORKAttrQueryRequest ServiceURL: " + request.getAssertionConsumerServiceURL());
+ System.out.println("STORKAttrQueryRequest Attributes: " + request.getPersonalAttributeList().toString());
+ System.out.println("STORKAttrQueryRequest QAA: " + request.getQaa());
+ // ------------------------------
+ list = request.getPersonalAttributeList();
+
+ List<String> values = new ArrayList<String>();
+ values.add("test1");
+ values.add("test2");
+ values.add("test3");
+ list.get("newAttribute2").setValue(values);
+
+ System.out.println("Values added in newAttribute2 PAL:");
+ System.out.println(list.toString());
+
+ // ////////////////////////////////////////////////////////////////////////
+ final STORKAttrQueryResponse response = new STORKAttrQueryResponse();
+ response.setPersonalAttributeList(list);
+
+ final STORKAttrQueryResponse storkResponse = engine.generateSTORKAttrQueryResponse(request, response, "127.0.0.1", request.getAssertionConsumerServiceURL(), false);
+
+ byte[] samlBytes = storkResponse.getTokenSaml();
+
+ // STEP 3: RE-Create the STORKAttrQueryResponse from the SAML bytes
+ STORKAttrQueryResponse attrResponse = null;
+ attrResponse = engine.validateSTORKAttrQueryResponse(samlBytes, "127.0.0.1");
+
+ System.out.println("Response decoded PAL:");
+ System.out.println(attrResponse.getPersonalAttributeList().toString());
+
+ values = attrResponse.getPersonalAttributeList().get("newAttribute2").getValue();
+ if (values.contains("test1") && values.contains("test2") && values.contains("test3"))
+ outcome = true;
+ } catch (final STORKSAMLEngineException e) {
+ LOG.error("Errror genereating SAML Token for Authentication Request", e);
+ }
+
+ assertTrue(outcome);
}
-
+
@Test
- public final void testGenerateAttrRequestWithMultipleAssertions()
- throws STORKSAMLEngineException {
+ public final void testGenerateAttrRequestWithMultipleAssertions() throws STORKSAMLEngineException {
STORKAttrQueryRequest req = null;
STORKAttrQueryResponse res0 = null;
STORKAttrQueryResponse res1 = null;
STORKAttrQueryResponse res2 = null;
STORKAttrQueryResponse res = null;
STORKAttrQueryResponse restotal = null;
-
+
try {
req = getEngine().validateSTORKAttrQueryRequest(attrQueryRequest);
-
- attrQueryenRequest = getEngine().validateSTORKAttrQueryRequest(attrQueryRequest);
-
+
+ attrQueryenRequest = getEngine().validateSTORKAttrQueryRequest(attrQueryRequest);
+
} catch (STORKSAMLEngineException e) {
- fail("Error validating STORKAuthnRequest");
+ fail("Error validating STORKAuthnRequest");
}
-
+
IPersonalAttributeList pList = req.getPersonalAttributeList();
- for (int i =0; i < pList.size(); i++)
- {
+ for (int i = 0; i < pList.size(); i++) {
PersonalAttribute attr = pList.get("dateOfBirth");
attr.setValue(Arrays.asList("19820919"));
pList.remove("dateOfBirth");
@@ -1031,37 +941,30 @@ public class StorkAttrQueryResponseTest {
PersonalAttribute attr2 = pList.get("isAgeOver");
attr2.setValue(Arrays.asList("true"));
pList.remove("isAgeOver");
- pList.add(attr2);
+ pList.add(attr2);
}
-
+
res = new STORKAttrQueryResponse();
res.setPersonalAttributeList(pList);
-
- STORKAttrQueryResponse storkResponse = getEngine()
- .generateSTORKAttrQueryResponse(req, res, ipAddress,
- destinationUrl, isNotHashing);
-
+
+ STORKAttrQueryResponse storkResponse = getEngine().generateSTORKAttrQueryResponse(req, res, ipAddress, destinationUrl, isNotHashing);
+
res0 = getEngine().validateSTORKAttrQueryResponse(storkResponse.getTokenSaml(), ipAddress);
-
- storkResponse = getEngine()
- .generateSTORKAttrQueryResponse(req, res, ipAddress,
- destinationUrl, isNotHashing);
+
+ storkResponse = getEngine().generateSTORKAttrQueryResponse(req, res, ipAddress, destinationUrl, isNotHashing);
res1 = getEngine().validateSTORKAttrQueryResponse(storkResponse.getTokenSaml(), ipAddress);
-
- storkResponse = getEngine()
- .generateSTORKAttrQueryResponse(req, res, ipAddress,
- destinationUrl, isNotHashing);
+
+ storkResponse = getEngine().generateSTORKAttrQueryResponse(req, res, ipAddress, destinationUrl, isNotHashing);
res2 = getEngine().validateSTORKAttrQueryResponse(storkResponse.getTokenSaml(), ipAddress);
-
+
List<STORKAttrQueryResponse> responses = new ArrayList();
responses.add(res0);
responses.add(res1);
responses.add(res2);
-
+
STORKAttrQueryResponse resfinal = new STORKAttrQueryResponse();
- storkResponse = getEngine().generateSTORKAttrQueryResponseWithAssertions(req, resfinal, responses,
- ipAddress, destinationUrl, isNotHashing);
-
+ storkResponse = getEngine().generateSTORKAttrQueryResponseWithAssertions(req, resfinal, responses, ipAddress, destinationUrl, isNotHashing);
+
attrQueryResponse = storkResponse.getTokenSaml();
FileOutputStream output = null;
try {
@@ -1076,7 +979,7 @@ public class StorkAttrQueryResponseTest {
// TODO Auto-generated catch block
e.printStackTrace();
}
-
+
res = null;
res = getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, ipAddress);
System.out.println(res.getTotalPersonalAttributeList().toString());
diff --git a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAuthRequestTest.java b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAuthRequestTest.java
index 02a8a6fab..d476ad26e 100644
--- a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAuthRequestTest.java
+++ b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkAuthRequestTest.java
@@ -21,15 +21,12 @@ import java.util.ArrayList;
import org.junit.Ignore;
import org.junit.Test;
-
import org.opensaml.xml.parse.BasicParserPool;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import eu.stork.peps.auth.commons.IPersonalAttributeList;
-import eu.stork.peps.auth.commons.PersonalAttribute;
-import eu.stork.peps.auth.commons.PersonalAttributeList;
-import eu.stork.peps.auth.commons.STORKAuthnRequest;
+import eu.stork.peps.*;
+import eu.stork.peps.auth.commons.*;
import eu.stork.peps.auth.engine.STORKSAMLEngine;
import eu.stork.peps.exceptions.STORKSAMLEngineException;
@@ -38,869 +35,855 @@ import eu.stork.peps.exceptions.STORKSAMLEngineException;
*/
public class StorkAuthRequestTest {
- /** The engines. */
- private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
- private static STORKSAMLEngine engine2 = STORKSAMLEngine.getInstance("CONF2");
- private static STORKSAMLEngine engine3 = STORKSAMLEngine.getInstance("CONF3");
-
-
- /**
- * Instantiates a new stork authentication request test.
- */
- public StorkAuthRequestTest() {
- pal = new PersonalAttributeList();
-
- final PersonalAttribute isAgeOver = new PersonalAttribute();
- isAgeOver.setName("isAgeOver");
- isAgeOver.setIsRequired(true);
- final ArrayList<String> ages = new ArrayList<String>();
- ages.add("16");
- ages.add("18");
- isAgeOver.setValue(ages);
- pal.add(isAgeOver);
-
- final PersonalAttribute dateOfBirth = new PersonalAttribute();
- dateOfBirth.setName("dateOfBirth");
- dateOfBirth.setIsRequired(false);
- pal.add(dateOfBirth);
-
+ /** The engines. */
+ private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
+ private static STORKSAMLEngine engine2 = STORKSAMLEngine.getInstance("CONF2");
+ private static STORKSAMLEngine engine3 = STORKSAMLEngine.getInstance("CONF3");
+
+ /**
+ * Instantiates a new stork authentication request test.
+ */
+ public StorkAuthRequestTest() {
+ pal = new PersonalAttributeList();
+
+ final PersonalAttribute isAgeOver = new PersonalAttribute();
+ isAgeOver.setName("isAgeOver");
+ isAgeOver.setIsRequired(true);
+ final ArrayList<String> ages = new ArrayList<String>();
+ ages.add("16");
+ ages.add("18");
+ isAgeOver.setValue(ages);
+ pal.add(isAgeOver);
+
+ final PersonalAttribute dateOfBirth = new PersonalAttribute();
+ dateOfBirth.setName("dateOfBirth");
+ dateOfBirth.setIsRequired(false);
+ pal.add(dateOfBirth);
+
final PersonalAttribute eIDNumber = new PersonalAttribute();
- eIDNumber.setName("eIdentifier");
- eIDNumber.setIsRequired(true);
- pal.add(eIDNumber);
-
- destination = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
- assertConsumerUrl = "http://S-PEPS.gov.xx/PEPS/ColleagueResponse";
-
- spName = "University of Oxford";
- spSector = "EDU001";
- spInstitution = "OXF001";
- spApplication = "APP001";
- spCountry = "EN";
-
- spId = "EDU001-OXF001-APP001";
-
- }
-
- /** The destination. */
- private String destination;
-
- /** The service provider name. */
- private String spName;
-
- /** The service provider sector. */
- private String spSector;
-
- /** The service provider institution. */
- private String spInstitution;
-
- /** The service provider application. */
- private String spApplication;
-
- /** The service provider country. */
- private String spCountry;
-
- /** The service provider id. */
- private String spId;
-
- /** The quality authentication assurance level. */
- private static final int QAAL = 3;
-
- /** The List of Personal Attributes. */
- private IPersonalAttributeList pal;
-
- /** The assertion consumer URL. */
- private String assertConsumerUrl;
-
- /** The authentication request. */
- private static byte[] authRequest;
-
- /** The Constant LOG. */
- private static final Logger LOG = LoggerFactory
- .getLogger(StorkAuthRequestTest.class.getName());
-
- /** Parser manager used to parse XML. */
- private static BasicParserPool parser;
-
- static {
- parser = new BasicParserPool();
- parser.setNamespaceAware(true);
- }
-
- /**
- * Test generate authentication request.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateAuthnRequest() throws STORKSAMLEngineException {
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // new parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- //engine.generateSTORKAuthnRequest(request);
-
- LOG.info("STORKAuthnRequest 1: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKAuthnRequest(request).getTokenSaml()));
- request.setCitizenCountryCode("ES");
- LOG.info("STORKAuthnRequest 2: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKAuthnRequest(request).getTokenSaml()));
- }
-
-
- /**
- * Test generate authentication request error personal attribute name error.
- */
- @Test
- public final void testGenerateAuthnRequestPALsErr1() {
-
- final IPersonalAttributeList palWrong = new PersonalAttributeList();
-
- final PersonalAttribute worngAttr = new PersonalAttribute();
- worngAttr.setName("attrNotValid");
- worngAttr.setIsRequired(true);
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(palWrong);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- try {
- engine.generateSTORKAuthnRequest(request);
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+ eIDNumber.setName("eIdentifier");
+ eIDNumber.setIsRequired(true);
+ pal.add(eIDNumber);
+
+ final PersonalAttribute LPFiscalNumber = new PersonalAttribute();
+ LPFiscalNumber.setName("LPFiscalNumber");
+ LPFiscalNumber.setIsRequired(true);
+ pal.add(LPFiscalNumber);
+
+ destination = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
+ assertConsumerUrl = "http://S-PEPS.gov.xx/PEPS/ColleagueResponse";
+
+ spName = "University of Oxford";
+ spSector = "EDU001";
+ spInstitution = "OXF001";
+ spApplication = "APP001";
+ spCountry = "EN";
+
+ spId = "EDU001-OXF001-APP001";
+
}
- }
-
-
-
- /**
- * Test generate authentication request error personal attribute value error.
- */
- @Test
- public final void testGenerateAuthnRequestPALsErr2() {
-
- final IPersonalAttributeList palWrong = new PersonalAttributeList();
-
- final PersonalAttribute attrNotValid = new PersonalAttribute();
- attrNotValid.setName("attrNotValid");
- attrNotValid.setIsRequired(true);
- palWrong.add(attrNotValid);
-
-
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(palWrong);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- try {
- engine.generateSTORKAuthnRequest(request);
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /** The destination. */
+ private String destination;
+
+ /** The service provider name. */
+ private String spName;
+
+ /** The service provider sector. */
+ private String spSector;
+
+ /** The service provider institution. */
+ private String spInstitution;
+
+ /** The service provider application. */
+ private String spApplication;
+
+ /** The service provider country. */
+ private String spCountry;
+
+ /** The service provider id. */
+ private String spId;
+
+ /** The quality authentication assurance level. */
+ private static final int QAAL = 3;
+
+ /** The List of Personal Attributes. */
+ private IPersonalAttributeList pal;
+
+ /** The assertion consumer URL. */
+ private String assertConsumerUrl;
+
+ /** The authentication request. */
+ private static byte[] authRequest;
+
+ /** The Constant LOG. */
+ private static final Logger LOG = LoggerFactory.getLogger(StorkAuthRequestTest.class.getName());
+
+ /** Parser manager used to parse XML. */
+ private static BasicParserPool parser;
+
+ static {
+ parser = new BasicParserPool();
+ parser.setNamespaceAware(true);
}
- }
-
- /**
- * Test generate authentication request error provider name null.
- */
- @Test
- public final void testGenerateAuthnRequestSPNAmeErr1() {
-
-
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(null);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- try
- {
- engine.generateSTORKAuthnRequest(request);
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+
+ /**
+ * Test generate authentication request.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateAuthnRequest() throws STORKSAMLEngineException {
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // new parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ // engine.generateSTORKAuthnRequest(request);
+
+ LOG.info("STORKAuthnRequest 1: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKAuthnRequest(request).getTokenSaml()));
+ request.setCitizenCountryCode("ES");
+ LOG.info("STORKAuthnRequest 2: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKAuthnRequest(request).getTokenSaml()));
}
- catch (STORKSAMLEngineException e)
- {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request error personal attribute name error.
+ */
+ @Test
+ public final void testGenerateAuthnRequestPALsErr1() {
+
+ final IPersonalAttributeList palWrong = new PersonalAttributeList();
+
+ final PersonalAttribute worngAttr = new PersonalAttribute();
+ worngAttr.setName("attrNotValid");
+ worngAttr.setIsRequired(true);
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(palWrong);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ try {
+ engine.generateSTORKAuthnRequest(request);
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication request authentication assurance level
- * negative value.
- */
- @Test
- public final void testGenerateAuthnRequestQaalErr1() {
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(-1);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
-
- try {
- engine.generateSTORKAuthnRequest(request);
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request error personal attribute value error.
+ */
+ @Test
+ public final void testGenerateAuthnRequestPALsErr2() {
+
+ final IPersonalAttributeList palWrong = new PersonalAttributeList();
+
+ final PersonalAttribute attrNotValid = new PersonalAttribute();
+ attrNotValid.setName("attrNotValid");
+ attrNotValid.setIsRequired(true);
+ palWrong.add(attrNotValid);
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(palWrong);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ try {
+ engine.generateSTORKAuthnRequest(request);
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication request service provider sector null.
- */
- @Test
- public final void testGenerateAuthnRequestSectorErr() {
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(null);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- try {
- engine.generateSTORKAuthnRequest(request);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ /**
+ * Test generate authentication request error provider name null.
+ */
+ @Test
+ public final void testGenerateAuthnRequestSPNAmeErr1() {
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(null);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ try {
+ engine.generateSTORKAuthnRequest(request);
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication request service provider institution null.
- */
- @Test
- public final void testGenerateAuthnRequestInstitutionrErr() {
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(null);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- try {
- engine.generateSTORKAuthnRequest(request);
-
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+
+ /**
+ * Test generate authentication request authentication assurance level negative value.
+ */
+ @Test
+ public final void testGenerateAuthnRequestQaalErr1() {
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(-1);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+
+ try {
+ engine.generateSTORKAuthnRequest(request);
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication request service provider application null.
- */
- @Test
- public final void testGenerateAuthnRequestApplicationErr() {
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(null);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- try {
- engine.generateSTORKAuthnRequest(request);
-
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+
+ /**
+ * Test generate authentication request service provider sector null.
+ */
+ @Test
+ public final void testGenerateAuthnRequestSectorErr() {
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(null);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ try {
+ engine.generateSTORKAuthnRequest(request);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+
+ }
}
- }
-
- /**
- * Test generate authentication request service provider country null.
- */
- @Test
- public final void testGenerateAuthnRequestCountryErr() {
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(null);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- try {
- engine.generateSTORKAuthnRequest(request);
- LOG.error("Error");
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
-
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request service provider institution null.
+ */
+ @Test
+ public final void testGenerateAuthnRequestInstitutionrErr() {
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(null);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ try {
+ engine.generateSTORKAuthnRequest(request);
+
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ }
}
- }
-
- /**
- * Test generate authentication request error with quality authentication
- * assurance level wrong.
- */
- @Test
- public final void testGenerateAuthnRequestQaalErr2() {
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(0);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- try {
- engine.generateSTORKAuthnRequest(request);
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request service provider application null.
+ */
+ @Test
+ public final void testGenerateAuthnRequestApplicationErr() {
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(null);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ try {
+ engine.generateSTORKAuthnRequest(request);
+
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ }
}
- }
-
- /**
- * Test generate authentication request personal attribute list null value.
- */
- @Test
- public final void testGenerateAuthnRequestPALErr1() {
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(null);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- try {
- engine.generateSTORKAuthnRequest(request);
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request service provider country null.
+ */
+ @Test
+ public final void testGenerateAuthnRequestCountryErr() {
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(null);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ try {
+ engine.generateSTORKAuthnRequest(request);
+ LOG.error("Error");
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication request error with assertion consumer URL
- * null.
- */
- @Test
- public final void testGenerateAuthnRequestAssertionConsumerErr1() {
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(null);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- try {
- engine.generateSTORKAuthnRequest(request);
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request error with quality authentication assurance level wrong.
+ */
+ @Test
+ public final void testGenerateAuthnRequestQaalErr2() {
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(0);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ try {
+ engine.generateSTORKAuthnRequest(request);
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test validate authentication request null parameter.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAuthnRequestNullParam()
- throws STORKSAMLEngineException {
- try {
- engine.validateSTORKAuthnRequest(null);
- fail("validateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request personal attribute list null value.
+ */
+ @Test
+ public final void testGenerateAuthnRequestPALErr1() {
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(null);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ try {
+ engine.generateSTORKAuthnRequest(request);
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test validate authentication request error bytes encode.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAuthnRequestErrorEncode()
- throws STORKSAMLEngineException {
- try {
- engine.validateSTORKAuthnRequest("messageError".getBytes());
- fail("validateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request error with assertion consumer URL null.
+ */
+ @Test
+ public final void testGenerateAuthnRequestAssertionConsumerErr1() {
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(null);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ try {
+ engine.generateSTORKAuthnRequest(request);
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test validate authentication request.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAuthnRequest() throws STORKSAMLEngineException {
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- authRequest = engine.generateSTORKAuthnRequest(request).getTokenSaml();
-
- final STORKAuthnRequest validatedRequest = engine.validateSTORKAuthnRequest(authRequest);
-
- assertEquals("CrossBorderShare incorrect: ", validatedRequest.isEIDCrossBorderShare(), false);
- assertEquals("CrossSectorShare incorrect: ", validatedRequest.isEIDCrossSectorShare(), false);
- assertEquals("SectorShare incorrect: ", validatedRequest.isEIDSectorShare(), false);
-
- }
-
- /**
- * Test validate data authenticate request. Verified parameters after
- * validation.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateDataAuthnRequest() throws STORKSAMLEngineException {
-
- final STORKAuthnRequest request = engine.validateSTORKAuthnRequest(authRequest);
-
- assertEquals("Sestination incorrect: ", request.getDestination(), destination);
-
- assertEquals("CrossBorderShare incorrect: ", request.isEIDCrossBorderShare(), false);
- assertEquals("CrossSectorShare incorrect: ", request.isEIDCrossSectorShare(), false);
- assertEquals("SectorShare incorrect: ", request.isEIDSectorShare(), false);
-
- assertEquals("Service provider incorrect: ", request.getProviderName(), spName);
- assertEquals("QAAL incorrect: ", request.getQaa(), QAAL);
- assertEquals("SPSector incorrect: ", request.getSpSector(), spSector);
- assertEquals("SPInstitution incorrect: ", request.getSpInstitution(), null);
- assertEquals("SPApplication incorrect: ", request.getSpApplication(), spApplication);
- assertEquals("Asserition consumer URL incorrect: ", request.getAssertionConsumerServiceURL(), assertConsumerUrl);
-
- assertEquals("SP Country incorrect: ", request.getSpCountry(), spCountry);
- assertEquals("SP Id incorrect: ", request.getSPID(), spId);
- assertEquals("CitizenCountryCode incorrect: ", request.getCitizenCountryCode(), "ES");
-
- }
-
- /**
- * Test validate file authentication request. Validate from XML file.
- *
- * @throws Exception the exception
- */
- @Test
- public final void testValidateFileAuthnRequest() throws Exception {
-
- final byte[] bytes = SSETestUtils.readStorkSamlFromFile("/data/eu/stork/STORKSAMLEngine/AuthnRequest.xml");
-
- try {
- engine.validateSTORKAuthnRequest(bytes);
- fail("testValidateFileAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error(e.getMessage());
+
+ /**
+ * Test validate authentication request null parameter.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAuthnRequestNullParam() throws STORKSAMLEngineException {
+ try {
+ engine.validateSTORKAuthnRequest(null);
+ fail("validateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
- /**
- * Test validate file authentication request tag delete.
- *
- * @throws Exception the exception
- */
- @Test
- public final void testValidateFileAuthnRequestTagDelete() throws Exception {
+ /**
+ * Test validate authentication request error bytes encode.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAuthnRequestErrorEncode() throws STORKSAMLEngineException {
+ try {
+ engine.validateSTORKAuthnRequest("messageError".getBytes());
+ fail("validateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
+ }
+
+ /**
+ * Test validate authentication request.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAuthnRequest() throws STORKSAMLEngineException {
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
- final byte[] bytes = SSETestUtils.readStorkSamlFromFile("/data/eu/stork/STORKSAMLEngine/AuthnRequestTagDelete.xml");
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ authRequest = engine.generateSTORKAuthnRequest(request).getTokenSaml();
+
+ final STORKAuthnRequest validatedRequest = engine.validateSTORKAuthnRequest(authRequest);
- try {
- engine.validateSTORKAuthnRequest(bytes);
- fail("validateSTORKAuthnRequest(...) should have thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error(e.getMessage());
+ assertEquals("CrossBorderShare incorrect: ", validatedRequest.isEIDCrossBorderShare(), false);
+ assertEquals("CrossSectorShare incorrect: ", validatedRequest.isEIDCrossSectorShare(), false);
+ assertEquals("SectorShare incorrect: ", validatedRequest.isEIDSectorShare(), false);
}
- }
-
- /**
- * Test validate authentication request not trusted token.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAuthnRequestNotTrustedErr1()
- throws STORKSAMLEngineException {
-
- try {
- final STORKSAMLEngine engineNotTrusted = STORKSAMLEngine
- .getInstance("CONF2");
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
-
- final byte[] authReqNotTrust = engineNotTrusted
- .generateSTORKAuthnRequest(request).getTokenSaml();
-
- engine.validateSTORKAuthnRequest(authReqNotTrust);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
- fail("validateSTORKAuthnRequestNotTrusted(...) should not have thrown an STORKSAMLEngineException!");
- }
- }
-
- /**
- * Test validate authentication request trusted.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAuthnRequestTrusted()
- throws STORKSAMLEngineException {
-
- final STORKSAMLEngine engineTrusted = STORKSAMLEngine
- .getInstance("CONF3");
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
-
- final byte[] authReqNotTrust = engineTrusted.generateSTORKAuthnRequest(
- request).getTokenSaml();
-
- // engine ("CONF1") no have trust certificate from "CONF2"
- engine.validateSTORKAuthnRequest(authReqNotTrust);
-
- }
-
-
-
-
- /**
- * Test generate authentication request service provider application null.
- */
- @Test
- public final void testGenerateAuthnRequestNADA() {
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(null);
- request.setSpInstitution(null);
- request.setSpApplication(null);
- request.setSpCountry(null);
-
- try {
-
- engine.validateSTORKAuthnRequest(authRequest);
-
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
- fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+
+ /**
+ * Test validate data authenticate request. Verified parameters after validation.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateDataAuthnRequest() throws STORKSAMLEngineException {
+
+ final STORKAuthnRequest request = engine.validateSTORKAuthnRequest(authRequest);
+
+ assertEquals("Sestination incorrect: ", request.getDestination(), destination);
+
+ assertEquals("CrossBorderShare incorrect: ", request.isEIDCrossBorderShare(), false);
+ assertEquals("CrossSectorShare incorrect: ", request.isEIDCrossSectorShare(), false);
+ assertEquals("SectorShare incorrect: ", request.isEIDSectorShare(), false);
+
+ assertEquals("Service provider incorrect: ", request.getProviderName(), spName);
+ assertEquals("QAAL incorrect: ", request.getQaa(), QAAL);
+ assertEquals("SPSector incorrect: ", request.getSpSector(), spSector);
+ assertEquals("SPInstitution incorrect: ", request.getSpInstitution(), null);
+ assertEquals("SPApplication incorrect: ", request.getSpApplication(), spApplication);
+ assertEquals("Asserition consumer URL incorrect: ", request.getAssertionConsumerServiceURL(), assertConsumerUrl);
+
+ assertEquals("SP Country incorrect: ", request.getSpCountry(), spCountry);
+ assertEquals("SP Id incorrect: ", request.getSPID(), spId);
+ assertEquals("CitizenCountryCode incorrect: ", request.getCitizenCountryCode(), "ES");
+
+ }
+
+ /**
+ * Test validate file authentication request. Validate from XML file.
+ *
+ * @throws Exception
+ * the exception
+ */
+ @Test
+ public final void testValidateFileAuthnRequest() throws Exception {
+
+ final byte[] bytes = SSETestUtils.readStorkSamlFromFile("/data/eu/stork/STORKSAMLEngine/AuthnRequest.xml");
+
+ try {
+ engine.validateSTORKAuthnRequest(bytes);
+ fail("testValidateFileAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error(e.getMessage());
+ }
+ }
+
+ /**
+ * Test validate file authentication request tag delete.
+ *
+ * @throws Exception
+ * the exception
+ */
+ @Test
+ public final void testValidateFileAuthnRequestTagDelete() throws Exception {
+
+ final byte[] bytes = SSETestUtils.readStorkSamlFromFile("/data/eu/stork/STORKSAMLEngine/AuthnRequestTagDelete.xml");
+
+ try {
+ engine.validateSTORKAuthnRequest(bytes);
+ fail("validateSTORKAuthnRequest(...) should have thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error(e.getMessage());
+
+ }
+ }
+
+ /**
+ * Test validate authentication request not trusted token.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAuthnRequestNotTrustedErr1() throws STORKSAMLEngineException {
+
+ try {
+ final STORKSAMLEngine engineNotTrusted = STORKSAMLEngine.getInstance("CONF2");
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+
+ final byte[] authReqNotTrust = engineNotTrusted.generateSTORKAuthnRequest(request).getTokenSaml();
+
+ engine.validateSTORKAuthnRequest(authReqNotTrust);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ fail("validateSTORKAuthnRequestNotTrusted(...) should not have thrown an STORKSAMLEngineException!");
+ }
}
- }
-
- /**
- * Test validate authentication request with unknown elements.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAuthnRequestWithUnknownElements() throws STORKSAMLEngineException {
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- IPersonalAttributeList pAttList = new PersonalAttributeList();
-
- final PersonalAttribute unknown = new PersonalAttribute();
- unknown.setName("unknown");
- unknown.setIsRequired(true);
- pAttList.add(unknown);
-
- final PersonalAttribute eIdentifier = new PersonalAttribute();
- eIdentifier.setName("eIdentifier");
- eIdentifier.setIsRequired(true);
- pAttList.add(eIdentifier);
-
- request.setPersonalAttributeList(pAttList);
-
- // new parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- STORKAuthnRequest req = new STORKAuthnRequest();
-
- req = engine3.generateSTORKAuthnRequest(request);
-
- req = engine.validateSTORKAuthnRequest(req.getTokenSaml());
-
- assertNull("The value shouldn't exist", req.getPersonalAttributeList().get("unknown"));
- assertNotNull("The value should exist", req.getPersonalAttributeList().get("eIdentifier"));
-
- }
-
- /**
- * Test generate Request with required elements by default
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateAuthnRequestWithIsRequiredElementsByDefault() throws STORKSAMLEngineException {
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- IPersonalAttributeList pAttList = new PersonalAttributeList();
-
- final PersonalAttribute eIdentifier = new PersonalAttribute();
- eIdentifier.setName("eIdentifier");
- eIdentifier.setIsRequired(true);
- pAttList.add(eIdentifier);
-
- request.setPersonalAttributeList(pAttList);
-
- // new parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- STORKAuthnRequest req = new STORKAuthnRequest();
- STORKAuthnRequest reqTrue = new STORKAuthnRequest();
- STORKAuthnRequest reqFalse = new STORKAuthnRequest();
-
- reqTrue = engine.generateSTORKAuthnRequest(request);
- reqFalse = engine2.generateSTORKAuthnRequest(request);
- req = engine3.generateSTORKAuthnRequest(request);
-
-
- String token = new String(req.getTokenSaml());
- String reqTrueToken = new String(reqTrue.getTokenSaml());
- String reqFalseToken = new String(reqFalse.getTokenSaml());
-
- assertTrue("The token must contain the chain 'isRequired'", token.contains("isRequired"));
- assertTrue("The token must contain the chain 'isRequired'", reqTrueToken.contains("isRequired"));
- assertFalse("The token must contain the chain 'isRequired'", reqFalseToken.contains("isRequired"));
-
- }
-
- /**
- * Test validating request and getting alias used to save
- * the saml trusted certificate into trustore
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAuthnRequestGettingItsAlias() throws STORKSAMLEngineException {
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
-
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- IPersonalAttributeList pAttList = new PersonalAttributeList();
-
- final PersonalAttribute eIdentifier = new PersonalAttribute();
- eIdentifier.setName("eIdentifier");
- eIdentifier.setIsRequired(true);
- pAttList.add(eIdentifier);
-
- request.setPersonalAttributeList(pAttList);
-
- // new parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- STORKAuthnRequest req = new STORKAuthnRequest();
-
- req = engine3.generateSTORKAuthnRequest(request);
- req = engine.validateSTORKAuthnRequest(req.getTokenSaml());
- assertTrue("The alias should match this value", req.getAlias().equals("local-demo-cert"));
-
- req = engine2.generateSTORKAuthnRequest(request);
- req = engine2.validateSTORKAuthnRequest(req.getTokenSaml());
- assertTrue("The alias should match this value", req.getAlias().equals("local-demo-cert"));
-
-
-
- }
-
+
+ /**
+ * Test validate authentication request trusted.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAuthnRequestTrusted() throws STORKSAMLEngineException {
+
+ final STORKSAMLEngine engineTrusted = STORKSAMLEngine.getInstance("CONF3");
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+
+ final byte[] authReqNotTrust = engineTrusted.generateSTORKAuthnRequest(request).getTokenSaml();
+
+ // engine ("CONF1") no have trust certificate from "CONF2"
+ engine.validateSTORKAuthnRequest(authReqNotTrust);
+
+ }
+
+ /**
+ * Test generate authentication request service provider application null.
+ */
+ @Test
+ public final void testGenerateAuthnRequestNADA() {
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(null);
+ request.setSpInstitution(null);
+ request.setSpApplication(null);
+ request.setSpCountry(null);
+
+ try {
+
+ engine.validateSTORKAuthnRequest(authRequest);
+
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ fail("generateSTORKAuthnRequest(...) should've thrown an STORKSAMLEngineException!");
+ }
+ }
+
+ /**
+ * Test validate authentication request with unknown elements.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAuthnRequestWithUnknownElements() throws STORKSAMLEngineException {
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ IPersonalAttributeList pAttList = new PersonalAttributeList();
+
+ final PersonalAttribute unknown = new PersonalAttribute();
+ unknown.setName("unknown");
+ unknown.setIsRequired(true);
+ pAttList.add(unknown);
+
+ final PersonalAttribute eIdentifier = new PersonalAttribute();
+ eIdentifier.setName("eIdentifier");
+ eIdentifier.setIsRequired(true);
+ pAttList.add(eIdentifier);
+
+ request.setPersonalAttributeList(pAttList);
+
+ // new parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ STORKAuthnRequest req = new STORKAuthnRequest();
+
+ req = engine3.generateSTORKAuthnRequest(request);
+
+ req = engine.validateSTORKAuthnRequest(req.getTokenSaml());
+
+ assertNull("The value shouldn't exist", req.getPersonalAttributeList().get("unknown"));
+ assertNotNull("The value should exist", req.getPersonalAttributeList().get("eIdentifier"));
+
+ }
+
+ /**
+ * Test generate Request with required elements by default
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateAuthnRequestWithIsRequiredElementsByDefault() throws STORKSAMLEngineException {
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ IPersonalAttributeList pAttList = new PersonalAttributeList();
+
+ final PersonalAttribute eIdentifier = new PersonalAttribute();
+ eIdentifier.setName("eIdentifier");
+ eIdentifier.setIsRequired(true);
+ pAttList.add(eIdentifier);
+
+ request.setPersonalAttributeList(pAttList);
+
+ // new parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ STORKAuthnRequest req = new STORKAuthnRequest();
+ STORKAuthnRequest reqTrue = new STORKAuthnRequest();
+ STORKAuthnRequest reqFalse = new STORKAuthnRequest();
+
+ reqTrue = engine.generateSTORKAuthnRequest(request);
+ reqFalse = engine2.generateSTORKAuthnRequest(request);
+ req = engine3.generateSTORKAuthnRequest(request);
+
+ String token = new String(req.getTokenSaml());
+ String reqTrueToken = new String(reqTrue.getTokenSaml());
+ String reqFalseToken = new String(reqFalse.getTokenSaml());
+
+ assertTrue("The token must contain the chain 'isRequired'", token.contains("isRequired"));
+ assertTrue("The token must contain the chain 'isRequired'", reqTrueToken.contains("isRequired"));
+ assertFalse("The token must contain the chain 'isRequired'", reqFalseToken.contains("isRequired"));
+
+ }
+
+ /**
+ * Test validating request and getting alias used to save the saml trusted certificate into trustore
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAuthnRequestGettingItsAlias() throws STORKSAMLEngineException {
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ IPersonalAttributeList pAttList = new PersonalAttributeList();
+
+ final PersonalAttribute eIdentifier = new PersonalAttribute();
+ eIdentifier.setName("eIdentifier");
+ eIdentifier.setIsRequired(true);
+ pAttList.add(eIdentifier);
+
+ request.setPersonalAttributeList(pAttList);
+
+ // new parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ STORKAuthnRequest req = new STORKAuthnRequest();
+
+ req = engine3.generateSTORKAuthnRequest(request);
+ req = engine.validateSTORKAuthnRequest(req.getTokenSaml());
+ assertTrue("The alias should match this value", req.getAlias().equals("local-demo-cert"));
+
+ req = engine2.generateSTORKAuthnRequest(request);
+ req = engine2.validateSTORKAuthnRequest(req.getTokenSaml());
+ assertTrue("The alias should match this value", req.getAlias().equals("local-demo-cert"));
+
+ }
+
/**
* Test generating/validating request with signedDoc
*
@@ -908,8 +891,7 @@ public class StorkAuthRequestTest {
* the STORKSAML engine exception
*/
@Test
- public final void testGenerateAuthnRequestWithSignedDoc()
- throws STORKSAMLEngineException {
+ public final void testGenerateAuthnRequestWithSignedDoc() throws STORKSAMLEngineException {
String signedDocRequest = "<dss:SignRequest xmlns:dss=\"urn:oasis:names:tc:dss:1.0:core:schema\" RequestID=\"_d96b62a87d18f1095170c1f44c90b5fd\"><dss:InputDocuments><dss:Document><dss:Base64Data MimeType=\"text/plain\">VGVzdCB0ZXh0</dss:Base64Data></dss:Document></dss:InputDocuments></dss:SignRequest>";
@@ -958,10 +940,7 @@ public class StorkAuthRequestTest {
req = engine.generateSTORKAuthnRequest(request);
req = engine.validateSTORKAuthnRequest(req.getTokenSaml());
- assertTrue("SignedDoc request should be the same: ", req
- .getPersonalAttributeList().get("signedDoc").getValue().get(0)
- .equals(signedDocRequest));
-
+ assertTrue("SignedDoc request should be the same: ", req.getPersonalAttributeList().get("signedDoc").getValue().get(0).equals(signedDocRequest));
}
diff --git a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkLogoutRequestTest.java b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkLogoutRequestTest.java
index 46904788f..e05c660ea 100644
--- a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkLogoutRequestTest.java
+++ b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkLogoutRequestTest.java
@@ -15,75 +15,74 @@ import eu.stork.peps.auth.commons.STORKLogoutRequest;
import eu.stork.peps.auth.engine.STORKSAMLEngine;
import eu.stork.peps.exceptions.STORKSAMLEngineException;
-
public class StorkLogoutRequestTest {
-
- /** The engines. */
- private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
- private static STORKSAMLEngine engine0 = STORKSAMLEngine.getInstance("CONF0");
- private static STORKSAMLEngine engine2 = STORKSAMLEngine.getInstance("CONF2");
- private static STORKSAMLEngine engine3 = STORKSAMLEngine.getInstance("CONF3");
-
- public StorkLogoutRequestTest() {
- destination = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
- spUserId = "IS/IS/1234567890";
- }
-
- /** The destination. */
- private String destination;
-
- /** The user id. */
- private String spUserId;
-
- /** The logout request. */
- private static byte[] logoutRequest;
-
- /** The Constant LOG. */
- private static final Logger LOG = LoggerFactory
- .getLogger(StorkLogoutRequestTest.class.getName());
-
- /** Parser manager used to parse XML. */
- private static BasicParserPool parser;
-
- static {
+
+ /** The engines. */
+ private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
+ private static STORKSAMLEngine engine0 = STORKSAMLEngine.getInstance("CONF0");
+ private static STORKSAMLEngine engine2 = STORKSAMLEngine.getInstance("CONF2");
+ private static STORKSAMLEngine engine3 = STORKSAMLEngine.getInstance("CONF3");
+
+ public StorkLogoutRequestTest() {
+ destination = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
+ spUserId = "IS/IS/1234567890";
+ }
+
+ /** The destination. */
+ private String destination;
+
+ /** The user id. */
+ private String spUserId;
+
+ /** The logout request. */
+ private static byte[] logoutRequest;
+
+ /** The Constant LOG. */
+ private static final Logger LOG = LoggerFactory.getLogger(StorkLogoutRequestTest.class.getName());
+
+ /** Parser manager used to parse XML. */
+ private static BasicParserPool parser;
+
+ static {
parser = new BasicParserPool();
parser.setNamespaceAware(true);
- }
-
- /**
- * Test generate authentication request.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateLogoutRequest() throws STORKSAMLEngineException {
-
- final STORKLogoutRequest request = new STORKLogoutRequest();
-
- request.setDestination(destination);
-
- request.setSpProvidedId(spUserId);
-
- STORKLogoutRequest req1 = engine0.generateSTORKLogoutRequest(request);
- byte[] reqByte = req1.getTokenSaml();
- FileOutputStream output = null;
-
- try {
- output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/LogoutRequest.xml"));
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
}
- try {
- output.write(reqByte);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+
+ /**
+ * Test generate authentication request.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateLogoutRequest() throws STORKSAMLEngineException {
+
+ final STORKLogoutRequest request = new STORKLogoutRequest();
+
+ request.setDestination(destination);
+
+ request.setSpProvidedId(spUserId);
+
+ STORKLogoutRequest req1 = engine0.generateSTORKLogoutRequest(request);
+ byte[] reqByte = req1.getTokenSaml();
+ FileOutputStream output = null;
+
+ try {
+ output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/LogoutRequest.xml"));
+ } catch (FileNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ try {
+ output.write(reqByte);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ LOG.info("STORKAttrQueryRequest 1: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKLogoutRequest(request).getTokenSaml()));
+
+ LOG.info("STORKAttrQueryRequest 2: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKLogoutRequest(request).getTokenSaml()));
}
-
- LOG.info("STORKAttrQueryRequest 1: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKLogoutRequest(request).getTokenSaml()));
-
- LOG.info("STORKAttrQueryRequest 2: " + SSETestUtils.encodeSAMLToken(engine.generateSTORKLogoutRequest(request).getTokenSaml()));
- }
}
diff --git a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkLogoutResponseTest.java b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkLogoutResponseTest.java
index 2d05e04aa..b9907002a 100644
--- a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkLogoutResponseTest.java
+++ b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkLogoutResponseTest.java
@@ -19,124 +19,123 @@ import eu.stork.peps.auth.commons.STORKLogoutResponse;
import eu.stork.peps.auth.engine.STORKSAMLEngine;
import eu.stork.peps.exceptions.STORKSAMLEngineException;
-
public class StorkLogoutResponseTest {
-
- /** The engines. */
- private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
- private static STORKSAMLEngine engine0 = STORKSAMLEngine.getInstance("CONF0");
- private static STORKSAMLEngine engine2 = STORKSAMLEngine.getInstance("CONF2");
- private static STORKSAMLEngine engine3 = STORKSAMLEngine.getInstance("CONF3");
-
- public StorkLogoutResponseTest() {
- destination = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
- spUserId = "IS/IS/1234567890";
- }
-
- /** The destination. */
- private String destination;
-
- /** The user id. */
- private String spUserId;
-
- /** The logout request. */
- private static byte[] logoutRequest;
-
- /** The logout response. */
- private static byte[] logoutResponse;
-
- /** The Constant LOG. */
- private static final Logger LOG = LoggerFactory
- .getLogger(StorkLogoutResponseTest.class.getName());
-
- /** Parser manager used to parse XML. */
- private static BasicParserPool parser;
-
- static {
+
+ /** The engines. */
+ private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
+ private static STORKSAMLEngine engine0 = STORKSAMLEngine.getInstance("CONF0");
+ private static STORKSAMLEngine engine2 = STORKSAMLEngine.getInstance("CONF2");
+ private static STORKSAMLEngine engine3 = STORKSAMLEngine.getInstance("CONF3");
+
+ public StorkLogoutResponseTest() {
+ destination = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
+ spUserId = "IS/IS/1234567890";
+ }
+
+ /** The destination. */
+ private String destination;
+
+ /** The user id. */
+ private String spUserId;
+
+ /** The logout request. */
+ private static byte[] logoutRequest;
+
+ /** The logout response. */
+ private static byte[] logoutResponse;
+
+ /** The Constant LOG. */
+ private static final Logger LOG = LoggerFactory.getLogger(StorkLogoutResponseTest.class.getName());
+
+ /** Parser manager used to parse XML. */
+ private static BasicParserPool parser;
+
+ static {
parser = new BasicParserPool();
parser.setNamespaceAware(true);
- }
-
- /**
- * Test generate authentication request.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateLogoutRequest() throws STORKSAMLEngineException {
-
- final STORKLogoutRequest request = new STORKLogoutRequest();
-
- final STORKLogoutResponse response = new STORKLogoutResponse();
-
- request.setDestination(destination);
- response.setDestination(destination);
-
- request.setSpProvidedId(spUserId);
-
- STORKLogoutRequest req1 = engine0.generateSTORKLogoutRequest(request);
-
- STORKLogoutResponse res = engine0.generateSTORKLogoutResponse(req1, response);
-
- byte[] reqByte = res.getTokenSaml();
- FileOutputStream output = null;
-
- try {
- output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/LogoutResponse.xml"));
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- try {
- output.write(reqByte);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
}
-
-
+
+ /**
+ * Test generate authentication request.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateLogoutRequest() throws STORKSAMLEngineException {
+
+ final STORKLogoutRequest request = new STORKLogoutRequest();
+
+ final STORKLogoutResponse response = new STORKLogoutResponse();
+
+ request.setDestination(destination);
+ response.setDestination(destination);
+
+ request.setSpProvidedId(spUserId);
+
+ STORKLogoutRequest req1 = engine0.generateSTORKLogoutRequest(request);
+
+ STORKLogoutResponse res = engine0.generateSTORKLogoutResponse(req1, response);
+
+ byte[] reqByte = res.getTokenSaml();
+ FileOutputStream output = null;
+
+ try {
+ output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/LogoutResponse.xml"));
+ } catch (FileNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ try {
+ output.write(reqByte);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
assertNotNull(reqByte);
- }
-
- /**
- * Test generate authentication request.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateLogoutRequestFail() throws STORKSAMLEngineException {
-
- final STORKLogoutRequest request = new STORKLogoutRequest();
-
- final STORKLogoutResponse response = new STORKLogoutResponse();
-
- request.setDestination(destination);
- response.setDestination(destination);
- response.setStatusMessage("User not found.");
- response.setStatusCode("1234");
- request.setSpProvidedId(spUserId);
-
- STORKLogoutRequest req1 = engine0.generateSTORKLogoutRequest(request);
-
- STORKLogoutResponse res = engine0.generateSTORKLogoutResponseFail(req1, response);
-
- byte[] reqByte = res.getTokenSaml();
- FileOutputStream output = null;
-
- try {
- output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/LogoutResponseFail.xml"));
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- try {
- output.write(reqByte);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
}
-
+
+ /**
+ * Test generate authentication request.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateLogoutRequestFail() throws STORKSAMLEngineException {
+
+ final STORKLogoutRequest request = new STORKLogoutRequest();
+
+ final STORKLogoutResponse response = new STORKLogoutResponse();
+
+ request.setDestination(destination);
+ response.setDestination(destination);
+ response.setStatusMessage("User not found.");
+ response.setStatusCode("1234");
+ request.setSpProvidedId(spUserId);
+
+ STORKLogoutRequest req1 = engine0.generateSTORKLogoutRequest(request);
+
+ STORKLogoutResponse res = engine0.generateSTORKLogoutResponseFail(req1, response);
+
+ byte[] reqByte = res.getTokenSaml();
+ FileOutputStream output = null;
+
+ try {
+ output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/LogoutResponseFail.xml"));
+ } catch (FileNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ try {
+ output.write(reqByte);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
assertNotNull(reqByte);
- }
+ }
}
diff --git a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkNewResponseTest.java b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkNewResponseTest.java
index 62e9cfb18..876c2c14d 100644
--- a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkNewResponseTest.java
+++ b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkNewResponseTest.java
@@ -27,382 +27,370 @@ import eu.stork.peps.auth.commons.STORKStatusCode;
import eu.stork.peps.auth.engine.STORKSAMLEngine;
import eu.stork.peps.exceptions.STORKSAMLEngineException;
-
public class StorkNewResponseTest {
/** The engine. */
- private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
- private static STORKSAMLEngine engine0 = STORKSAMLEngine.getInstance("CONF0");
-
- /**
- * Gets the engine.
- *
- * @return the engine
- */
- public static STORKSAMLEngine getEngine() {
- return engine;
- }
-
- public static STORKSAMLEngine getEngine2() {
- return engine0;
- }
-
- /**
- * Sets the engine.
- *
- * @param newEngine the new engine
- */
- public static void setEngine(final STORKSAMLEngine newEngine) {
- StorkNewResponseTest.engine = newEngine;
- }
-
- /** The destination. */
- private static String destination;
-
- /** The service provider name. */
- private static String spName;
-
- /** The service provider sector. */
- private static String spSector;
-
- /** The service provider institution. */
- private static String spInstitution;
-
- /** The service provider application. */
- private static String spApplication;
-
- /** The service provider country. */
- private static String spCountry;
-
- /** The service provider id. */
- private static String spId;
-
- /** The quality authentication assurance level. */
- private static final int QAAL = 3;
-
- /** The state. */
- private static String state = "ES";
-
- /** The town. */
- private static String town = "Madrid";
-
- /** The municipality code. */
- private static String municipalityCode = "MA001";
-
- /** The postal code. */
- private static String postalCode = "28038";
-
- /** The street name. */
- private static String streetName = "Marchamalo";
-
- /** The street number. */
- private static String streetNumber = "3";
-
- /** The apartament number. */
- private static String apartamentNumber = "5º E";
-
- /** The List of Personal Attributes. */
- private static IPersonalAttributeList pal;
-
- /** The List of Personal Attributes. */
- private static IPersonalAttributeList pal2;
-
- /** The assertion consumer URL. */
- private static String assertConsumerUrl;
-
- /** The authentication request. */
- private static byte[] authRequest;
-
- /** The authentication response. */
- private static byte[] authResponse;
-
- /** The authentication request. */
- private static STORKAuthnRequest authenRequest;
-
- /** The authentication response. */
- private static STORKAuthnResponse authnResponse;
-
- /** The Constant LOG. */
- private static final Logger LOG = LoggerFactory
- .getLogger(StorkResponseTest.class.getName());
-
- /**
- * Instantiates a new stork response test.
- */
- public StorkNewResponseTest() {
- super();
- }
-
- /** The IP address. */
- private static String ipAddress;
-
- /** The is hashing. */
- private final boolean isHashing = Boolean.TRUE;
-
- /** The is not hashing. */
- private final boolean isNotHashing = Boolean.FALSE;
-
- /** The ERROR text. */
- private static final String ERROR_TXT = "generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!";
-
-
- /** Parser manager used to parse XML. */
- private static BasicParserPool parser;
-
- /** The attribute query request. */
- private static STORKAttrQueryRequest attrQueryenRequest;
-
- /** The attribute query response. */
- private static STORKAttrQueryResponse attrQeuryenResponse;
-
- /** The attribute query request. */
- private static byte[] attrQueryRequest;
-
- /** The attribute query response. */
- private static byte[] attrQueryResponse;
-
-
-
- static {
- parser = new BasicParserPool();
- parser.setNamespaceAware(true);
-
- pal = new PersonalAttributeList();
- pal2 = new PersonalAttributeList();
-
- PersonalAttribute isAgeOver = new PersonalAttribute();
- isAgeOver.setName("isAgeOver");
- isAgeOver.setIsRequired(false);
- ArrayList<String> ages = new ArrayList<String>();
- ages.add("16");
- ages.add("18");
- isAgeOver.setValue(ages);
- pal.add(isAgeOver);
-
- PersonalAttribute dateOfBirth = new PersonalAttribute();
- dateOfBirth.setName("dateOfBirth");
- dateOfBirth.setIsRequired(false);
- pal.add(dateOfBirth);
-
- PersonalAttribute eIDNumber = new PersonalAttribute();
- eIDNumber.setName("eIdentifier");
- eIDNumber.setIsRequired(true);
- pal.add(eIDNumber);
-
- final PersonalAttribute givenName = new PersonalAttribute();
- givenName.setName("givenName");
- givenName.setIsRequired(true);
- pal.add(givenName);
-
- PersonalAttribute canRessAddress = new PersonalAttribute();
- canRessAddress.setName("canonicalResidenceAddress");
- canRessAddress.setIsRequired(true);
- pal.add(canRessAddress);
-
- PersonalAttribute newAttribute = new PersonalAttribute();
- newAttribute.setName("newAttribute2");
- newAttribute.setIsRequired(true);
- pal.add(newAttribute);
-
- PersonalAttribute hasDegree = new PersonalAttribute();
- hasDegree.setName("hasDegree");
- List<String> vals = new ArrayList<String>();
- vals.add("Engineering");
- vals.add("Computer Science");
- hasDegree.setValue(vals);
- pal2.add(hasDegree);
-
- PersonalAttribute mandate = new PersonalAttribute();
- mandate.setName("mandateContent");
- List<String> manvalues = new ArrayList<String>();
- manvalues.add("Powers");
- mandate.setValue(manvalues);
- pal2.add(mandate);
-
- destination = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
- assertConsumerUrl = "http://S-PEPS.gov.xx/PEPS/ColleagueResponse";
- spName = "University Oxford";
-
- spName = "University of Oxford";
- spSector = "EDU001";
- spInstitution = "OXF001";
- spApplication = "APP001";
- spCountry = "EN";
-
- spId = "EDU001-APP001-APP001";
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- try {
- authRequest = getEngine().generateSTORKAuthnRequest(request)
- .getTokenSaml();
-
- authenRequest = getEngine().validateSTORKAuthnRequest(authRequest);
-
- } catch (STORKSAMLEngineException e) {
- fail("Error create STORKAuthnRequest");
+ private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
+ private static STORKSAMLEngine engine0 = STORKSAMLEngine.getInstance("CONF0");
+
+ /**
+ * Gets the engine.
+ *
+ * @return the engine
+ */
+ public static STORKSAMLEngine getEngine() {
+ return engine;
+ }
+
+ public static STORKSAMLEngine getEngine2() {
+ return engine0;
}
- ipAddress = "111.222.333.444";
-
- pal = new PersonalAttributeList();
-
- isAgeOver = new PersonalAttribute();
- isAgeOver.setName("isAgeOver");
- isAgeOver.setIsRequired(true);
- ages = new ArrayList<String>();
-
- ages.add("16");
- ages.add("18");
-
- isAgeOver.setValue(ages);
- isAgeOver.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- pal.add(isAgeOver);
-
- dateOfBirth = new PersonalAttribute();
- dateOfBirth.setName("dateOfBirth");
- dateOfBirth.setIsRequired(false);
- final ArrayList<String> date = new ArrayList<String>();
- date.add("16/12/2008");
- dateOfBirth.setValue(date);
- dateOfBirth.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- pal.add(dateOfBirth);
-
- eIDNumber = new PersonalAttribute();
- eIDNumber.setName("eIdentifier");
- eIDNumber.setIsRequired(true);
- final ArrayList<String> idNumber = new ArrayList<String>();
- idNumber.add("123456789PA");
- eIDNumber.setValue(idNumber);
- eIDNumber.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- pal.add(eIDNumber);
-
- canRessAddress = new PersonalAttribute();
- canRessAddress.setName("canonicalResidenceAddress");
- canRessAddress.setIsRequired(true);
- canRessAddress.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- final HashMap<String, String> address = new HashMap<String, String>();
-
- address.put("state", state);
- address.put("municipalityCode", municipalityCode);
- address.put("town", town);
- address.put("postalCode", postalCode);
- address.put("streetName", streetName);
- address.put("streetNumber", streetNumber);
- address.put("apartamentNumber", apartamentNumber);
-
- canRessAddress.setComplexValue(address);
- pal.add(canRessAddress);
-
- newAttribute = new PersonalAttribute();
- newAttribute.setName("newAttribute2");
- newAttribute.setIsRequired(true);
- newAttribute.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- final HashMap<String, String> values = new HashMap<String, String>();
-
- values.put("value1", "value1");
- values.put("value2", "value2");
- values.put("value3", "value3");
- values.put("value4", "value4");
-
- newAttribute.setComplexValue(values);
- pal.add(newAttribute);
-
- final STORKAttrQueryRequest arequest = new STORKAttrQueryRequest();
- arequest.setDestination(destination);
- //request.setProviderName(spName);
- arequest.setQaa(QAAL);
- arequest.setPersonalAttributeList(pal2);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- arequest.setSpSector(spSector);
- arequest.setSpInstitution(spInstitution);
- arequest.setSpApplication(spApplication);
- arequest.setSpCountry(spCountry);
- arequest.setSPID(spId);
- arequest.setCitizenCountryCode("IS");
- arequest.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- try {
- attrQueryRequest = getEngine().generateSTORKAttrQueryRequest(arequest)
- .getTokenSaml();
-
- attrQueryenRequest = getEngine().validateSTORKAttrQueryRequest(attrQueryRequest);
-
- } catch (STORKSAMLEngineException e) {
- fail("Error create STORKAuthnRequest");
+ /**
+ * Sets the engine.
+ *
+ * @param newEngine
+ * the new engine
+ */
+ public static void setEngine(final STORKSAMLEngine newEngine) {
+ StorkNewResponseTest.engine = newEngine;
}
-
- }
-
- /**
- * Test generate authentication request without errors.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateAuthnResponseWithSimpleRes() throws STORKSAMLEngineException {
-
- //Create the response holding pal
+
+ /** The destination. */
+ private static String destination;
+
+ /** The service provider name. */
+ private static String spName;
+
+ /** The service provider sector. */
+ private static String spSector;
+
+ /** The service provider institution. */
+ private static String spInstitution;
+
+ /** The service provider application. */
+ private static String spApplication;
+
+ /** The service provider country. */
+ private static String spCountry;
+
+ /** The service provider id. */
+ private static String spId;
+
+ /** The quality authentication assurance level. */
+ private static final int QAAL = 3;
+
+ /** The state. */
+ private static String state = "ES";
+
+ /** The town. */
+ private static String town = "Madrid";
+
+ /** The municipality code. */
+ private static String municipalityCode = "MA001";
+
+ /** The postal code. */
+ private static String postalCode = "28038";
+
+ /** The street name. */
+ private static String streetName = "Marchamalo";
+
+ /** The street number. */
+ private static String streetNumber = "3";
+
+ /** The apartament number. */
+ private static String apartamentNumber = "5º E";
+
+ /** The List of Personal Attributes. */
+ private static IPersonalAttributeList pal;
+
+ /** The List of Personal Attributes. */
+ private static IPersonalAttributeList pal2;
+
+ /** The assertion consumer URL. */
+ private static String assertConsumerUrl;
+
+ /** The authentication request. */
+ private static byte[] authRequest;
+
+ /** The authentication response. */
+ private static byte[] authResponse;
+
+ /** The authentication request. */
+ private static STORKAuthnRequest authenRequest;
+
+ /** The authentication response. */
+ private static STORKAuthnResponse authnResponse;
+
+ /** The Constant LOG. */
+ private static final Logger LOG = LoggerFactory.getLogger(StorkResponseTest.class.getName());
+
+ /**
+ * Instantiates a new stork response test.
+ */
+ public StorkNewResponseTest() {
+ super();
+ }
+
+ /** The IP address. */
+ private static String ipAddress;
+
+ /** The is hashing. */
+ private final boolean isHashing = Boolean.TRUE;
+
+ /** The is not hashing. */
+ private final boolean isNotHashing = Boolean.FALSE;
+
+ /** The ERROR text. */
+ private static final String ERROR_TXT = "generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!";
+
+ /** Parser manager used to parse XML. */
+ private static BasicParserPool parser;
+
+ /** The attribute query request. */
+ private static STORKAttrQueryRequest attrQueryenRequest;
+
+ /** The attribute query response. */
+ private static STORKAttrQueryResponse attrQeuryenResponse;
+
+ /** The attribute query request. */
+ private static byte[] attrQueryRequest;
+
+ /** The attribute query response. */
+ private static byte[] attrQueryResponse;
+
+ static {
+ parser = new BasicParserPool();
+ parser.setNamespaceAware(true);
+
+ pal = new PersonalAttributeList();
+ pal2 = new PersonalAttributeList();
+
+ PersonalAttribute isAgeOver = new PersonalAttribute();
+ isAgeOver.setName("isAgeOver");
+ isAgeOver.setIsRequired(false);
+ ArrayList<String> ages = new ArrayList<String>();
+ ages.add("16");
+ ages.add("18");
+ isAgeOver.setValue(ages);
+ pal.add(isAgeOver);
+
+ PersonalAttribute dateOfBirth = new PersonalAttribute();
+ dateOfBirth.setName("dateOfBirth");
+ dateOfBirth.setIsRequired(false);
+ pal.add(dateOfBirth);
+
+ PersonalAttribute eIDNumber = new PersonalAttribute();
+ eIDNumber.setName("eIdentifier");
+ eIDNumber.setIsRequired(true);
+ pal.add(eIDNumber);
+
+ final PersonalAttribute givenName = new PersonalAttribute();
+ givenName.setName("givenName");
+ givenName.setIsRequired(true);
+ pal.add(givenName);
+
+ PersonalAttribute canRessAddress = new PersonalAttribute();
+ canRessAddress.setName("canonicalResidenceAddress");
+ canRessAddress.setIsRequired(true);
+ pal.add(canRessAddress);
+
+ PersonalAttribute newAttribute = new PersonalAttribute();
+ newAttribute.setName("newAttribute2");
+ newAttribute.setIsRequired(true);
+ pal.add(newAttribute);
+
+ PersonalAttribute hasDegree = new PersonalAttribute();
+ hasDegree.setName("hasDegree");
+ List<String> vals = new ArrayList<String>();
+ vals.add("Engineering");
+ vals.add("Computer Science");
+ hasDegree.setValue(vals);
+ pal2.add(hasDegree);
+
+ PersonalAttribute mandate = new PersonalAttribute();
+ mandate.setName("mandateContent");
+ List<String> manvalues = new ArrayList<String>();
+ manvalues.add("Powers");
+ mandate.setValue(manvalues);
+ pal2.add(mandate);
+
+ destination = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
+ assertConsumerUrl = "http://S-PEPS.gov.xx/PEPS/ColleagueResponse";
+ spName = "University Oxford";
+
+ spName = "University of Oxford";
+ spSector = "EDU001";
+ spInstitution = "OXF001";
+ spApplication = "APP001";
+ spCountry = "EN";
+
+ spId = "EDU001-APP001-APP001";
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ try {
+ authRequest = getEngine().generateSTORKAuthnRequest(request).getTokenSaml();
+
+ authenRequest = getEngine().validateSTORKAuthnRequest(authRequest);
+
+ } catch (STORKSAMLEngineException e) {
+ fail("Error create STORKAuthnRequest");
+ }
+
+ ipAddress = "111.222.333.444";
+
+ pal = new PersonalAttributeList();
+
+ isAgeOver = new PersonalAttribute();
+ isAgeOver.setName("isAgeOver");
+ isAgeOver.setIsRequired(true);
+ ages = new ArrayList<String>();
+
+ ages.add("16");
+ ages.add("18");
+
+ isAgeOver.setValue(ages);
+ isAgeOver.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ pal.add(isAgeOver);
+
+ dateOfBirth = new PersonalAttribute();
+ dateOfBirth.setName("dateOfBirth");
+ dateOfBirth.setIsRequired(false);
+ final ArrayList<String> date = new ArrayList<String>();
+ date.add("16/12/2008");
+ dateOfBirth.setValue(date);
+ dateOfBirth.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ pal.add(dateOfBirth);
+
+ eIDNumber = new PersonalAttribute();
+ eIDNumber.setName("eIdentifier");
+ eIDNumber.setIsRequired(true);
+ final ArrayList<String> idNumber = new ArrayList<String>();
+ idNumber.add("123456789PA");
+ eIDNumber.setValue(idNumber);
+ eIDNumber.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ pal.add(eIDNumber);
+
+ canRessAddress = new PersonalAttribute();
+ canRessAddress.setName("canonicalResidenceAddress");
+ canRessAddress.setIsRequired(true);
+ canRessAddress.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ final HashMap<String, String> address = new HashMap<String, String>();
+
+ address.put("state", state);
+ address.put("municipalityCode", municipalityCode);
+ address.put("town", town);
+ address.put("postalCode", postalCode);
+ address.put("streetName", streetName);
+ address.put("streetNumber", streetNumber);
+ address.put("apartamentNumber", apartamentNumber);
+
+ canRessAddress.setComplexValue(address);
+ pal.add(canRessAddress);
+
+ newAttribute = new PersonalAttribute();
+ newAttribute.setName("newAttribute2");
+ newAttribute.setIsRequired(true);
+ newAttribute.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ final HashMap<String, String> values = new HashMap<String, String>();
+
+ values.put("value1", "value1");
+ values.put("value2", "value2");
+ values.put("value3", "value3");
+ values.put("value4", "value4");
+
+ newAttribute.setComplexValue(values);
+ pal.add(newAttribute);
+
+ final STORKAttrQueryRequest arequest = new STORKAttrQueryRequest();
+ arequest.setDestination(destination);
+ // request.setProviderName(spName);
+ arequest.setQaa(QAAL);
+ arequest.setPersonalAttributeList(pal2);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ arequest.setSpSector(spSector);
+ arequest.setSpInstitution(spInstitution);
+ arequest.setSpApplication(spApplication);
+ arequest.setSpCountry(spCountry);
+ arequest.setSPID(spId);
+ arequest.setCitizenCountryCode("IS");
+ arequest.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ try {
+ attrQueryRequest = getEngine().generateSTORKAttrQueryRequest(arequest).getTokenSaml();
+
+ attrQueryenRequest = getEngine().validateSTORKAttrQueryRequest(attrQueryRequest);
+
+ } catch (STORKSAMLEngineException e) {
+ fail("Error create STORKAuthnRequest");
+ }
+
+ }
+
+ /**
+ * Test generate authentication request without errors.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateAuthnResponseWithSimpleRes() throws STORKSAMLEngineException {
+
+ // Create the response holding pal
final STORKAuthnResponse response = new STORKAuthnResponse();
response.setPersonalAttributeList(pal);
-
- //List of query responses
+
+ // List of query responses
List<STORKAttrQueryResponse> resList = new ArrayList<STORKAttrQueryResponse>();
-
+
final STORKAttrQueryResponse aResponse1 = new STORKAttrQueryResponse();
aResponse1.setPersonalAttributeList(pal2);
-
- final STORKAttrQueryResponse aStorkResponse1 = getEngine2()
- .generateSTORKAttrQueryResponse(attrQueryenRequest, aResponse1, ipAddress,
- destination, isNotHashing);
-
+
+ final STORKAttrQueryResponse aStorkResponse1 = getEngine2().generateSTORKAttrQueryResponse(attrQueryenRequest, aResponse1, ipAddress, destination, isNotHashing);
+
attrQueryResponse = aStorkResponse1.getTokenSaml();
-
+
resList.add(getEngine2().validateSTORKAttrQueryResponse(attrQueryResponse, ipAddress));
-
+
final STORKAttrQueryResponse aResponse2 = new STORKAttrQueryResponse();
aResponse2.setPersonalAttributeList(pal2);
-
- final STORKAttrQueryResponse aStorkResponse2 = getEngine()
- .generateSTORKAttrQueryResponse(attrQueryenRequest, aResponse2, ipAddress,
- destination, isNotHashing);
-
+
+ final STORKAttrQueryResponse aStorkResponse2 = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, aResponse2, ipAddress, destination, isNotHashing);
+
attrQueryResponse = aStorkResponse2.getTokenSaml();
-
+
resList.add(getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, ipAddress));
-
- //Create the final response containing query responses
- final STORKAuthnResponse storkResponse = getEngine()
- .generateSTORKAuthnResponseAfterQuery(authenRequest, response, ipAddress,
- isNotHashing, resList);
+
+ // Create the final response containing query responses
+ final STORKAuthnResponse storkResponse = getEngine().generateSTORKAuthnResponseAfterQuery(authenRequest, response, ipAddress, isNotHashing, resList);
authResponse = storkResponse.getTokenSaml();
-
- //Validate, write out and print out the attribute lists a
+
+ // Validate, write out and print out the attribute lists a
STORKAuthnResponse finalResponse = getEngine().validateSTORKAuthnResponseWithQuery(authResponse, ipAddress);
System.out.println("The original pal: " + finalResponse.getPersonalAttributeList().toString());
- for (int i = 0; i < finalResponse.getPersonalAttributeLists().size(); i++)
- {
- System.out.println("Pal "+ Integer.toString(i) + ": " + finalResponse.getPersonalAttributeLists().get(i).toString());
+ for (int i = 0; i < finalResponse.getPersonalAttributeLists().size(); i++) {
+ System.out.println("Pal " + Integer.toString(i) + ": " + finalResponse.getPersonalAttributeLists().get(i).toString());
}
System.out.println("The total pal: " + finalResponse.getTotalPersonalAttributeList().toString());
-
+
FileOutputStream output = null;
-
+
try {
output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthAttrQResponse.xml"));
} catch (FileNotFoundException e) {
@@ -415,107 +403,96 @@ public class StorkNewResponseTest {
// TODO Auto-generated catch block
e.printStackTrace();
}
- }
-
- /**
- * Test generate authentication request without errors.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateAuthnResponseWithComplexRes() throws STORKSAMLEngineException {
-
- //Create the response holding pal
+ }
+
+ /**
+ * Test generate authentication request without errors.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateAuthnResponseWithComplexRes() throws STORKSAMLEngineException {
+
+ // Create the response holding pal
final STORKAuthnResponse response = new STORKAuthnResponse();
response.setPersonalAttributeList(pal);
-
- //Create a list for the attribute query responses we have
+
+ // Create a list for the attribute query responses we have
List<STORKAttrQueryResponse> resList = new ArrayList<STORKAttrQueryResponse>();
-
- //Create the first attribute query response
+
+ // Create the first attribute query response
final STORKAttrQueryResponse aResponse1 = new STORKAttrQueryResponse();
aResponse1.setPersonalAttributeList(pal2);
-
- //Generate the first response
- final STORKAttrQueryResponse aStorkResponse1 = getEngine2()
- .generateSTORKAttrQueryResponse(attrQueryenRequest, aResponse1, ipAddress,
- destination, isNotHashing);
-
+
+ // Generate the first response
+ final STORKAttrQueryResponse aStorkResponse1 = getEngine2().generateSTORKAttrQueryResponse(attrQueryenRequest, aResponse1, ipAddress, destination, isNotHashing);
+
attrQueryResponse = aStorkResponse1.getTokenSaml();
-
- //Validate it and add to the response list
+
+ // Validate it and add to the response list
resList.add(getEngine2().validateSTORKAttrQueryResponse(attrQueryResponse, ipAddress));
-
- //Create a second response like the first
+
+ // Create a second response like the first
final STORKAttrQueryResponse aResponse2 = new STORKAttrQueryResponse();
aResponse2.setPersonalAttributeList(pal2);
-
- final STORKAttrQueryResponse aStorkResponse2 = getEngine()
- .generateSTORKAttrQueryResponse(attrQueryenRequest, aResponse2, ipAddress,
- destination, isNotHashing);
-
+
+ final STORKAttrQueryResponse aStorkResponse2 = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, aResponse2, ipAddress, destination, isNotHashing);
+
attrQueryResponse = aStorkResponse2.getTokenSaml();
-
+
resList.add(getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, ipAddress));
-
- //Create a attribute query response which contains multiple assertions from an AP
+
+ // Create a attribute query response which contains multiple assertions from an AP
final STORKAttrQueryResponse aResponseMulti = new STORKAttrQueryResponse();
aResponseMulti.setPersonalAttributeList(pal2);
-
- //Create a list for the responses which the multiple assertion response will hold
+
+ // Create a list for the responses which the multiple assertion response will hold
List<STORKAttrQueryResponse> multiResponses = new ArrayList();
-
- //Create two more simple responses which the multi assertion response will hold
+
+ // Create two more simple responses which the multi assertion response will hold
final STORKAttrQueryResponse aResponse3 = new STORKAttrQueryResponse();
aResponse3.setPersonalAttributeList(pal2);
-
- final STORKAttrQueryResponse aStorkResponse3 = getEngine2()
- .generateSTORKAttrQueryResponse(attrQueryenRequest, aResponse3, ipAddress,
- destination, isNotHashing);
-
+
+ final STORKAttrQueryResponse aStorkResponse3 = getEngine2().generateSTORKAttrQueryResponse(attrQueryenRequest, aResponse3, ipAddress, destination, isNotHashing);
+
attrQueryResponse = aStorkResponse3.getTokenSaml();
- //Validate and add to the multi response
+ // Validate and add to the multi response
multiResponses.add(getEngine2().validateSTORKAttrQueryResponse(attrQueryResponse, ipAddress));
-
+
final STORKAttrQueryResponse aResponse4 = new STORKAttrQueryResponse();
aResponse4.setPersonalAttributeList(pal2);
-
- final STORKAttrQueryResponse aStorkResponse4 = getEngine()
- .generateSTORKAttrQueryResponse(attrQueryenRequest, aResponse4, ipAddress,
- destination, isNotHashing);
-
+
+ final STORKAttrQueryResponse aStorkResponse4 = getEngine().generateSTORKAttrQueryResponse(attrQueryenRequest, aResponse4, ipAddress, destination, isNotHashing);
+
attrQueryResponse = aStorkResponse4.getTokenSaml();
-
+
multiResponses.add(getEngine2().validateSTORKAttrQueryResponse(attrQueryResponse, ipAddress));
-
- //Generate the multi assertion query response
- final STORKAttrQueryResponse aStorkResponseMulti = getEngine()
- .generateSTORKAttrQueryResponseWithAssertions(attrQueryenRequest, aResponseMulti, multiResponses,
- ipAddress, destination, isNotHashing);
-
+
+ // Generate the multi assertion query response
+ final STORKAttrQueryResponse aStorkResponseMulti = getEngine().generateSTORKAttrQueryResponseWithAssertions(attrQueryenRequest, aResponseMulti, multiResponses, ipAddress, destination,
+ isNotHashing);
+
attrQueryResponse = aStorkResponseMulti.getTokenSaml();
-
- //Add to the list of query responses
+
+ // Add to the list of query responses
resList.add(getEngine().validateSTORKAttrQueryResponse(attrQueryResponse, ipAddress));
-
- //Generate the stork response with all the query responses
- final STORKAuthnResponse storkResponse = getEngine()
- .generateSTORKAuthnResponseAfterQuery(authenRequest, response, ipAddress,
- isNotHashing, resList);
+
+ // Generate the stork response with all the query responses
+ final STORKAuthnResponse storkResponse = getEngine().generateSTORKAuthnResponseAfterQuery(authenRequest, response, ipAddress, isNotHashing, resList);
authResponse = storkResponse.getTokenSaml();
-
- //Validate it, write out and print out the personal attribute lists
+
+ // Validate it, write out and print out the personal attribute lists
STORKAuthnResponse finalResponse = getEngine().validateSTORKAuthnResponseWithQuery(authResponse, ipAddress);
System.out.println("The original pal: " + finalResponse.getPersonalAttributeList().toString());
- for (int i = 0; i < finalResponse.getPersonalAttributeLists().size(); i++)
- {
- System.out.println("Pal "+ Integer.toString(i) + ": " + finalResponse.getPersonalAttributeLists().get(i).toString());
+ for (int i = 0; i < finalResponse.getPersonalAttributeLists().size(); i++) {
+ System.out.println("Pal " + Integer.toString(i) + ": " + finalResponse.getPersonalAttributeLists().get(i).toString());
}
System.out.println("The total pal: " + finalResponse.getTotalPersonalAttributeList().toString());
-
+
FileOutputStream output = null;
-
+
try {
output = new FileOutputStream(new File(System.getProperty("user.dir") + "/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthAttrQMultiAssertResponse.xml"));
} catch (FileNotFoundException e) {
@@ -529,5 +506,5 @@ public class StorkNewResponseTest {
e.printStackTrace();
}
assertNotNull(finalResponse);
- }
+ }
}
diff --git a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkResponseTest.java b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkResponseTest.java
index fe6fcd4f6..d09ed7648 100644
--- a/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkResponseTest.java
+++ b/id/server/stork2-saml-engine/src/test/java/eu/stork/peps/test/simple/StorkResponseTest.java
@@ -49,839 +49,783 @@ import eu.stork.peps.exceptions.STORKSAMLEngineException;
* The Class AuthRequestTest.
*/
public class StorkResponseTest {
-
- /** The engine. */
- private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
-
- /**
- * Gets the engine.
- *
- * @return the engine
- */
- public static STORKSAMLEngine getEngine() {
- return engine;
- }
-
- /**
- * Sets the engine.
- *
- * @param newEngine the new engine
- */
- public static void setEngine(final STORKSAMLEngine newEngine) {
- StorkResponseTest.engine = newEngine;
- }
-
- /** The destination. */
- private static String destination;
-
- /** The service provider name. */
- private static String spName;
-
- /** The service provider sector. */
- private static String spSector;
-
- /** The service provider institution. */
- private static String spInstitution;
-
- /** The service provider application. */
- private static String spApplication;
-
- /** The service provider country. */
- private static String spCountry;
-
- /** The service provider id. */
- private static String spId;
-
- /** The quality authentication assurance level. */
- private static final int QAAL = 3;
-
- /** The state. */
- private static String state = "ES";
-
- /** The town. */
- private static String town = "Madrid";
-
- /** The municipality code. */
- private static String municipalityCode = "MA001";
-
- /** The postal code. */
- private static String postalCode = "28038";
-
- /** The street name. */
- private static String streetName = "Marchamalo";
-
- /** The street number. */
- private static String streetNumber = "3";
-
- /** The apartament number. */
- private static String apartamentNumber = "5º E";
-
- /** The List of Personal Attributes. */
- private static IPersonalAttributeList pal;
-
- /** The assertion consumer URL. */
- private static String assertConsumerUrl;
-
- /** The authentication request. */
- private static byte[] authRequest;
-
- /** The authentication response. */
- private static byte[] authResponse;
-
- /** The authentication request. */
- private static STORKAuthnRequest authenRequest;
-
- /** The authentication response. */
- private static STORKAuthnResponse authnResponse;
-
- /** The Constant LOG. */
- private static final Logger LOG = LoggerFactory
- .getLogger(StorkResponseTest.class.getName());
-
- /**
- * Instantiates a new stork response test.
- */
- public StorkResponseTest() {
- super();
- }
-
- /** The IP address. */
- private static String ipAddress;
-
- /** The is hashing. */
- private final boolean isHashing = Boolean.TRUE;
-
- /** The is not hashing. */
- private final boolean isNotHashing = Boolean.FALSE;
-
- /** The ERROR text. */
- private static final String ERROR_TXT = "generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!";
-
-
- /** Parser manager used to parse XML. */
- private static BasicParserPool parser;
-
- static {
- parser = new BasicParserPool();
- parser.setNamespaceAware(true);
-
- pal = new PersonalAttributeList();
-
- PersonalAttribute isAgeOver = new PersonalAttribute();
- isAgeOver.setName("isAgeOver");
- isAgeOver.setIsRequired(false);
- ArrayList<String> ages = new ArrayList<String>();
- ages.add("16");
- ages.add("18");
- isAgeOver.setValue(ages);
- pal.add(isAgeOver);
-
- PersonalAttribute dateOfBirth = new PersonalAttribute();
- dateOfBirth.setName("dateOfBirth");
- dateOfBirth.setIsRequired(false);
- pal.add(dateOfBirth);
-
- PersonalAttribute eIDNumber = new PersonalAttribute();
- eIDNumber.setName("eIdentifier");
- eIDNumber.setIsRequired(true);
- pal.add(eIDNumber);
-
- final PersonalAttribute givenName = new PersonalAttribute();
- givenName.setName("givenName");
- givenName.setIsRequired(true);
- pal.add(givenName);
-
- PersonalAttribute canRessAddress = new PersonalAttribute();
- canRessAddress.setName("canonicalResidenceAddress");
- canRessAddress.setIsRequired(true);
- pal.add(canRessAddress);
-
- PersonalAttribute newAttribute = new PersonalAttribute();
- newAttribute.setName("newAttribute2");
- newAttribute.setIsRequired(true);
- pal.add(newAttribute);
-
- destination = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
- assertConsumerUrl = "http://S-PEPS.gov.xx/PEPS/ColleagueResponse";
- spName = "University Oxford";
-
- spName = "University of Oxford";
- spSector = "EDU001";
- spInstitution = "OXF001";
- spApplication = "APP001";
- spCountry = "EN";
-
- spId = "EDU001-APP001-APP001";
-
- final STORKAuthnRequest request = new STORKAuthnRequest();
- request.setDestination(destination);
- request.setProviderName(spName);
- request.setQaa(QAAL);
- request.setPersonalAttributeList(pal);
- request.setAssertionConsumerServiceURL(assertConsumerUrl);
-
- // news parameters
- request.setSpSector(spSector);
- request.setSpInstitution(spInstitution);
- request.setSpApplication(spApplication);
- request.setSpCountry(spCountry);
- request.setSPID(spId);
- request.setCitizenCountryCode("ES");
-
- try {
- authRequest = getEngine().generateSTORKAuthnRequest(request)
- .getTokenSaml();
-
- authenRequest = getEngine().validateSTORKAuthnRequest(authRequest);
-
- } catch (STORKSAMLEngineException e) {
- fail("Error create STORKAuthnRequest");
+
+ /** The engine. */
+ private static STORKSAMLEngine engine = STORKSAMLEngine.getInstance("CONF1");
+
+ /**
+ * Gets the engine.
+ *
+ * @return the engine
+ */
+ public static STORKSAMLEngine getEngine() {
+ return engine;
+ }
+
+ /**
+ * Sets the engine.
+ *
+ * @param newEngine
+ * the new engine
+ */
+ public static void setEngine(final STORKSAMLEngine newEngine) {
+ StorkResponseTest.engine = newEngine;
+ }
+
+ /** The destination. */
+ private static String destination;
+
+ /** The service provider name. */
+ private static String spName;
+
+ /** The service provider sector. */
+ private static String spSector;
+
+ /** The service provider institution. */
+ private static String spInstitution;
+
+ /** The service provider application. */
+ private static String spApplication;
+
+ /** The service provider country. */
+ private static String spCountry;
+
+ /** The service provider id. */
+ private static String spId;
+
+ /** The quality authentication assurance level. */
+ private static final int QAAL = 3;
+
+ /** The state. */
+ private static String state = "ES";
+
+ /** The town. */
+ private static String town = "Madrid";
+
+ /** The municipality code. */
+ private static String municipalityCode = "MA001";
+
+ /** The postal code. */
+ private static String postalCode = "28038";
+
+ /** The street name. */
+ private static String streetName = "Marchamalo";
+
+ /** The street number. */
+ private static String streetNumber = "3";
+
+ /** The apartament number. */
+ private static String apartamentNumber = "5º E";
+
+ /** The List of Personal Attributes. */
+ private static IPersonalAttributeList pal;
+
+ /** The assertion consumer URL. */
+ private static String assertConsumerUrl;
+
+ /** The authentication request. */
+ private static byte[] authRequest;
+
+ /** The authentication response. */
+ private static byte[] authResponse;
+
+ /** The authentication request. */
+ private static STORKAuthnRequest authenRequest;
+
+ /** The authentication response. */
+ private static STORKAuthnResponse authnResponse;
+
+ /** The Constant LOG. */
+ private static final Logger LOG = LoggerFactory.getLogger(StorkResponseTest.class.getName());
+
+ /**
+ * Instantiates a new stork response test.
+ */
+ public StorkResponseTest() {
+ super();
+ }
+
+ /** The IP address. */
+ private static String ipAddress;
+
+ /** The is hashing. */
+ private final boolean isHashing = Boolean.TRUE;
+
+ /** The is not hashing. */
+ private final boolean isNotHashing = Boolean.FALSE;
+
+ /** The ERROR text. */
+ private static final String ERROR_TXT = "generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!";
+
+ /** Parser manager used to parse XML. */
+ private static BasicParserPool parser;
+
+ static {
+ parser = new BasicParserPool();
+ parser.setNamespaceAware(true);
+
+ pal = new PersonalAttributeList();
+
+ PersonalAttribute isAgeOver = new PersonalAttribute();
+ isAgeOver.setName("isAgeOver");
+ isAgeOver.setIsRequired(false);
+ ArrayList<String> ages = new ArrayList<String>();
+ ages.add("16");
+ ages.add("18");
+ isAgeOver.setValue(ages);
+ pal.add(isAgeOver);
+
+ PersonalAttribute dateOfBirth = new PersonalAttribute();
+ dateOfBirth.setName("dateOfBirth");
+ dateOfBirth.setIsRequired(false);
+ pal.add(dateOfBirth);
+
+ PersonalAttribute eIDNumber = new PersonalAttribute();
+ eIDNumber.setName("eIdentifier");
+ eIDNumber.setIsRequired(true);
+ pal.add(eIDNumber);
+
+ final PersonalAttribute givenName = new PersonalAttribute();
+ givenName.setName("givenName");
+ givenName.setIsRequired(true);
+ pal.add(givenName);
+
+ PersonalAttribute canRessAddress = new PersonalAttribute();
+ canRessAddress.setName("canonicalResidenceAddress");
+ canRessAddress.setIsRequired(true);
+ pal.add(canRessAddress);
+
+ PersonalAttribute newAttribute = new PersonalAttribute();
+ newAttribute.setName("newAttribute2");
+ newAttribute.setIsRequired(true);
+ pal.add(newAttribute);
+
+ destination = "http://C-PEPS.gov.xx/PEPS/ColleagueRequest";
+ assertConsumerUrl = "http://S-PEPS.gov.xx/PEPS/ColleagueResponse";
+ spName = "University Oxford";
+
+ spName = "University of Oxford";
+ spSector = "EDU001";
+ spInstitution = "OXF001";
+ spApplication = "APP001";
+ spCountry = "EN";
+
+ spId = "EDU001-APP001-APP001";
+
+ final STORKAuthnRequest request = new STORKAuthnRequest();
+ request.setDestination(destination);
+ request.setProviderName(spName);
+ request.setQaa(QAAL);
+ request.setPersonalAttributeList(pal);
+ request.setAssertionConsumerServiceURL(assertConsumerUrl);
+
+ // news parameters
+ request.setSpSector(spSector);
+ request.setSpInstitution(spInstitution);
+ request.setSpApplication(spApplication);
+ request.setSpCountry(spCountry);
+ request.setSPID(spId);
+ request.setCitizenCountryCode("ES");
+
+ try {
+ authRequest = getEngine().generateSTORKAuthnRequest(request).getTokenSaml();
+
+ authenRequest = getEngine().validateSTORKAuthnRequest(authRequest);
+
+ } catch (STORKSAMLEngineException e) {
+ fail("Error create STORKAuthnRequest");
+ }
+
+ ipAddress = "111.222.333.444";
+
+ pal = new PersonalAttributeList();
+
+ isAgeOver = new PersonalAttribute();
+ isAgeOver.setName("isAgeOver");
+ isAgeOver.setIsRequired(true);
+ ages = new ArrayList<String>();
+
+ ages.add("16");
+ ages.add("18");
+
+ isAgeOver.setValue(ages);
+ isAgeOver.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ pal.add(isAgeOver);
+
+ dateOfBirth = new PersonalAttribute();
+ dateOfBirth.setName("dateOfBirth");
+ dateOfBirth.setIsRequired(false);
+ final ArrayList<String> date = new ArrayList<String>();
+ date.add("16/12/2008");
+ dateOfBirth.setValue(date);
+ dateOfBirth.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ pal.add(dateOfBirth);
+
+ eIDNumber = new PersonalAttribute();
+ eIDNumber.setName("eIdentifier");
+ eIDNumber.setIsRequired(true);
+ final ArrayList<String> idNumber = new ArrayList<String>();
+ idNumber.add("123456789PÑ");
+ eIDNumber.setValue(idNumber);
+ eIDNumber.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ pal.add(eIDNumber);
+
+ canRessAddress = new PersonalAttribute();
+ canRessAddress.setName("canonicalResidenceAddress");
+ canRessAddress.setIsRequired(true);
+ canRessAddress.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ final HashMap<String, String> address = new HashMap<String, String>();
+
+ address.put("state", state);
+ address.put("municipalityCode", municipalityCode);
+ address.put("town", town);
+ address.put("postalCode", postalCode);
+ address.put("streetName", streetName);
+ address.put("streetNumber", streetNumber);
+ address.put("apartamentNumber", apartamentNumber);
+
+ canRessAddress.setComplexValue(address);
+ pal.add(canRessAddress);
+
+ newAttribute = new PersonalAttribute();
+ newAttribute.setName("newAttribute2");
+ newAttribute.setIsRequired(true);
+ newAttribute.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ final HashMap<String, String> values = new HashMap<String, String>();
+
+ values.put("value1", "value1");
+ values.put("value2", "value2");
+ values.put("value3", "value3");
+ values.put("value4", "value4");
+
+ newAttribute.setComplexValue(values);
+ pal.add(newAttribute);
+
+ }
+
+ /**
+ * Test generate authentication request without errors.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateAuthnResponse() throws STORKSAMLEngineException {
+
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ response.setPersonalAttributeList(pal);
+
+ final STORKAuthnResponse storkResponse = getEngine().generateSTORKAuthnResponse(authenRequest, response, ipAddress, isNotHashing);
+
+ authResponse = storkResponse.getTokenSaml();
+
+ LOG.info("RESPONSE: " + SSETestUtils.encodeSAMLToken(authResponse));
+
}
- ipAddress = "111.222.333.444";
-
- pal = new PersonalAttributeList();
-
- isAgeOver = new PersonalAttribute();
- isAgeOver.setName("isAgeOver");
- isAgeOver.setIsRequired(true);
- ages = new ArrayList<String>();
-
- ages.add("16");
- ages.add("18");
-
- isAgeOver.setValue(ages);
- isAgeOver.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- pal.add(isAgeOver);
-
- dateOfBirth = new PersonalAttribute();
- dateOfBirth.setName("dateOfBirth");
- dateOfBirth.setIsRequired(false);
- final ArrayList<String> date = new ArrayList<String>();
- date.add("16/12/2008");
- dateOfBirth.setValue(date);
- dateOfBirth.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- pal.add(dateOfBirth);
-
- eIDNumber = new PersonalAttribute();
- eIDNumber.setName("eIdentifier");
- eIDNumber.setIsRequired(true);
- final ArrayList<String> idNumber = new ArrayList<String>();
- idNumber.add("123456789PÑ");
- eIDNumber.setValue(idNumber);
- eIDNumber.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- pal.add(eIDNumber);
-
- canRessAddress = new PersonalAttribute();
- canRessAddress.setName("canonicalResidenceAddress");
- canRessAddress.setIsRequired(true);
- canRessAddress.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- final HashMap<String, String> address = new HashMap<String, String>();
-
- address.put("state", state);
- address.put("municipalityCode", municipalityCode);
- address.put("town", town);
- address.put("postalCode", postalCode);
- address.put("streetName", streetName);
- address.put("streetNumber", streetNumber);
- address.put("apartamentNumber", apartamentNumber);
-
- canRessAddress.setComplexValue(address);
- pal.add(canRessAddress);
-
- newAttribute = new PersonalAttribute();
- newAttribute.setName("newAttribute2");
- newAttribute.setIsRequired(true);
- newAttribute.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- final HashMap<String, String> values = new HashMap<String, String>();
-
- values.put("value1", "value1");
- values.put("value2", "value2");
- values.put("value3", "value3");
- values.put("value4", "value4");
-
- newAttribute.setComplexValue(values);
- pal.add(newAttribute);
-
- }
-
- /**
- * Test generate authentication request without errors.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateAuthnResponse() throws STORKSAMLEngineException {
-
- final STORKAuthnResponse response = new STORKAuthnResponse();
- response.setPersonalAttributeList(pal);
-
- final STORKAuthnResponse storkResponse = getEngine()
- .generateSTORKAuthnResponse(authenRequest, response, ipAddress,
- isNotHashing);
-
- authResponse = storkResponse.getTokenSaml();
-
- LOG.info("RESPONSE: " + SSETestUtils.encodeSAMLToken(authResponse));
-
-
- }
-
- /**
- * Test validation id parameter mandatory.
- */
- @Test
- public final void testResponseMandatoryId() {
- final String identifier = authenRequest.getSamlId();
- authenRequest.setSamlId(null);
-
- final STORKAuthnResponse response = new STORKAuthnResponse();
- response.setPersonalAttributeList(pal);
-
- try {
- getEngine().generateSTORKAuthnResponse(authenRequest, response,
- ipAddress, isHashing);
- fail(ERROR_TXT);
- } catch (STORKSAMLEngineException e) {
- authenRequest.setSamlId(identifier);
- LOG.error("Error");
+ /**
+ * Test validation id parameter mandatory.
+ */
+ @Test
+ public final void testResponseMandatoryId() {
+ final String identifier = authenRequest.getSamlId();
+ authenRequest.setSamlId(null);
+
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ response.setPersonalAttributeList(pal);
+
+ try {
+ getEngine().generateSTORKAuthnResponse(authenRequest, response, ipAddress, isHashing);
+ fail(ERROR_TXT);
+ } catch (STORKSAMLEngineException e) {
+ authenRequest.setSamlId(identifier);
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication response in response to err1.
- */
- @Test
- public final void testResponseMandatoryIssuer() {
-
- final String issuer = authenRequest.getIssuer();
- authenRequest.setIssuer(null);
-
- final STORKAuthnResponse response = new STORKAuthnResponse();
- response.setPersonalAttributeList(pal);
-
- try {
- getEngine().generateSTORKAuthnResponse(authenRequest, response,
- ipAddress, isHashing);
- fail(ERROR_TXT);
- } catch (STORKSAMLEngineException e) {
- authenRequest.setIssuer(issuer);
- LOG.error("Error");
+
+ /**
+ * Test generate authentication response in response to err1.
+ */
+ @Test
+ public final void testResponseMandatoryIssuer() {
+
+ final String issuer = authenRequest.getIssuer();
+ authenRequest.setIssuer(null);
+
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ response.setPersonalAttributeList(pal);
+
+ try {
+ getEngine().generateSTORKAuthnResponse(authenRequest, response, ipAddress, isHashing);
+ fail(ERROR_TXT);
+ } catch (STORKSAMLEngineException e) {
+ authenRequest.setIssuer(issuer);
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication response assertion consumer null.
- */
- @Test
- public final void testResponseMandatoryAssertionConsumerServiceURL() {
- final String asserConsumerUrl = authenRequest
- .getAssertionConsumerServiceURL();
- authenRequest.setAssertionConsumerServiceURL(null);
-
- final STORKAuthnResponse response = new STORKAuthnResponse();
- response.setPersonalAttributeList(pal);
- try {
- getEngine().generateSTORKAuthnResponse(authenRequest, response,
- ipAddress, isHashing);
- fail("generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- authenRequest.setAssertionConsumerServiceURL(asserConsumerUrl);
- LOG.error("Error");
+
+ /**
+ * Test generate authentication response assertion consumer null.
+ */
+ @Test
+ public final void testResponseMandatoryAssertionConsumerServiceURL() {
+ final String asserConsumerUrl = authenRequest.getAssertionConsumerServiceURL();
+ authenRequest.setAssertionConsumerServiceURL(null);
+
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ response.setPersonalAttributeList(pal);
+ try {
+ getEngine().generateSTORKAuthnResponse(authenRequest, response, ipAddress, isHashing);
+ fail("generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ authenRequest.setAssertionConsumerServiceURL(asserConsumerUrl);
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication response IP address null.
- */
- @Test
- public final void testResponseValidationIP() {
- final STORKAuthnResponse response = new STORKAuthnResponse();
- response.setPersonalAttributeList(pal);
-
- try {
- getEngine().generateSTORKAuthnResponse(authenRequest, response, null,
- isHashing);
- fail("generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authentication response IP address null.
+ */
+ @Test
+ public final void testResponseValidationIP() {
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ response.setPersonalAttributeList(pal);
+
+ try {
+ getEngine().generateSTORKAuthnResponse(authenRequest, response, null, isHashing);
+ fail("generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
+ }
+
+ /**
+ * Test generate authentication response with personal attribute list null.
+ */
+ @Test
+ public final void testResponseMandatoryPersonalAttributeList() {
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ response.setPersonalAttributeList(null);
+
+ try {
+ getEngine().generateSTORKAuthnResponse(authenRequest, response, ipAddress, isHashing);
+ fail("generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
+ }
+
+ /**
+ * Test validate authentication response token null.
+ */
+ @Test
+ public final void testResponseInvalidParametersToken() {
+ try {
+ getEngine().validateSTORKAuthnResponse(null, ipAddress);
+ fail(ERROR_TXT);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
+ }
+
+ /**
+ * Test validate authentication response IP null.
+ */
+ @Test
+ public final void testResponseInvalidParametersIP() {
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ response.setPersonalAttributeList(pal);
+ try {
+ authResponse = getEngine().generateSTORKAuthnResponse(authenRequest, response, ipAddress, isNotHashing).getTokenSaml();
+ // In Conf1 ipValidate is false
+ getEngine().validateSTORKAuthnResponse(authResponse, null);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authentication response with personal attribute list null.
- */
- @Test
- public final void testResponseMandatoryPersonalAttributeList() {
- final STORKAuthnResponse response = new STORKAuthnResponse();
- response.setPersonalAttributeList(null);
-
-
- try {
- getEngine().generateSTORKAuthnResponse(authenRequest, response,
- ipAddress, isHashing);
- fail("generateAuthnResponse(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate authentication response parameter name wrong.
+ */
+ @Test
+ public final void testResponseInvalidParametersAttr() {
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ final IPersonalAttributeList wrongList = new PersonalAttributeList();
+
+ final PersonalAttribute worngAttr = new PersonalAttribute();
+ worngAttr.setName("AttrWrong");
+ wrongList.add(worngAttr);
+
+ response.setPersonalAttributeList(wrongList);
+ try {
+ authResponse = getEngine().generateSTORKAuthnResponse(authenRequest, response, ipAddress, isNotHashing).getTokenSaml();
+ // In Conf1 ipValidate is false
+ getEngine().validateSTORKAuthnResponse(authResponse, null);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
+ }
+
+ /**
+ * Test validate authentication response set null value into attribute.
+ */
+ @Test
+ public final void testResponseInvalidParametersAttrSimpleValue() {
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ final IPersonalAttributeList wrongList = new PersonalAttributeList();
+
+ final PersonalAttribute worngAttr = new PersonalAttribute();
+ worngAttr.setName("isAgeOver");
+ worngAttr.setValue(null);
+ wrongList.add(worngAttr);
+
+ response.setPersonalAttributeList(wrongList);
+ try {
+ authResponse = getEngine().generateSTORKAuthnResponse(authenRequest, response, ipAddress, isNotHashing).getTokenSaml();
+ // In Conf1 ipValidate is false
+ getEngine().validateSTORKAuthnResponse(authResponse, null);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test validate authentication response token null.
- */
- @Test
- public final void testResponseInvalidParametersToken() {
- try {
- getEngine().validateSTORKAuthnResponse(null, ipAddress);
- fail(ERROR_TXT);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate authentication response set null value into attribute.
+ */
+ @Test
+ public final void testResponseInvalidParametersAttrNoValue() {
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ final IPersonalAttributeList wrongList = new PersonalAttributeList();
+
+ final PersonalAttribute worngAttr = new PersonalAttribute();
+ worngAttr.setName("isAgeOver");
+ wrongList.add(worngAttr);
+
+ response.setPersonalAttributeList(wrongList);
+ try {
+ authResponse = getEngine().generateSTORKAuthnResponse(authenRequest, response, ipAddress, isNotHashing).getTokenSaml();
+ // In Conf1 ipValidate is false
+ getEngine().validateSTORKAuthnResponse(authResponse, null);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test validate authentication response IP null.
- */
- @Test
- public final void testResponseInvalidParametersIP() {
- final STORKAuthnResponse response = new STORKAuthnResponse();
- response.setPersonalAttributeList(pal);
- try {
- authResponse = getEngine().generateSTORKAuthnResponse(authenRequest,
- response, ipAddress, isNotHashing).getTokenSaml();
- // In Conf1 ipValidate is false
- getEngine().validateSTORKAuthnResponse(authResponse, null);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate authentication response set null value into attribute.
+ */
+ @Test
+ public final void testResponseInvalidParametersAttrNoName() {
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ final IPersonalAttributeList wrongList = new PersonalAttributeList();
+
+ final PersonalAttribute worngAttr = new PersonalAttribute();
+ wrongList.add(worngAttr);
+
+ response.setPersonalAttributeList(wrongList);
+ try {
+ authResponse = getEngine().generateSTORKAuthnResponse(authenRequest, response, ipAddress, isNotHashing).getTokenSaml();
+ // In Conf1 ipValidate is false
+ getEngine().validateSTORKAuthnResponse(authResponse, null);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
-
- /**
- * Test validate authentication response parameter name wrong.
- */
- @Test
- public final void testResponseInvalidParametersAttr() {
- final STORKAuthnResponse response = new STORKAuthnResponse();
- final IPersonalAttributeList wrongList = new PersonalAttributeList();
-
- final PersonalAttribute worngAttr = new PersonalAttribute();
- worngAttr.setName("AttrWrong");
- wrongList.add(worngAttr);
-
-
- response.setPersonalAttributeList(wrongList);
- try {
- authResponse = getEngine().generateSTORKAuthnResponse(authenRequest,
- response, ipAddress, isNotHashing).getTokenSaml();
- // In Conf1 ipValidate is false
- getEngine().validateSTORKAuthnResponse(authResponse, null);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate authentication response set null complex value into attribute.
+ */
+ @Test
+ public final void testResponseInvalidParametersAttrComplexValue() {
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ final IPersonalAttributeList wrongList = new PersonalAttributeList();
+
+ final PersonalAttribute worngAttr = new PersonalAttribute();
+ worngAttr.setName("isAgeOver");
+ worngAttr.setComplexValue(null);
+ wrongList.add(worngAttr);
+
+ response.setPersonalAttributeList(wrongList);
+ try {
+ authResponse = getEngine().generateSTORKAuthnResponse(authenRequest, response, ipAddress, isNotHashing).getTokenSaml();
+ // In Conf1 ipValidate is false
+ getEngine().validateSTORKAuthnResponse(authResponse, null);
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
-
- /**
- * Test validate authentication response set null value into attribute.
- */
- @Test
- public final void testResponseInvalidParametersAttrSimpleValue() {
- final STORKAuthnResponse response = new STORKAuthnResponse();
- final IPersonalAttributeList wrongList = new PersonalAttributeList();
-
- final PersonalAttribute worngAttr = new PersonalAttribute();
- worngAttr.setName("isAgeOver");
- worngAttr.setValue(null);
- wrongList.add(worngAttr);
-
- response.setPersonalAttributeList(wrongList);
- try {
- authResponse = getEngine().generateSTORKAuthnResponse(authenRequest,
- response, ipAddress, isNotHashing).getTokenSaml();
- // In Conf1 ipValidate is false
- getEngine().validateSTORKAuthnResponse(authResponse, null);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate authentication response IP distinct and disabled validation IP.
+ */
+ @Test
+ public final void testResponseInvalidParametersIPDistinct() {
+ try {
+ // ipAddress origin "111.222.333.444"
+ // ipAddrValidation = false
+ // Subject Confirmation Bearer.
+
+ getEngine().validateSTORKAuthnResponse(authResponse, "127.0.0.1");
+ fail("validateAuthenticationResponse(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
-
- /**
- * Test validate authentication response set null value into attribute.
- */
- @Test
- public final void testResponseInvalidParametersAttrNoValue() {
- final STORKAuthnResponse response = new STORKAuthnResponse();
- final IPersonalAttributeList wrongList = new PersonalAttributeList();
-
- final PersonalAttribute worngAttr = new PersonalAttribute();
- worngAttr.setName("isAgeOver");
- wrongList.add(worngAttr);
-
- response.setPersonalAttributeList(wrongList);
- try {
- authResponse = getEngine().generateSTORKAuthnResponse(authenRequest,
- response, ipAddress, isNotHashing).getTokenSaml();
- // In Conf1 ipValidate is false
- getEngine().validateSTORKAuthnResponse(authResponse, null);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test response invalid parameters invalid token.
+ */
+ @Test
+ public final void testResponseInvalidParametersTokenMsg() {
+ try {
+ // ipAddress origin "111.222.333.444"
+ // Subject Confirmation Bearer.
+ getEngine().validateSTORKAuthnResponse("errorMessage".getBytes(), ipAddress);
+ fail("validateAuthenticationResponse(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
-
- /**
- * Test validate authentication response set null value into attribute.
- */
- @Test
- public final void testResponseInvalidParametersAttrNoName() {
- final STORKAuthnResponse response = new STORKAuthnResponse();
- final IPersonalAttributeList wrongList = new PersonalAttributeList();
-
- final PersonalAttribute worngAttr = new PersonalAttribute();
- wrongList.add(worngAttr);
-
- response.setPersonalAttributeList(wrongList);
- try {
- authResponse = getEngine().generateSTORKAuthnResponse(authenRequest,
- response, ipAddress, isNotHashing).getTokenSaml();
- // In Conf1 ipValidate is false
- getEngine().validateSTORKAuthnResponse(authResponse, null);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate authentication response is fail.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAuthenticationResponseIsFail() throws STORKSAMLEngineException {
+ if (authResponse == null)
+ testGenerateAuthnResponse();
+
+ authnResponse = getEngine().validateSTORKAuthnResponse(authResponse, ipAddress);
+
+ assertFalse("Generate incorrect response: ", authnResponse.isFail());
}
- }
-
-
- /**
- * Test validate authentication response set null complex value into attribute.
- */
- @Test
- public final void testResponseInvalidParametersAttrComplexValue() {
- final STORKAuthnResponse response = new STORKAuthnResponse();
- final IPersonalAttributeList wrongList = new PersonalAttributeList();
-
- final PersonalAttribute worngAttr = new PersonalAttribute();
- worngAttr.setName("isAgeOver");
- worngAttr.setComplexValue(null);
- wrongList.add(worngAttr);
-
- response.setPersonalAttributeList(wrongList);
- try {
- authResponse = getEngine().generateSTORKAuthnResponse(authenRequest,
- response, ipAddress, isNotHashing).getTokenSaml();
- // In Conf1 ipValidate is false
- getEngine().validateSTORKAuthnResponse(authResponse, null);
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate authentication response destination.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAuthenticationResponseDestination() throws STORKSAMLEngineException {
+ authnResponse = getEngine().validateSTORKAuthnResponse(authResponse, ipAddress);
+
+ assertEquals("Destination incorrect: ", authnResponse.getInResponseTo(), authenRequest.getSamlId());
}
- }
-
-
-
-
- /**
- * Test validate authentication response IP distinct and disabled validation
- * IP.
- */
- @Test
- public final void testResponseInvalidParametersIPDistinct() {
- try {
- // ipAddress origin "111.222.333.444"
- // ipAddrValidation = false
- // Subject Confirmation Bearer.
-
- getEngine().validateSTORKAuthnResponse(authResponse, "127.0.0.1");
- fail("validateAuthenticationResponse(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate authentication response values.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ public final void testValidateAuthenticationResponseValuesComplex() throws STORKSAMLEngineException {
+ authnResponse = getEngine().validateSTORKAuthnResponse(authResponse, ipAddress);
+
+ assertEquals("Country incorrect:", authnResponse.getCountry(), "EN");
+
+ final Iterator<PersonalAttribute> iterator = authnResponse.getPersonalAttributeList().iterator();
+
+ while (iterator.hasNext()) {
+ final PersonalAttribute attribute = iterator.next();
+ if (attribute.getName().equalsIgnoreCase("canonicalResidenceAddress")) {
+ assertEquals("State incorrect: ", state, attribute.getComplexValue().get("state"));
+ assertEquals("Municipality Code incorrect: ", municipalityCode, attribute.getComplexValue().get("municipalityCode"));
+ assertEquals("Town incorrect: ", town, attribute.getComplexValue().get("town"));
+ assertEquals("Postal code incorrect: ", postalCode, attribute.getComplexValue().get("postalCode"));
+ assertEquals("Street name incorrect: ", streetName, attribute.getComplexValue().get("streetName"));
+ assertEquals("Street number incorrect: ", streetNumber, attribute.getComplexValue().get("streetNumber"));
+ assertEquals("Apartament number incorrect: ", apartamentNumber, attribute.getComplexValue().get("apartamentNumber"));
+ }
+ }
}
- }
-
- /**
- * Test response invalid parameters invalid token.
- */
- @Test
- public final void testResponseInvalidParametersTokenMsg() {
- try {
- // ipAddress origin "111.222.333.444"
- // Subject Confirmation Bearer.
- getEngine().validateSTORKAuthnResponse("errorMessage".getBytes(),
- ipAddress);
- fail("validateAuthenticationResponse(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test generate authenticate response fail in response to it's null.
+ *
+ * @throws STORKSAMLEngineException
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ // ( expected=STORKSAMLEngineException.class)
+ public final void testGenerateAuthnResponseFailInResponseToNull() throws STORKSAMLEngineException {
+ final String identifier = authenRequest.getSamlId();
+ authenRequest.setSamlId(null);
+
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ response.setStatusCode(STORKStatusCode.REQUESTER_URI.toString());
+ response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
+ response.setMessage("");
+
+ try {
+ authResponse = getEngine().generateSTORKAuthnResponseFail(authenRequest, response, ipAddress, isNotHashing).getTokenSaml();
+ fail(ERROR_TXT);
+ } catch (STORKSAMLEngineException e) {
+ authenRequest.setSamlId(identifier);
+ LOG.error("Error");
+ // throw new STORKSAMLEngineException(e);
+ }
}
- }
-
- /**
- * Test validate authentication response is fail.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAuthenticationResponseIsFail()
- throws STORKSAMLEngineException {
- if (authResponse == null)
- testGenerateAuthnResponse();
-
- authnResponse = getEngine().validateSTORKAuthnResponse(authResponse,
- ipAddress);
-
- assertFalse("Generate incorrect response: ", authnResponse.isFail());
- }
-
- /**
- * Test validate authentication response destination.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAuthenticationResponseDestination()
- throws STORKSAMLEngineException {
- authnResponse = getEngine().validateSTORKAuthnResponse(authResponse,
- ipAddress);
-
- assertEquals("Destination incorrect: ",
- authnResponse.getInResponseTo(), authenRequest.getSamlId());
- }
-
- /**
- * Test validate authentication response values.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- public final void testValidateAuthenticationResponseValuesComplex()
- throws STORKSAMLEngineException {
- authnResponse = getEngine().validateSTORKAuthnResponse(authResponse,
- ipAddress);
-
- assertEquals("Country incorrect:", authnResponse.getCountry(), "EN");
-
- final Iterator<PersonalAttribute> iterator = authnResponse
- .getPersonalAttributeList().iterator();
-
- while (iterator.hasNext()) {
- final PersonalAttribute attribute = iterator.next();
- if (attribute.getName().equalsIgnoreCase(
- "canonicalResidenceAddress")) {
- assertEquals("State incorrect: ", state, attribute
- .getComplexValue().get("state"));
- assertEquals("Municipality Code incorrect: ", municipalityCode,
- attribute.getComplexValue().get("municipalityCode"));
- assertEquals("Town incorrect: ", town, attribute
- .getComplexValue().get("town"));
- assertEquals("Postal code incorrect: ", postalCode, attribute
- .getComplexValue().get("postalCode"));
- assertEquals("Street name incorrect: ", streetName, attribute
- .getComplexValue().get("streetName"));
- assertEquals("Street number incorrect: ", streetNumber,
- attribute.getComplexValue().get("streetNumber"));
- assertEquals("Apartament number incorrect: ", apartamentNumber,
- attribute.getComplexValue().get("apartamentNumber"));
- }
+
+ /**
+ * Test generate authenticate response fail assertion consumer URL err1.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateAuthnResponseFailAssertionConsumerUrlNull() throws STORKSAMLEngineException {
+
+ final String assertConsumerUrl = authenRequest.getAssertionConsumerServiceURL();
+ authenRequest.setAssertionConsumerServiceURL(null);
+
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ response.setStatusCode(STORKStatusCode.REQUESTER_URI.toString());
+ response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
+ response.setMessage("");
+
+ try {
+ authResponse = getEngine().generateSTORKAuthnResponseFail(authenRequest, response, ipAddress, isNotHashing).getTokenSaml();
+ fail("generateAuthnResponseFail(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ authenRequest.setAssertionConsumerServiceURL(assertConsumerUrl);
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authenticate response fail in response to it's null.
- * @throws STORKSAMLEngineException
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test //( expected=STORKSAMLEngineException.class)
- public final void testGenerateAuthnResponseFailInResponseToNull() throws STORKSAMLEngineException {
- final String identifier = authenRequest.getSamlId();
- authenRequest.setSamlId(null);
-
- final STORKAuthnResponse response = new STORKAuthnResponse();
- response.setStatusCode(STORKStatusCode.REQUESTER_URI.toString());
- response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
- response.setMessage("");
-
- try {
- authResponse = getEngine().generateSTORKAuthnResponseFail(authenRequest,
- response, ipAddress, isNotHashing).getTokenSaml();
- fail(ERROR_TXT);
- } catch (STORKSAMLEngineException e) {
- authenRequest.setSamlId(identifier);
- LOG.error("Error");
- //throw new STORKSAMLEngineException(e);
+
+ /**
+ * Test generate authentication response fail code error err1.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testGenerateAuthnResponseFailCodeErrorNull() throws STORKSAMLEngineException {
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ response.setStatusCode(null);
+ response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
+ response.setMessage("");
+
+ try {
+ authResponse = getEngine().generateSTORKAuthnResponseFail(authenRequest, response, ipAddress, isNotHashing).getTokenSaml();
+ fail("generateAuthnResponseFail(...) should've thrown an STORKSAMLEngineException!");
+ } catch (STORKSAMLEngineException e) {
+ LOG.error("Error");
+ }
}
- }
-
- /**
- * Test generate authenticate response fail assertion consumer URL err1.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateAuthnResponseFailAssertionConsumerUrlNull()
- throws STORKSAMLEngineException {
-
- final String assertConsumerUrl = authenRequest
- .getAssertionConsumerServiceURL();
- authenRequest.setAssertionConsumerServiceURL(null);
-
- final STORKAuthnResponse response = new STORKAuthnResponse();
- response.setStatusCode(STORKStatusCode.REQUESTER_URI.toString());
- response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
- response.setMessage("");
-
- try {
- authResponse = getEngine().generateSTORKAuthnResponseFail(authenRequest,
- response, ipAddress, isNotHashing).getTokenSaml();
- fail("generateAuthnResponseFail(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- authenRequest.setAssertionConsumerServiceURL(assertConsumerUrl);
- LOG.error("Error");
+
+ /**
+ * Test generate authentication request without errors.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAuthnResponse() throws STORKSAMLEngineException {
+
+ IPersonalAttributeList palist = new PersonalAttributeList();
+
+ PersonalAttribute isAgeOver = new PersonalAttribute();
+ isAgeOver.setName("isAgeOver");
+ isAgeOver.setIsRequired(true);
+ ArrayList<String> ages = new ArrayList<String>();
+ ages.add("16");
+ ages.add("18");
+ isAgeOver.setValue(ages);
+ isAgeOver.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ palist.add(isAgeOver);
+
+ PersonalAttribute dateOfBirth = new PersonalAttribute();
+ dateOfBirth.setName("dateOfBirth");
+ dateOfBirth.setIsRequired(false);
+ final ArrayList<String> date = new ArrayList<String>();
+ date.add("16/12/2008");
+ dateOfBirth.setValue(date);
+ dateOfBirth.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ palist.add(dateOfBirth);
+
+ PersonalAttribute eIDNumber = new PersonalAttribute();
+ eIDNumber.setName("eIdentifier");
+ eIDNumber.setIsRequired(true);
+
+ final ArrayList<String> idNumber = new ArrayList<String>();
+ idNumber.add("123456789PÑ");
+
+ final HashMap<String, String> complex = new HashMap<String, String>();
+ complex.put("one", "two");
+
+ // eIDNumber.setValue(null);
+ // eIDNumber.setValue(idNumber);
+ // eIDNumber.setComplexValue(complex);
+
+ eIDNumber.setStatus(STORKStatusCode.STATUS_NOT_AVAILABLE.toString());
+ palist.add(eIDNumber);
+
+ PersonalAttribute canRessAddress = new PersonalAttribute();
+ canRessAddress.setName("canonicalResidenceAddress");
+ canRessAddress.setIsRequired(true);
+ canRessAddress.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
+ final HashMap<String, String> address = new HashMap<String, String>();
+
+ address.put("state", state);
+ address.put("municipalityCode", municipalityCode);
+ address.put("town", town);
+ address.put("postalCode", postalCode);
+ address.put("streetName", streetName);
+ address.put("streetNumber", streetNumber);
+ address.put("apartamentNumber", apartamentNumber);
+
+ canRessAddress.setComplexValue(address);
+ palist.add(canRessAddress);
+
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+
+ response.setPersonalAttributeList(palist);
+
+ final STORKAuthnResponse storkResponse = getEngine().generateSTORKAuthnResponse(authenRequest, response, ipAddress, isNotHashing);
+
+ authResponse = storkResponse.getTokenSaml();
+ LOG.info("Request id: " + authenRequest.getSamlId());
+
+ LOG.info("RESPONSE: " + SSETestUtils.encodeSAMLToken(authResponse));
+
+ authnResponse = getEngine().validateSTORKAuthnResponse(authResponse, ipAddress);
+
+ LOG.info("RESPONSE ID: " + authnResponse.getSamlId());
+ LOG.info("RESPONSE IN_RESPONSE_TO: " + authnResponse.getInResponseTo());
+ LOG.info("RESPONSE COUNTRY: " + authnResponse.getCountry());
+
}
- }
-
- /**
- * Test generate authentication response fail code error err1.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testGenerateAuthnResponseFailCodeErrorNull()
- throws STORKSAMLEngineException {
- final STORKAuthnResponse response = new STORKAuthnResponse();
- response.setStatusCode(null);
- response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
- response.setMessage("");
-
- try {
- authResponse = getEngine().generateSTORKAuthnResponseFail(authenRequest,
- response, ipAddress, isNotHashing).getTokenSaml();
- fail("generateAuthnResponseFail(...) should've thrown an STORKSAMLEngineException!");
- } catch (STORKSAMLEngineException e) {
- LOG.error("Error");
+
+ /**
+ * Test validate authentication response fail is fail.
+ *
+ * @throws STORKSAMLEngineException
+ * the STORKSAML engine exception
+ */
+ @Test
+ public final void testValidateAuthenticationResponseFailIsFail() throws STORKSAMLEngineException {
+
+ final STORKAuthnResponse response = new STORKAuthnResponse();
+ response.setStatusCode(STORKStatusCode.REQUESTER_URI.toString());
+ response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
+ response.setMessage("message");
+
+ authResponse = getEngine().generateSTORKAuthnResponseFail(authenRequest, response, ipAddress, isNotHashing).getTokenSaml();
+
+ LOG.error("ERROR_FAIL: " + PEPSUtil.encodeSAMLToken(authResponse));
+
+ authnResponse = getEngine().validateSTORKAuthnResponse(authResponse, ipAddress);
+
+ LOG.info("COUNTRY: " + authnResponse.getCountry());
+ assertTrue("Generate incorrect response: ", authnResponse.isFail());
}
- }
-
-
-
-
- /**
- * Test generate authentication request without errors.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAuthnResponse() throws STORKSAMLEngineException {
-
- IPersonalAttributeList palist = new PersonalAttributeList();
-
- PersonalAttribute isAgeOver = new PersonalAttribute();
- isAgeOver.setName("isAgeOver");
- isAgeOver.setIsRequired(true);
- ArrayList<String> ages = new ArrayList<String>();
- ages.add("16");
- ages.add("18");
- isAgeOver.setValue(ages);
- isAgeOver.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- palist.add(isAgeOver);
-
- PersonalAttribute dateOfBirth = new PersonalAttribute();
- dateOfBirth.setName("dateOfBirth");
- dateOfBirth.setIsRequired(false);
- final ArrayList<String> date = new ArrayList<String>();
- date.add("16/12/2008");
- dateOfBirth.setValue(date);
- dateOfBirth.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- palist.add(dateOfBirth);
-
-
- PersonalAttribute eIDNumber = new PersonalAttribute();
- eIDNumber.setName("eIdentifier");
- eIDNumber.setIsRequired(true);
-
- final ArrayList<String> idNumber = new ArrayList<String>();
- idNumber.add("123456789PÑ");
-
- final HashMap<String, String> complex = new HashMap<String, String>();
- complex.put("one", "two");
-
- //eIDNumber.setValue(null);
- //eIDNumber.setValue(idNumber);
- //eIDNumber.setComplexValue(complex);
-
- eIDNumber.setStatus(STORKStatusCode.STATUS_NOT_AVAILABLE.toString());
- palist.add(eIDNumber);
-
- PersonalAttribute canRessAddress = new PersonalAttribute();
- canRessAddress.setName("canonicalResidenceAddress");
- canRessAddress.setIsRequired(true);
- canRessAddress.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString());
- final HashMap<String, String> address = new HashMap<String, String>();
-
- address.put("state", state);
- address.put("municipalityCode", municipalityCode);
- address.put("town", town);
- address.put("postalCode", postalCode);
- address.put("streetName", streetName);
- address.put("streetNumber", streetNumber);
- address.put("apartamentNumber", apartamentNumber);
-
- canRessAddress.setComplexValue(address);
- palist.add(canRessAddress);
-
-
- final STORKAuthnResponse response = new STORKAuthnResponse();
-
- response.setPersonalAttributeList(palist);
-
- final STORKAuthnResponse storkResponse = getEngine()
- .generateSTORKAuthnResponse(authenRequest, response, ipAddress,
- isNotHashing);
-
- authResponse = storkResponse.getTokenSaml();
- LOG.info("Request id: " + authenRequest.getSamlId());
-
- LOG.info("RESPONSE: " + SSETestUtils.encodeSAMLToken(authResponse));
-
-
- authnResponse = getEngine().validateSTORKAuthnResponse(authResponse,
- ipAddress);
-
- LOG.info("RESPONSE ID: " + authnResponse.getSamlId());
- LOG.info("RESPONSE IN_RESPONSE_TO: " + authnResponse.getInResponseTo());
- LOG.info("RESPONSE COUNTRY: " + authnResponse.getCountry());
-
- }
-
-
-
-
-
- /**
- * Test validate authentication response fail is fail.
- *
- * @throws STORKSAMLEngineException the STORKSAML engine exception
- */
- @Test
- public final void testValidateAuthenticationResponseFailIsFail()
- throws STORKSAMLEngineException {
-
- final STORKAuthnResponse response = new STORKAuthnResponse();
- response.setStatusCode(STORKStatusCode.REQUESTER_URI.toString());
- response.setSubStatusCode(STORKSubStatusCode.AUTHN_FAILED_URI.toString());
- response.setMessage("message");
-
- authResponse = getEngine().generateSTORKAuthnResponseFail(authenRequest,
- response, ipAddress, isNotHashing).getTokenSaml();
-
- LOG.error("ERROR_FAIL: " + PEPSUtil.encodeSAMLToken(authResponse));
-
- authnResponse = getEngine().validateSTORKAuthnResponse(authResponse,
- ipAddress);
-
- LOG.info("COUNTRY: " + authnResponse.getCountry());
- assertTrue("Generate incorrect response: ", authnResponse.isFail());
- }
-
+
/**
* Test generate/validate response with signedDoc
*
@@ -889,8 +833,7 @@ public class StorkResponseTest {
* the STORKSAML engine exception
*/
@Test
- public final void testGenerateAuthenResponseWithSignedDoc()
- throws STORKSAMLEngineException {
+ public final void testGenerateAuthenResponseWithSignedDoc() throws STORKSAMLEngineException {
String signedDocResponse = "<dss:SignResponse xmlns:dss=\"urn:oasis:names:tc:dss:1.0:core:schema\" RequestID=\"123456\"> <dss:Result> <dss:ResultMajor>urn:oasis:names:tc:dss:1.0:resultmajor:Success</dss:ResultMajor> </dss:Result> <dss:SignatureObject> <dss:Base64Signature Type=\"urn:ietf:rfc:3275\">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZHM6U2lnbmF0dXJlIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIiBJZD0iU2lnbmF0dXJlLThlYWJkMGE1LTY2MGQtNGFmZC05OTA1LTBhYmM3NTUzZDE5Mi1TaWduYXR1cmUiPjxkczpTaWduZWRJbmZvPjxkczpDYW5vbmljYWxpemF0aW9uTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sLWMxNG4tMjAwMTAzMTUiLz48ZHM6U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI3JzYS1zaGExIi8+PGRzOlJlZmVyZW5jZSBJZD0iUmVmZXJlbmNlLWJhYmE0ZDFhLWExN2UtNDJjNi05N2QyLWJlZWUxMzUwOTUwMyIgVHlwZT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI09iamVjdCIgVVJJPSIjT2JqZWN0LTk4NzMzY2RlLThiY2MtNDhhMC05Yjc3LTBlOTk5N2JkZDA1OCI+PGRzOlRyYW5zZm9ybXM+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNiYXNlNjQiLz48L2RzOlRyYW5zZm9ybXM+PGRzOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNzaGExIi8+PGRzOkRpZ2VzdFZhbHVlPkNrMVZxTmQ0NVFJdnEzQVpkOFhZUUx2RWh0QT08L2RzOkRpZ2VzdFZhbHVlPjwvZHM6UmVmZXJlbmNlPjxkczpSZWZlcmVuY2UgVHlwZT0iaHR0cDovL3VyaS5ldHNpLm9yZy8wMTkwMyNTaWduZWRQcm9wZXJ0aWVzIiBVUkk9IiNTaWduYXR1cmUtOGVhYmQwYTUtNjYwZC00YWZkLTk5MDUtMGFiYzc1NTNkMTkyLVNpZ25lZFByb3BlcnRpZXMiPjxkczpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSIvPjxkczpEaWdlc3RWYWx1ZT5BNVk5MW40cXBMZ3l0VFc3ZnhqWENVZVJ2NTQ9PC9kczpEaWdlc3RWYWx1ZT48L2RzOlJlZmVyZW5jZT48ZHM6UmVmZXJlbmNlIFVSST0iI1NpZ25hdHVyZS04ZWFiZDBhNS02NjBkLTRhZmQtOTkwNS0wYWJjNzU1M2QxOTItS2V5SW5mbyI+PGRzOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNzaGExIi8+PGRzOkRpZ2VzdFZhbHVlPlZQWDRuS0Z5UzZyRitGNmNSUjBQck5aZHc2Zz08L2RzOkRpZ2VzdFZhbHVlPjwvZHM6UmVmZXJlbmNlPjwvZHM6U2lnbmVkSW5mbz48ZHM6U2lnbmF0dXJlVmFsdWUgSWQ9IlNpZ25hdHVyZS04ZWFiZDBhNS02NjBkLTRhZmQtOTkwNS0wYWJjNzU1M2QxOTItU2lnbmF0dXJlVmFsdWUiPkxiS04vL0M3WGt5eFR0WVRpQ1VScjhuWnp4QW1zdGNNZDBDZ0VBQ3JLMWR5Z1JIcUdjSzR4dHMrV0NVOFB5RXFXclJJVFl6SXV3LzcNClY0Wno5VFQ2MHA0S1RNZXd1UUw2NHNrRVN4MllnMkVkaWtTTyt0S3hXa2hyYVVzbVZiR2JQbW1jbUR2OTd0SER3ODg3NDdlRnE1RjUNCnYrYVZTeUF6MDNpVUttdVNlSDg9PC9kczpTaWduYXR1cmVWYWx1ZT48ZHM6S2V5SW5mbyBJZD0iU2lnbmF0dXJlLThlYWJkMGE1LTY2MGQtNGFmZC05OTA1LTBhYmM3NTUzZDE5Mi1LZXlJbmZvIj48ZHM6S2V5VmFsdWU+PGRzOlJTQUtleVZhbHVlPjxkczpNb2R1bHVzPnd1Y21qOXRJV3J2d2JTVFVEZndLbCtKdERNTUVSMGNMZDZEa0JTcjc5MHQrckdOakVTcVlqUndFSWVCbktvUUhQeDVIb1JlRjg4L3QNCnFZOStDaEVYcExITHM5cDVhWDdTREp1YnBRTWZwMXRERlgzNHl3Z3hTUXZjZWVKUVdCWGppZXVJbWZDMjFzNGJPY2dKYlYxaGJpZ1MNCnpPS1RRS3IxVHpkR1IrdVJ5MDA9PC9kczpNb2R1bHVzPjxkczpFeHBvbmVudD5BUUFCPC9kczpFeHBvbmVudD48L2RzOlJTQUtleVZhbHVlPjwvZHM6S2V5VmFsdWU+PGRzOlg1MDlEYXRhPjxkczpYNTA5Q2VydGlmaWNhdGU+TUlJSW1UQ0NCNEdnQXdJQkFnSURBWFVVTUEwR0NTcUdTSWIzRFFFQkJRVUFNSUlCT3pFTE1Ba0dBMVVFQmhNQ1JWTXhPekE1QmdOVg0KQkFvVE1rRm5aVzVqYVdFZ1EyRjBZV3hoYm1FZ1pHVWdRMlZ5ZEdsbWFXTmhZMmx2SUNoT1NVWWdVUzB3T0RBeE1UYzJMVWtwTVRRdw0KTWdZRFZRUUhFeXRRWVhOellYUm5aU0JrWlNCc1lTQkRiMjVqWlhCamFXOGdNVEVnTURnd01EZ2dRbUZ5WTJWc2IyNWhNUzR3TEFZRA0KVlFRTEV5VlRaWEoyWldseklGQjFZbXhwWTNNZ1pHVWdRMlZ5ZEdsbWFXTmhZMmx2SUVWRFZpMHlNVFV3TXdZRFZRUUxFeXhXWldkbA0KZFNCb2RIUndjem92TDNkM2R5NWpZWFJqWlhKMExtNWxkQzkyWlhKRFNVTXRNaUFvWXlrd016RTFNRE1HQTFVRUN4TXNSVzUwYVhSaA0KZENCd2RXSnNhV05oSUdSbElHTmxjblJwWm1sallXTnBieUJrWlNCamFYVjBZV1JoYm5NeEd6QVpCZ05WQkFNVEVsQlNSVkJTVDBSVg0KUTBOSlR5QkpSRU5oZERBZUZ3MHhNREF5TVRFeE9ESXlNRFJhRncweE5EQXlNVEF4T0RJeU1EUmFNSUd3TVFzd0NRWURWUVFHRXdKRg0KVXpFMU1ETUdBMVVFQ3hNc1ZtVm5aWFVnYUhSMGNITTZMeTkzZDNjdVkyRjBZMlZ5ZEM1dVpYUXZkbVZ5U1VSRFlYUWdLR01wTURNeA0KRmpBVUJnTlZCQVFURFVKRlVreEJUa2RCSUZOUFZFOHhGekFWQmdOVkJDb1REazFCVWtsQklFVk9SMUpCUTBsQk1SSXdFQVlEVlFRRg0KRXdreE1EQXdNRGswTkZNeEpUQWpCZ05WQkFNVEhFMUJVa2xCSUVWT1IxSkJRMGxCSUVKRlVreEJUa2RCSUZOUFZFOHdnWjh3RFFZSg0KS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFNTG5Kby9iU0ZxNzhHMGsxQTM4Q3BmaWJRekRCRWRIQzNlZzVBVXErL2RMZnF4ag0KWXhFcW1JMGNCQ0hnWnlxRUJ6OGVSNkVYaGZQUDdhbVBmZ29SRjZTeHk3UGFlV2wrMGd5Ym02VURINmRiUXhWOStNc0lNVWtMM0huaQ0KVUZnVjQ0bnJpSm53dHRiT0d6bklDVzFkWVc0b0VzemlrMENxOVU4M1JrZnJrY3ROQWdNQkFBR2pnZ1N3TUlJRXJEQU1CZ05WSFJNQg0KQWY4RUFqQUFNQTRHQTFVZER3RUIvd1FFQXdJRm9EQ0J6QVlEVlIwUkJJSEVNSUhCZ1E5aWMyOTBiMEJuYldGcGJDNWpiMjJrZ1lVdw0KZ1lJeEN6QUpCZ05WQkFZVEFrVlRNU3N3S1FZRFZRUUtGQ0pCWjhPb2JtTnBZU0JEWVhSaGJHRnVZU0JrWlNCRFpYSjBhV1pwWTJGag0KYWNPek1RNHdEQVlEVlFRTEV3VkpSRU5CVkRFUE1BMEdBMVVFQlJNR01ERTNOVEUwTVNVd0l3WURWUVFERXh4TlFWSkpRU0JGVGtkUw0KUVVOSlFTQkNSVkpNUVU1SFFTQlRUMVJQb0JBR0Npc0dBUVFCOVhnQkFRR2dBZ3dBb0JRR0RsWUVBQUVEQmdFRUFmVjRBUUVDb0FJTQ0KQURBZkJnTlZIUklFR0RBV2dSUmxZMTlwWkdOaGRFQmpZWFJqWlhKMExtNWxkREFkQmdOVkhRNEVGZ1FVQUZYanVOc2tCMk1seXZVQg0KaDdwOFRKMHVKMHd3Z2dGSUJnTlZIU01FZ2dFL01JSUJPNEFVUkt2Y2tVaE4xNGg0Q24vZ2RPRG42NzIzS1Z5aGdnRVBwSUlCQ3pDQw0KQVFjeEN6QUpCZ05WQkFZVEFrVlRNVHN3T1FZRFZRUUtFekpCWjJWdVkybGhJRU5oZEdGc1lXNWhJR1JsSUVObGNuUnBabWxqWVdOcA0KYnlBb1RrbEdJRkV0TURnd01URTNOaTFKS1RFb01DWUdBMVVFQ3hNZlUyVnlkbVZwY3lCUWRXSnNhV056SUdSbElFTmxjblJwWm1sag0KWVdOcGJ6RThNRG9HQTFVRUN4TXpWbVZuWlhVZ2FIUjBjSE02THk5M2QzY3VZMkYwWTJWeWRDNXVaWFF2ZG1WeWNISmxjSEp2WkhWag0KWTJsdklDaGpLVEF6TVRVd013WURWUVFMRXl4S1pYSmhjbkYxYVdFZ1JXNTBhWFJoZEhNZ1pHVWdRMlZ5ZEdsbWFXTmhZMmx2SUVOaA0KZEdGc1lXNWxjekVjTUJvR0ExVUVBeE1UVUZKRlVGSlBSRlZEUTBsUElFVkRMVUZEUTRJUWR3S1R0TTFFRVU5RkVQWFVZSGdnaERBZA0KQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdRd0VRWUpZSVpJQVliNFFnRUJCQVFEQWdXZ01EUUdDQ3NHQVFVRg0KQndFQkJDZ3dKakFrQmdnckJnRUZCUWN3QVlZWWFIUjBjSE02THk5dlkzTndMbU5oZEdObGNuUXVibVYwTUJnR0NDc0dBUVVGQndFRA0KQkF3d0NqQUlCZ1lFQUk1R0FRRXdnWVlHQTFVZEh3Ui9NSDB3UEtBNm9EaUdObWgwZEhBNkx5OWxjSE5qWkM1allYUmpaWEowTG01bA0KZEM5amNtd3ZjSEpsY0hKdlpIVmpZMmx2WDJWakxXbGtZMkYwTG1OeWJEQTlvRHVnT1lZM2FIUjBjRG92TDJWd2MyTmtNaTVqWVhSag0KWlhKMExtNWxkQzlqY213dmNISmxjSEp2WkhWalkybHZYMlZqTFdsa1kyRjBMbU55YkRDQjlnWURWUjBnQklIdU1JSHJNSUhvQmd3cg0KQmdFRUFmVjRBUU1CVmdFd2dkY3dMQVlJS3dZQkJRVUhBZ0VXSUdoMGRIQnpPaTh2ZDNkM0xtTmhkR05sY25RdWJtVjBMM1psY2tsRQ0KUTJGME1JR21CZ2dyQmdFRkJRY0NBakNCbVJxQmxrRnhkV1Z6ZENEdnY3MXpJSFZ1SUdObGNuUnBabWxqWVhRZ2NHVnljMjl1WVd3Zw0KU1VSRFFWUXNJSEpsWTI5dVpXZDFkQ0JrSjJsa1pXNTBhV1pwWTJGajc3KzlMQ0J6YVdkdVlYUjFjbUVnYVNCNGFXWnlZWFFnWkdVZw0KWTJ4aGMzTmxJRElnYVc1a2FYWnBaSFZoYkM0Z1ZtVm5aWFVnYUhSMGNITTZMeTkzZDNjdVkyRjBZMlZ5ZEM1dVpYUXZkbVZ5UkVOaA0KZERBdEJnTlZIUWtFSmpBa01CQUdDQ3NHQVFVRkJ3a0VNUVFUQWtWVE1CQUdDQ3NHQVFVRkJ3a0ZNUVFUQWtWVE1BMEdDU3FHU0liMw0KRFFFQkJRVUFBNElCQVFDcTc3ODBSR1FNTEIxZ2tkTk1mTFhuZ3FNb1JIR0taYnZ6a3JxSUFtVDhXQWQxRThyQXBoUjkveExKVXRwNQ0KbGJnMmZScjVibDJqOE9WREJLMlltRzQxaDhBRG40U1RJL0FwZU5JTlNmalpzNk5Sc25XekZ5ZlhYbVBDSFlGQi9YV3p5aW1DRXhndg0KdnR1SCszUUF3Y3dobjUwUExFdWh3NUM1dmxYN0x5NUs2ckxMTUZOVVVNYldWeTFoWmVsSy9DQlRjQWpJTzM4TlkrdllSQU1LU2Y0TQ0KL2daUXo0cUJlRlZKYTUyUjdOY0FxQ2ZyZkxmYVhwYkRTZzk4eG9CZU5zMmluR3p4OFVTZ0VyTFpqS0pzZG4vS2pURDlnUy9zVGRRNg0KUTdpZHFsZDJMRlZsTzIvYjk0Wk5aQmNTLzc4RU9EWGdkV2ZreVBDN1J3OHJlOW5JMy9qVDwvZHM6WDUwOUNlcnRpZmljYXRlPjwvZHM6WDUwOURhdGE+PC9kczpLZXlJbmZvPjxkczpPYmplY3QgRW5jb2Rpbmc9ImJhc2U2NCIgSWQ9Ik9iamVjdC05ODczM2NkZS04YmNjLTQ4YTAtOWI3Ny0wZTk5OTdiZGQwNTgiIE1pbWVUeXBlPSJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iPlNHVnNiRzhnVjI5eWJHUT08L2RzOk9iamVjdD48ZHM6T2JqZWN0Pjx4YWRlczpRdWFsaWZ5aW5nUHJvcGVydGllcyB4bWxuczp4YWRlcz0iaHR0cDovL3VyaS5ldHNpLm9yZy8wMTkwMy92MS4zLjIjIiBJZD0iU2lnbmF0dXJlLThlYWJkMGE1LTY2MGQtNGFmZC05OTA1LTBhYmM3NTUzZDE5Mi1RdWFsaWZ5aW5nUHJvcGVydGllcyIgVGFyZ2V0PSIjU2lnbmF0dXJlLThlYWJkMGE1LTY2MGQtNGFmZC05OTA1LTBhYmM3NTUzZDE5Mi1TaWduYXR1cmUiPjx4YWRlczpTaWduZWRQcm9wZXJ0aWVzIElkPSJTaWduYXR1cmUtOGVhYmQwYTUtNjYwZC00YWZkLTk5MDUtMGFiYzc1NTNkMTkyLVNpZ25lZFByb3BlcnRpZXMiPjx4YWRlczpTaWduZWRTaWduYXR1cmVQcm9wZXJ0aWVzPjx4YWRlczpTaWduaW5nVGltZT4yMDExLTAzLTIxVDExOjQ0OjQyKzAxOjAwPC94YWRlczpTaWduaW5nVGltZT48eGFkZXM6U2lnbmluZ0NlcnRpZmljYXRlPjx4YWRlczpDZXJ0Pjx4YWRlczpDZXJ0RGlnZXN0PjxkczpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSIvPjxkczpEaWdlc3RWYWx1ZT4zbTZ3OTlUb3lTZDlKcEJsMWdCazhEei9iYlU9PC9kczpEaWdlc3RWYWx1ZT48L3hhZGVzOkNlcnREaWdlc3Q+PHhhZGVzOklzc3VlclNlcmlhbD48ZHM6WDUwOUlzc3Vlck5hbWU+Q049UFJFUFJPRFVDQ0lPIElEQ2F0LCBPVT1FbnRpdGF0IHB1YmxpY2EgZGUgY2VydGlmaWNhY2lvIGRlIGNpdXRhZGFucywgT1U9VmVnZXUgaHR0cHM6Ly93d3cuY2F0Y2VydC5uZXQvdmVyQ0lDLTIgKGMpMDMsIE9VPVNlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8gRUNWLTIsIEw9UGFzc2F0Z2UgZGUgbGEgQ29uY2VwY2lvIDExIDA4MDA4IEJhcmNlbG9uYSwgTz1BZ2VuY2lhIENhdGFsYW5hIGRlIENlcnRpZmljYWNpbyAoTklGIFEtMDgwMTE3Ni1JKSwgQz1FUzwvZHM6WDUwOUlzc3Vlck5hbWU+PGRzOlg1MDlTZXJpYWxOdW1iZXI+OTU1MDg8L2RzOlg1MDlTZXJpYWxOdW1iZXI+PC94YWRlczpJc3N1ZXJTZXJpYWw+PC94YWRlczpDZXJ0PjwveGFkZXM6U2lnbmluZ0NlcnRpZmljYXRlPjwveGFkZXM6U2lnbmVkU2lnbmF0dXJlUHJvcGVydGllcz48eGFkZXM6U2lnbmVkRGF0YU9iamVjdFByb3BlcnRpZXM+PHhhZGVzOkRhdGFPYmplY3RGb3JtYXQgT2JqZWN0UmVmZXJlbmNlPSIjUmVmZXJlbmNlLWJhYmE0ZDFhLWExN2UtNDJjNi05N2QyLWJlZWUxMzUwOTUwMyI+PHhhZGVzOk1pbWVUeXBlPmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTwveGFkZXM6TWltZVR5cGU+PHhhZGVzOkVuY29kaW5nPmJhc2U2NDwveGFkZXM6RW5jb2Rpbmc+PC94YWRlczpEYXRhT2JqZWN0Rm9ybWF0PjwveGFkZXM6U2lnbmVkRGF0YU9iamVjdFByb3BlcnRpZXM+PC94YWRlczpTaWduZWRQcm9wZXJ0aWVzPjwveGFkZXM6UXVhbGlmeWluZ1Byb3BlcnRpZXM+PC9kczpPYmplY3Q+PC9kczpTaWduYXR1cmU+</dss:Base64Signature> </dss:SignatureObject> </dss:SignResponse>";
@@ -919,17 +862,12 @@ public class StorkResponseTest {
response.setPersonalAttributeList(palist);
- final STORKAuthnResponse storkResponse = getEngine()
- .generateSTORKAuthnResponse(authenRequest, response, ipAddress,
- isNotHashing);
+ final STORKAuthnResponse storkResponse = getEngine().generateSTORKAuthnResponse(authenRequest, response, ipAddress, isNotHashing);
authResponse = storkResponse.getTokenSaml();
- authnResponse = getEngine().validateSTORKAuthnResponse(authResponse,
- ipAddress);
+ authnResponse = getEngine().validateSTORKAuthnResponse(authResponse, ipAddress);
- assertTrue("SignedDoc response should be the same: ", authnResponse
- .getPersonalAttributeList().get("signedDoc").getValue().get(0)
- .equals(signedDocResponse));
+ assertTrue("SignedDoc response should be the same: ", authnResponse.getPersonalAttributeList().get("signedDoc").getValue().get(0).equals(signedDocResponse));
- }
+ }
}
diff --git a/id/server/stork2-saml-engine/src/test/resources/SamlEngine.xml b/id/server/stork2-saml-engine/src/test/resources/SamlEngine.xml
index 171e05f12..fadef82b2 100644
--- a/id/server/stork2-saml-engine/src/test/resources/SamlEngine.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/SamlEngine.xml
@@ -1,67 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<instances>
- <!-- Configuration name -->
- <instance name="CONF0">
- <!-- Configurations parameters StorkSamlEngine -->
- <configuration name="SamlEngineConf">
- <parameter name="fileConfiguration" value="StorkSamlEngine_Conf0.xml" />
- </configuration>
+ <!-- Configuration name -->
+ <instance name="CONF0">
+ <!-- Configurations parameters StorkSamlEngine -->
+ <configuration name="SamlEngineConf">
+ <parameter name="fileConfiguration" value="StorkSamlEngine_Conf0.xml" />
+ </configuration>
- <!-- Settings module signature -->
- <configuration name="SignatureConf">
- <!-- Specific signature module -->
- <parameter name="class"
- value="eu.stork.peps.auth.engine.core.impl.SignSW" />
- <!-- Settings specific module -->
- <parameter name="fileConfiguration" value="SignModule_Conf0.xml" />
- </configuration>
- </instance>
+ <!-- Settings module signature -->
+ <configuration name="SignatureConf">
+ <!-- Specific signature module -->
+ <parameter name="class"
+ value="eu.stork.peps.auth.engine.core.impl.SignSW" />
+ <!-- Settings specific module -->
+ <parameter name="fileConfiguration" value="SignModule_Conf0.xml" />
+ <parameter name="softTrustStoreConfig" value="SignModule_Conf0.xml" />
+ </configuration>
+ </instance>
- <!-- ******************** CONF1 ******************** -->
- <!-- Configuration name -->
- <instance name="CONF1">
- <!-- Configurations parameters StorkSamlEngine -->
- <configuration name="SamlEngineConf">
- <parameter name="fileConfiguration" value="StorkSamlEngine_Conf1.xml" />
- </configuration>
+ <!-- ******************** CONF1 ******************** -->
+ <!-- Configuration name -->
+ <instance name="CONF1">
+ <!-- Configurations parameters StorkSamlEngine -->
+ <configuration name="SamlEngineConf">
+ <parameter name="fileConfiguration" value="StorkSamlEngine_Conf1.xml" />
+ </configuration>
- <!-- Settings module signature -->
- <configuration name="SignatureConf">
- <!-- Specific signature module -->
- <parameter name="class"
- value="eu.stork.peps.auth.engine.core.impl.SignSW" />
- <!-- Settings specific module -->
- <parameter name="fileConfiguration" value="SignModule_Conf1.xml" />
- </configuration>
- </instance>
+ <!-- Settings module signature -->
+ <configuration name="SignatureConf">
+ <!-- Specific signature module -->
+ <parameter name="class"
+ value="eu.stork.peps.auth.engine.core.impl.SignSW" />
+ <!-- Settings specific module -->
+ <parameter name="fileConfiguration" value="SignModule_Conf1.xml" />
+ </configuration>
+ </instance>
- <!-- ******************** CONF2 ******************** -->
+ <!-- ******************** CONF2 ******************** -->
- <instance name="CONF2">
- <configuration name="SamlEngineConf">
- <parameter name="fileConfiguration" value="StorkSamlEngine_Conf2.xml" />
- </configuration>
+ <instance name="CONF2">
+ <configuration name="SamlEngineConf">
+ <parameter name="fileConfiguration" value="StorkSamlEngine_Conf2.xml" />
+ </configuration>
- <configuration name="SignatureConf">
- <parameter name="class"
- value="eu.stork.peps.auth.engine.core.impl.SignSW" />
- <parameter name="fileConfiguration" value="SignModule_Conf2.xml" />
- </configuration>
- </instance>
+ <configuration name="SignatureConf">
+ <parameter name="class"
+ value="eu.stork.peps.auth.engine.core.impl.SignSW" />
+ <parameter name="fileConfiguration" value="SignModule_Conf2.xml" />
+ </configuration>
+ </instance>
- <!-- ******************** CONF3 ******************** -->
+ <!-- ******************** CONF3 ******************** -->
- <instance name="CONF3">
- <configuration name="SamlEngineConf">
- <parameter name="fileConfiguration" value="StorkSamlEngine_Conf3.xml" />
- </configuration>
+ <instance name="CONF3">
+ <configuration name="SamlEngineConf">
+ <parameter name="fileConfiguration" value="StorkSamlEngine_Conf3.xml" />
+ </configuration>
- <configuration name="SignatureConf">
- <parameter name="class"
- value="eu.stork.peps.auth.engine.core.impl.SignSW" />
- <parameter name="fileConfiguration" value="SignModule_Conf3.xml" />
- </configuration>
- </instance>
+ <configuration name="SignatureConf">
+ <parameter name="class"
+ value="eu.stork.peps.auth.engine.core.impl.SignSW" />
+ <parameter name="fileConfiguration" value="SignModule_Conf3.xml" />
+ </configuration>
+ </instance>
+
+ <!-- ******************** CONF4 ******************** -->
+ <instance name="CONF4">
+ <!-- Configurations parameters StorkSamlEngine -->
+ <configuration name="SamlEngineConf">
+ <parameter name="fileConfiguration" value="StorkSamlEngine_Conf0.xml" />
+ </configuration>
+
+ <!-- Settings module signature -->
+ <configuration name="SignatureConf">
+ <!-- Specific signature module -->
+ <parameter name="class" value="eu.stork.peps.auth.engine.core.impl.SignHW" />
+ <!-- Settings specific module -->
+ <parameter name="fileConfiguration" value="SignModule_P11.xml" />
+ <parameter name="softTrustStoreConfig" value="SignModule_Conf0.xml" />
+ </configuration>
+ </instance>
</instances> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf0.xml b/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf0.xml
index a9f2038b8..295258bb2 100644
--- a/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf0.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf0.xml
@@ -2,20 +2,20 @@
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<!-- properties>
- <comment>SWModule sign with JKS.</comment>
- <entry key="keystorePath">C:\opt\keystores\keyStoreCountry0.jks</entry>
- <entry key="keyStorePassword">local-demo</entry>
- <entry key="keyPassword">local-demo</entry>
- <entry key="issuer">CN=saml-demo-cert,OU=STORK2,O=Advania,L=Reykjavik,ST=Reykjavik,C=IS</entry>
- <entry key="serialNumber">524D4C6C</entry>
- <entry key="keystoreType">JKS</entry>
+ <comment>SWModule sign with JKS.</comment>
+ <entry key="keystorePath">C:\opt\keystores\keyStoreCountry0.jks</entry>
+ <entry key="keyStorePassword">local-demo</entry>
+ <entry key="keyPassword">local-demo</entry>
+ <entry key="issuer">CN=saml-demo-cert,OU=STORK2,O=Advania,L=Reykjavik,ST=Reykjavik,C=IS</entry>
+ <entry key="serialNumber">524D4C6C</entry>
+ <entry key="keystoreType">JKS</entry>
</properties-->
<properties>
- <comment>SWModule sign with JKS.</comment>
- <entry key="keystorePath">C:\opt\keystores\storkDemoKeysTest.jks</entry>
- <entry key="keyStorePassword">local-demo</entry>
- <entry key="keyPassword">local-demo</entry>
- <entry key="issuer">CN=local-demo, O=Indra, L=Madrid, ST=Spain, C=ES</entry>
- <entry key="serialNumber">4BA89DB2</entry>
- <entry key="keystoreType">JKS</entry>
+ <comment>SWModule sign with JKS.</comment>
+ <entry key="keystorePath">C:\opt\keystores\storkDemoKeysTest.jks</entry>
+ <entry key="keyStorePassword">local-demo</entry>
+ <entry key="keyPassword">local-demo</entry>
+ <entry key="issuer">CN=local-demo, O=Indra, L=Madrid, ST=Spain, C=ES</entry>
+ <entry key="serialNumber">4BA89DB2</entry>
+ <entry key="keystoreType">JKS</entry>
</properties> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf1.xml b/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf1.xml
index e556a7331..ffd41cb61 100644
--- a/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf1.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf1.xml
@@ -2,11 +2,11 @@
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
- <comment>SWModule sign with JKS.</comment>
- <entry key="keystorePath">C:\opt\keystores\storkDemoKeysTest.jks</entry>
- <entry key="keyStorePassword">local-demo</entry>
- <entry key="keyPassword">local-demo</entry>
- <entry key="issuer">CN=local-demo, O=Indra, L=Madrid, ST=Spain, C=ES</entry>
- <entry key="serialNumber">4BA89DB2</entry>
- <entry key="keystoreType">JKS</entry>
+ <comment>SWModule sign with JKS.</comment>
+ <entry key="keystorePath">C:\opt\keystores\storkDemoKeysTest.jks</entry>
+ <entry key="keyStorePassword">local-demo</entry>
+ <entry key="keyPassword">local-demo</entry>
+ <entry key="issuer">CN=local-demo, O=Indra, L=Madrid, ST=Spain, C=ES</entry>
+ <entry key="serialNumber">4BA89DB2</entry>
+ <entry key="keystoreType">JKS</entry>
</properties> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf2.xml b/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf2.xml
index 3da1e33df..21b73d49d 100644
--- a/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf2.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf2.xml
@@ -2,11 +2,11 @@
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
- <comment>SWModule sign with JKS.</comment>
- <entry key="keystorePath">C:\opt\keystores\keyStoreCountry2.jks</entry>
- <entry key="keyStorePassword">local-demo</entry>
- <entry key="keyPassword">local-demo</entry>
- <entry key="issuer">CN=local-demo, O=Indra, L=Madrid, ST=Spain, C=ES</entry>
- <entry key="serialNumber">4BA89DB2</entry>
- <entry key="keystoreType">JKS</entry>
+ <comment>SWModule sign with JKS.</comment>
+ <entry key="keystorePath">C:\opt\keystores\keyStoreCountry2.jks</entry>
+ <entry key="keyStorePassword">local-demo</entry>
+ <entry key="keyPassword">local-demo</entry>
+ <entry key="issuer">CN=local-demo, O=Indra, L=Madrid, ST=Spain, C=ES</entry>
+ <entry key="serialNumber">4BA89DB2</entry>
+ <entry key="keystoreType">JKS</entry>
</properties> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf3.xml b/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf3.xml
index 4c14a1711..f9ebc85cc 100644
--- a/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf3.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/SignModule_Conf3.xml
@@ -2,11 +2,11 @@
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
- <comment>SWModule sign with JKS.</comment>
- <entry key="keystorePath">C:\opt\keystores\keyStoreCountry3.jks</entry>
- <entry key="keyStorePassword">local-demo</entry>
- <entry key="keyPassword">local-demo</entry>
- <entry key="issuer">CN=local-demo, O=Indra, L=Madrid, ST=Spain, C=ES</entry>
- <entry key="serialNumber">4BA89DB2</entry>
- <entry key="keystoreType">JKS</entry>
+ <comment>SWModule sign with JKS.</comment>
+ <entry key="keystorePath">C:\opt\keystores\keyStoreCountry3.jks</entry>
+ <entry key="keyStorePassword">local-demo</entry>
+ <entry key="keyPassword">local-demo</entry>
+ <entry key="issuer">CN=local-demo, O=Indra, L=Madrid, ST=Spain, C=ES</entry>
+ <entry key="serialNumber">4BA89DB2</entry>
+ <entry key="keystoreType">JKS</entry>
</properties> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/SignModule_P11.xml b/id/server/stork2-saml-engine/src/test/resources/SignModule_P11.xml
index c683d97c3..0e95da1f2 100644
--- a/id/server/stork2-saml-engine/src/test/resources/SignModule_P11.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/SignModule_P11.xml
@@ -2,10 +2,11 @@
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
- <comment>HWModule sign with interface PKCS11.</comment>
- <entry key="configurationFile">p11Config.cfg</entry>
- <entry key="keyPassword">*******</entry>
- <entry key="issuer">CN=XXXXXXXXX</entry>
- <entry key="serialNumber">xxxxxxxxxxxxxx</entry>
- <entry key="keystoreType">PKCS11</entry>
+ <comment>HWModule sign with interface PKCS11.</comment>
+ <entry key="configurationFile">p11Conf.cfg</entry>
+ <entry key="keyPassword">12345</entry>
+ <entry key="issuer">CN=Test Certificate</entry>
+ <entry key="serialNumber">147d4b07db8</entry>
+ <entry key="keystoreType">PKCS11</entry>
+ <entry key="trustStoreConfig">SignModule_Conf0.xml</entry>
</properties> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf0.xml b/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf0.xml
index 8c3a94601..2a266a975 100644
--- a/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf0.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf0.xml
@@ -2,86 +2,111 @@
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
- <comment>SAML constants for AuthnRequests and Responses.</comment>
-
- <!-- Types of consent obtained from the user for this authentication and
- data transfer. Allow values: 'unspecified'. -->
- <entry key="consentAuthnRequest">unspecified</entry>
-
- <!-- Allow values: 'obtained', 'prior', 'current-implicit', 'current-explicit',
- 'unspecified'. -->
- <entry key="consentAuthnResponse">obtained</entry>
-
- <!--URI representing the classification of the identifier Allow values:
- 'entity'. -->
- <entry key="formatEntity">entity</entry>
-
- <!--Only HTTP-POST binding is only supported for inter PEPS -->
- <!--The SOAP binding is only supported for direct communication between
- SP-MW and VIdP -->
- <entry key="protocolBinding">HTTP-POST</entry>
-
-
-
-
- <!--URI representing the classification of the identifier Allow values:
- 'entity'. <entry key="eIDSectorShare">true</entry> <entry key="eIDCrossSectorShare">true</entry>
- <entry key="eIDCrossBorderShare">true</entry> -->
-
-
-
- <!-- A friendly name for the attribute that can be displayed to a user -->
- <entry key="friendlyName">false</entry>
-
- <!-- A friendly name for the attribute that can be displayed to a user -->
- <entry key="isRequired">true</entry>
-
- <!--PEPS in the Service Provider's country -->
- <entry key="requester">http://S-PEPS.gov.xx</entry>
-
- <!--PEPS in the citizen's origin country -->
- <entry key="responder">http://C-PEPS.gov.xx</entry>
-
- <!--Subject cannot be confirmed on or after this seconds time (positive
- number) -->
- <entry key="timeNotOnOrAfter">300</entry>
-
- <!--Validation IP of the response -->
- <entry key="ipAddrValidation">false</entry>
-
-
- <!--Subject Attribute Definitions -->
- <entry key="eIdentifier">http://www.stork.gov.eu/1.0/eIdentifier</entry>
- <entry key="givenName">http://www.stork.gov.eu/1.0/givenName</entry>
- <entry key="surname">http://www.stork.gov.eu/1.0/surname</entry>
- <entry key="inheritedFamilyName">http://www.stork.gov.eu/1.0/inheritedFamilyName</entry>
- <entry key="adoptedFamilyName">http://www.stork.gov.eu/1.0/adoptedFamilyName</entry>
- <entry key="gender">http://www.stork.gov.eu/1.0/gender</entry>
- <entry key="dateOfBirth">http://www.stork.gov.eu/1.0/dateOfBirth</entry>
- <entry key="countryCodeOfBirth">http://www.stork.gov.eu/1.0/countryCodeOfBirth</entry>
- <entry key="nationalityCode">http://www.stork.gov.eu/1.0/nationalityCode</entry>
- <entry key="maritalStatus">http://www.stork.gov.eu/1.0/maritalStatus</entry>
- <entry key="residenceAddress">http://www.stork.gov.eu/1.0/residenceAddress</entry>
- <entry key="eMail">http://www.stork.gov.eu/1.0/eMail</entry>
- <entry key="academicTitle">http://www.stork.gov.eu/1.0/academicTitle</entry>
- <entry key="pseudonym">http://www.stork.gov.eu/1.0/pseudonym</entry>
- <entry key="age">http://www.stork.gov.eu/1.0/age</entry>
- <entry key="isAgeOver">http://www.stork.gov.eu/1.0/isAgeOver</entry>
-
- <entry key="textResidenceAddress">http://www.stork.gov.eu/1.0/textResidenceAddress</entry>
- <entry key="canonicalResidenceAddress">http://www.stork.gov.eu/1.0/canonicalResidenceAddress</entry>
-
- <entry key="title">http://www.stork.gov.eu/1.0/title</entry>
- <entry key="residencePermit">http://www.stork.gov.eu/1.0/residencePermit</entry>
-
- <entry key="signedDoc">http://www.stork.gov.eu/1.0/signedDoc</entry>
- <entry key="citizen509Certificate">http://www.stork.gov.eu/1.0/citizen509Certificate</entry>
-
- <entry key="newAttribute1">http://www.stork.gov.eu/1.0/newAttribute1</entry>
- <entry key="newAttribute2">http://www.stork.gov.eu/1.0/newAttribute2</entry>
- <entry key="hasDegree">http://www.stork.gov.eu/1.0/hasDegree</entry>
- <entry key="mandateContent">http://www.stork.gov.eu/1.0/mandateContent</entry>
-
- <entry key="docRequest">http://www.stork.gov.eu/1.0/docRequest</entry>
+ <comment>SAML constants for AuthnRequests and Responses.</comment>
+
+ <!-- Types of consent obtained from the user for this authentication and
+ data transfer. Allow values: 'unspecified'. -->
+ <entry key="consentAuthnRequest">unspecified</entry>
+
+ <!-- Allow values: 'obtained', 'prior', 'current-implicit', 'current-explicit',
+ 'unspecified'. -->
+ <entry key="consentAuthnResponse">obtained</entry>
+
+ <!--URI representing the classification of the identifier Allow values:
+ 'entity'. -->
+ <entry key="formatEntity">entity</entry>
+
+ <!--Only HTTP-POST binding is only supported for inter PEPS -->
+ <!--The SOAP binding is only supported for direct communication between
+ SP-MW and VIdP -->
+ <entry key="protocolBinding">HTTP-POST</entry>
+
+
+
+
+ <!--URI representing the classification of the identifier Allow values:
+ 'entity'. <entry key="eIDSectorShare">true</entry> <entry key="eIDCrossSectorShare">true</entry>
+ <entry key="eIDCrossBorderShare">true</entry> -->
+
+
+
+ <!-- A friendly name for the attribute that can be displayed to a user -->
+ <entry key="friendlyName">false</entry>
+
+ <!-- A friendly name for the attribute that can be displayed to a user -->
+ <entry key="isRequired">true</entry>
+
+ <!--PEPS in the Service Provider's country -->
+ <entry key="requester">http://S-PEPS.gov.xx</entry>
+
+ <!--PEPS in the citizen's origin country -->
+ <entry key="responder">http://C-PEPS.gov.xx</entry>
+
+ <!-- Format -->
+ <entry key="format">urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</entry>
+
+ <!--Subject cannot be confirmed on or after this seconds time (positive
+ number) -->
+ <entry key="timeNotOnOrAfter">300</entry>
+
+ <!--Validation IP of the response -->
+ <entry key="ipAddrValidation">false</entry>
+
+
+ <!--Subject Attribute Definitions-->
+ <entry key="eIdentifier">http://www.stork.gov.eu/1.0/eIdentifier</entry>
+ <entry key="givenName">http://www.stork.gov.eu/1.0/givenName</entry>
+ <entry key="surname">http://www.stork.gov.eu/1.0/surname</entry>
+ <entry key="inheritedFamilyName">http://www.stork.gov.eu/1.0/inheritedFamilyName</entry>
+ <entry key="adoptedFamilyName">http://www.stork.gov.eu/1.0/adoptedFamilyName</entry>
+ <entry key="gender">http://www.stork.gov.eu/1.0/gender</entry>
+ <entry key="dateOfBirth">http://www.stork.gov.eu/1.0/dateOfBirth</entry>
+ <entry key="countryCodeOfBirth">http://www.stork.gov.eu/1.0/countryCodeOfBirth</entry>
+ <entry key="placeOfBirth">http://www.stork.gov.eu/1.0/placeOfBirth</entry>
+ <entry key="nationalityCode">http://www.stork.gov.eu/1.0/nationalityCode</entry>
+ <entry key="maritalStatus">http://www.stork.gov.eu/1.0/maritalStatus</entry>
+ <entry key="textResidenceAddress">http://www.stork.gov.eu/1.0/textResidenceAddress</entry>
+ <entry key="canonicalResidenceAddress">http://www.stork.gov.eu/1.0/canonicalResidenceAddress</entry>
+ <entry key="eMail">http://www.stork.gov.eu/1.0/eMail</entry>
+ <entry key="title">http://www.stork.gov.eu/1.0/title</entry>
+ <entry key="residencePermit">http://www.stork.gov.eu/1.0/residencePermit</entry>
+ <entry key="pseudonym">http://www.stork.gov.eu/1.0/pseudonym</entry>
+ <entry key="age">http://www.stork.gov.eu/1.0/age</entry>
+ <entry key="isAgeOver">http://www.stork.gov.eu/1.0/isAgeOver</entry>
+ <entry key="signedDoc">http://www.stork.gov.eu/1.0/signedDoc</entry>
+ <entry key="citizenQAALevel">http://www.stork.gov.eu/1.0/citizenQAALevel</entry>
+ <entry key="fiscalNumber">http://www.stork.gov.eu/1.0/fiscalNumber</entry>
+ <entry key="unknown">http://www.stork.gov.eu/1.0/unknown</entry>
+ <entry key="newAttribute1">http://www.stork.gov.eu/1.0/newAttribute1</entry>
+ <entry key="newAttribute2">http://www.stork.gov.eu/1.0/newAttribute2</entry>
+ <entry key="hasDegree">http://www.stork.gov.eu/1.0/hasDegree</entry>
+
+ <entry key="diplomaSupplement">http://www.stork.gov.eu/1.0/diplomaSupplement</entry>
+ <entry key="currentStudiesSupplement">http://www.stork.gov.eu/1.0/currentStudiesSupplement</entry>
+ <entry key="isStudent">http://www.stork.gov.eu/1.0/isStudent</entry>
+ <entry key="isAcademicStaff">http://www.stork.gov.eu/1.0/isAcademicStaff</entry>
+ <entry key="isTeacherOf">http://www.stork.gov.eu/1.0/isTeacherOf</entry>
+ <entry key="isCourseCoordinator">http://www.stork.gov.eu/1.0/isCourseCoordinator</entry>
+ <entry key="isAdminStaff">http://www.stork.gov.eu/1.0/isAdminStaff</entry>
+ <entry key="habilitation">http://www.stork.gov.eu/1.0/habilitation</entry>
+ <entry key="Title">http://www.stork.gov.eu/1.0/Title</entry>
+ <entry key="hasDegree">http://www.stork.gov.eu/1.0/hasDegree</entry>
+ <entry key="hasAccountInBank">http://www.stork.gov.eu/1.0/hasAccountInBank</entry>
+ <entry key="isHealthCareProfessional">http://www.stork.gov.eu/1.0/isHealthCareProfessional</entry>
+
+ <entry key="eLPIdentifier">http://www.stork.gov.eu/1.0/eLPIdentifier</entry>
+ <entry key="legalName">http://www.stork.gov.eu/1.0/legalName</entry>
+ <entry key="alternativeName">http://www.stork.gov.eu/1.0/alternativeName</entry>
+ <entry key="type">http://www.stork.gov.eu/1.0/type</entry>
+ <entry key="translatableType">http://www.stork.gov.eu/1.0/translatableType</entry>
+ <entry key="status">http://www.stork.gov.eu/1.0/status</entry>
+ <entry key="activity">http://www.stork.gov.eu/1.0/activity</entry>
+ <entry key="registeredAddress">http://www.stork.gov.eu/1.0/registeredAddress</entry>
+ <entry key="registeredCanonicalAddress">http://www.stork.gov.eu/1.0/registeredCanonicalAddress</entry>
+ <entry key="contactInformation">http://www.stork.gov.eu/1.0/contactInformation</entry>
+ <entry key="LPFiscalNumber">http://www.stork.gov.eu/1.0/LPFiscalNumber</entry>
+ <entry key="mandate">http://www.stork.gov.eu/1.0/mandate</entry>
+ <entry key="docRequest">http://www.stork.gov.eu/1.0/docRequest</entry>
+
</properties> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf1.xml b/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf1.xml
index ad04cc3df..a65717a05 100644
--- a/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf1.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf1.xml
@@ -2,84 +2,110 @@
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
- <comment>SAML constants for AuthnRequests and Responses.</comment>
-
- <!-- Types of consent obtained from the user for this authentication and
- data transfer. Allow values: 'unspecified'. -->
- <entry key="consentAuthnRequest">unspecified</entry>
-
- <!-- Allow values: 'obtained', 'prior', 'current-implicit', 'current-explicit',
- 'unspecified'. -->
- <entry key="consentAuthnResponse">obtained</entry>
-
- <!--URI representing the classification of the identifier Allow values:
- 'entity'. -->
- <entry key="formatEntity">entity</entry>
-
- <!--Only HTTP-POST binding is only supported for inter PEPS -->
- <!--The SOAP binding is only supported for direct communication between
- SP-MW and VIdP -->
- <entry key="protocolBinding">HTTP-POST</entry>
-
-
-
-
- <!--URI representing the classification of the identifier Allow values:
- 'entity'. <entry key="eIDSectorShare">true</entry> <entry key="eIDCrossSectorShare">true</entry>
- <entry key="eIDCrossBorderShare">true</entry> -->
-
-
-
- <!-- A friendly name for the attribute that can be displayed to a user -->
- <entry key="friendlyName">false</entry>
-
- <!-- A friendly name for the attribute that can be displayed to a user -->
- <entry key="isRequired">true</entry>
-
- <!--PEPS in the Service Provider's country -->
- <entry key="requester">http://S-PEPS.gov.xx</entry>
-
- <!--PEPS in the citizen's origin country -->
- <entry key="responder">http://C-PEPS.gov.xx</entry>
-
- <!--Subject cannot be confirmed on or after this seconds time (positive
- number) -->
- <entry key="timeNotOnOrAfter">300</entry>
-
- <!--Validation IP of the response -->
- <entry key="ipAddrValidation">false</entry>
-
-
- <!--Subject Attribute Definitions -->
- <entry key="eIdentifier">http://www.stork.gov.eu/1.0/eIdentifier</entry>
- <entry key="givenName">http://www.stork.gov.eu/1.0/givenName</entry>
- <entry key="surname">http://www.stork.gov.eu/1.0/surname</entry>
- <entry key="inheritedFamilyName">http://www.stork.gov.eu/1.0/inheritedFamilyName</entry>
- <entry key="adoptedFamilyName">http://www.stork.gov.eu/1.0/adoptedFamilyName</entry>
- <entry key="gender">http://www.stork.gov.eu/1.0/gender</entry>
- <entry key="dateOfBirth">http://www.stork.gov.eu/1.0/dateOfBirth</entry>
- <entry key="countryCodeOfBirth">http://www.stork.gov.eu/1.0/countryCodeOfBirth</entry>
- <entry key="nationalityCode">http://www.stork.gov.eu/1.0/nationalityCode</entry>
- <entry key="maritalStatus">http://www.stork.gov.eu/1.0/maritalStatus</entry>
- <entry key="residenceAddress">http://www.stork.gov.eu/1.0/residenceAddress</entry>
- <entry key="eMail">http://www.stork.gov.eu/1.0/eMail</entry>
- <entry key="academicTitle">http://www.stork.gov.eu/1.0/academicTitle</entry>
- <entry key="pseudonym">http://www.stork.gov.eu/1.0/pseudonym</entry>
- <entry key="age">http://www.stork.gov.eu/1.0/age</entry>
- <entry key="isAgeOver">http://www.stork.gov.eu/1.0/isAgeOver</entry>
-
- <entry key="textResidenceAddress">http://www.stork.gov.eu/1.0/textResidenceAddress</entry>
- <entry key="canonicalResidenceAddress">http://www.stork.gov.eu/1.0/canonicalResidenceAddress</entry>
-
- <entry key="title">http://www.stork.gov.eu/1.0/title</entry>
- <entry key="residencePermit">http://www.stork.gov.eu/1.0/residencePermit</entry>
-
- <entry key="signedDoc">http://www.stork.gov.eu/1.0/signedDoc</entry>
- <entry key="citizen509Certificate">http://www.stork.gov.eu/1.0/citizen509Certificate</entry>
-
- <entry key="newAttribute1">http://www.stork.gov.eu/1.0/newAttribute1</entry>
- <entry key="newAttribute2">http://www.stork.gov.eu/1.0/newAttribute2</entry>
- <entry key="hasDegree">http://www.stork.gov.eu/1.0/hasDegree</entry>
- <entry key="mandateContent">http://www.stork.gov.eu/1.0/mandateContent</entry>
+ <comment>SAML constants for AuthnRequests and Responses.</comment>
+
+ <!-- Types of consent obtained from the user for this authentication and
+ data transfer. Allow values: 'unspecified'. -->
+ <entry key="consentAuthnRequest">unspecified</entry>
+
+ <!-- Allow values: 'obtained', 'prior', 'current-implicit', 'current-explicit',
+ 'unspecified'. -->
+ <entry key="consentAuthnResponse">obtained</entry>
+
+ <!--URI representing the classification of the identifier Allow values:
+ 'entity'. -->
+ <entry key="formatEntity">entity</entry>
+
+ <!--Only HTTP-POST binding is only supported for inter PEPS -->
+ <!--The SOAP binding is only supported for direct communication between
+ SP-MW and VIdP -->
+ <entry key="protocolBinding">HTTP-POST</entry>
+
+
+
+
+ <!--URI representing the classification of the identifier Allow values:
+ 'entity'. <entry key="eIDSectorShare">true</entry> <entry key="eIDCrossSectorShare">true</entry>
+ <entry key="eIDCrossBorderShare">true</entry> -->
+
+
+
+ <!-- A friendly name for the attribute that can be displayed to a user -->
+ <entry key="friendlyName">false</entry>
+
+ <!-- A friendly name for the attribute that can be displayed to a user -->
+ <entry key="isRequired">true</entry>
+
+ <!--PEPS in the Service Provider's country -->
+ <entry key="requester">http://S-PEPS.gov.xx</entry>
+
+ <!--PEPS in the citizen's origin country -->
+ <entry key="responder">http://C-PEPS.gov.xx</entry>
+
+ <!-- Format -->
+ <entry key="format">urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</entry>
+
+ <!--Subject cannot be confirmed on or after this seconds time (positive
+ number) -->
+ <entry key="timeNotOnOrAfter">300</entry>
+
+ <!--Validation IP of the response -->
+ <entry key="ipAddrValidation">false</entry>
+
+
+ <!--Subject Attribute Definitions-->
+ <entry key="eIdentifier">http://www.stork.gov.eu/1.0/eIdentifier</entry>
+ <entry key="givenName">http://www.stork.gov.eu/1.0/givenName</entry>
+ <entry key="surname">http://www.stork.gov.eu/1.0/surname</entry>
+ <entry key="inheritedFamilyName">http://www.stork.gov.eu/1.0/inheritedFamilyName</entry>
+ <entry key="adoptedFamilyName">http://www.stork.gov.eu/1.0/adoptedFamilyName</entry>
+ <entry key="gender">http://www.stork.gov.eu/1.0/gender</entry>
+ <entry key="dateOfBirth">http://www.stork.gov.eu/1.0/dateOfBirth</entry>
+ <entry key="countryCodeOfBirth">http://www.stork.gov.eu/1.0/countryCodeOfBirth</entry>
+ <entry key="placeOfBirth">http://www.stork.gov.eu/1.0/placeOfBirth</entry>
+ <entry key="nationalityCode">http://www.stork.gov.eu/1.0/nationalityCode</entry>
+ <entry key="maritalStatus">http://www.stork.gov.eu/1.0/maritalStatus</entry>
+ <entry key="textResidenceAddress">http://www.stork.gov.eu/1.0/textResidenceAddress</entry>
+ <entry key="canonicalResidenceAddress">http://www.stork.gov.eu/1.0/canonicalResidenceAddress</entry>
+ <entry key="eMail">http://www.stork.gov.eu/1.0/eMail</entry>
+ <entry key="title">http://www.stork.gov.eu/1.0/title</entry>
+ <entry key="residencePermit">http://www.stork.gov.eu/1.0/residencePermit</entry>
+ <entry key="pseudonym">http://www.stork.gov.eu/1.0/pseudonym</entry>
+ <entry key="age">http://www.stork.gov.eu/1.0/age</entry>
+ <entry key="isAgeOver">http://www.stork.gov.eu/1.0/isAgeOver</entry>
+ <entry key="signedDoc">http://www.stork.gov.eu/1.0/signedDoc</entry>
+ <entry key="citizenQAALevel">http://www.stork.gov.eu/1.0/citizenQAALevel</entry>
+ <entry key="fiscalNumber">http://www.stork.gov.eu/1.0/fiscalNumber</entry>
+ <entry key="unknown">http://www.stork.gov.eu/1.0/unknown</entry>
+ <entry key="newAttribute1">http://www.stork.gov.eu/1.0/newAttribute1</entry>
+ <entry key="newAttribute2">http://www.stork.gov.eu/1.0/newAttribute2</entry>
+ <entry key="hasDegree">http://www.stork.gov.eu/1.0/hasDegree</entry>
+
+ <entry key="diplomaSupplement">http://www.stork.gov.eu/1.0/diplomaSupplement</entry>
+ <entry key="currentStudiesSupplement">http://www.stork.gov.eu/1.0/currentStudiesSupplement</entry>
+ <entry key="isStudent">http://www.stork.gov.eu/1.0/isStudent</entry>
+ <entry key="isAcademicStaff">http://www.stork.gov.eu/1.0/isAcademicStaff</entry>
+ <entry key="isTeacherOf">http://www.stork.gov.eu/1.0/isTeacherOf</entry>
+ <entry key="isCourseCoordinator">http://www.stork.gov.eu/1.0/isCourseCoordinator</entry>
+ <entry key="isAdminStaff">http://www.stork.gov.eu/1.0/isAdminStaff</entry>
+ <entry key="habilitation">http://www.stork.gov.eu/1.0/habilitation</entry>
+ <entry key="Title">http://www.stork.gov.eu/1.0/Title</entry>
+ <entry key="hasDegree">http://www.stork.gov.eu/1.0/hasDegree</entry>
+ <entry key="hasAccountInBank">http://www.stork.gov.eu/1.0/hasAccountInBank</entry>
+ <entry key="isHealthCareProfessional">http://www.stork.gov.eu/1.0/isHealthCareProfessional</entry>
+
+ <entry key="eLPIdentifier">http://www.stork.gov.eu/1.0/eLPIdentifier</entry>
+ <entry key="legalName">http://www.stork.gov.eu/1.0/legalName</entry>
+ <entry key="alternativeName">http://www.stork.gov.eu/1.0/alternativeName</entry>
+ <entry key="type">http://www.stork.gov.eu/1.0/type</entry>
+ <entry key="translatableType">http://www.stork.gov.eu/1.0/translatableType</entry>
+ <entry key="status">http://www.stork.gov.eu/1.0/status</entry>
+ <entry key="activity">http://www.stork.gov.eu/1.0/activity</entry>
+ <entry key="registeredAddress">http://www.stork.gov.eu/1.0/registeredAddress</entry>
+ <entry key="registeredCanonicalAddress">http://www.stork.gov.eu/1.0/registeredCanonicalAddress</entry>
+ <entry key="contactInformation">http://www.stork.gov.eu/1.0/contactInformation</entry>
+ <entry key="LPFiscalNumber">http://www.stork.gov.eu/1.0/LPFiscalNumber</entry>
+ <entry key="mandate">http://www.stork.gov.eu/1.0/mandate</entry>
+ <entry key="docRequest">http://www.stork.gov.eu/1.0/docRequest</entry>
</properties> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf2.xml b/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf2.xml
index fd1db92ac..a0a5bea10 100644
--- a/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf2.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf2.xml
@@ -2,59 +2,100 @@
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
- <comment>SAML constants for AuthnRequests and Responses.</comment>
-
- <!-- Types of consent obtained from the user for this authentication and
- data transfer. Allow values: 'unspecified'. -->
- <entry key="consentAuthnRequest">unspecified</entry>
- <!-- Allow values: 'obtained', 'prior', 'curent-implicit', 'curent-explicit',
- 'unspecified'. -->
- <entry key="consentAuthnResponse">obtained</entry>
-
- <!--URI representing the classification of the identifier Allow values:
- 'entity'. -->
- <entry key="formatEntity">entity</entry>
-
- <!--Only HTTP-POST binding is only supported for inter PEPS -->
- <!--The SOAP binding is only supported for direct communication between
- SP-MW and VIdP -->
- <entry key="protocolBinding">HTTP-POST</entry>
-
- <entry key="eIDSectorShare">false</entry>
- <entry key="eIDCrossSectorShare">false</entry>
- <entry key="eIDCrossBorderShare">false</entry>
-
- <!--PEPS in the Service Provider's country -->
- <entry key="requester">http://S-PEPS.gov.xx</entry>
-
- <!--PEPS in the citizen's origin country -->
- <entry key="responder">http://C-PEPS.gov.xx</entry>
-
- <!--Subject cannot be confirmed on or after this seconds time -->
- <entry key="timeNotOnOrAfter">300</entry>
-
- <!--Validation IP of the response -->
- <entry key="ipAddrValidation">false</entry>
-
- <!-- A friendly name for the attribute that can be displayed to a user -->
- <entry key="isRequired">false</entry>
-
-
- <!--Subject Attribute Definitions -->
- <entry key="eIdentifier">http://www.stork.gov.eu/1.0/eIdentifier</entry>
- <entry key="givenName">http://www.stork.gov.eu/1.0/givenName</entry>
- <entry key="surname">http://www.stork.gov.eu/1.0/surname</entry>
- <entry key="inheritedFamilyName">http://www.stork.gov.eu/1.0/inheritedFamilyName</entry>
- <entry key="adoptedFamilyName">http://www.stork.gov.eu/1.0/adoptedFamilyName</entry>
- <entry key="gender">http://www.stork.gov.eu/1.0/gender</entry>
- <entry key="dateOfBirth">http://www.stork.gov.eu/1.0/dateOfBirth</entry>
- <entry key="countryCodeOfBirth">http://www.stork.gov.eu/1.0/countryCodeOfBirth</entry>
- <entry key="nationalityCode">http://www.stork.gov.eu/1.0/nationalityCode</entry>
- <entry key="maritalStatus">http://www.stork.gov.eu/1.0/maritalStatus</entry>
- <entry key="residenceAddress">http://www.stork.gov.eu/1.0/residenceAddress</entry>
- <entry key="eMail">http://www.stork.gov.eu/1.0/eMail</entry>
- <entry key="academicTitle">http://www.stork.gov.eu/1.0/academicTitle</entry>
- <entry key="pseudonym">http://www.stork.gov.eu/1.0/pseudonym</entry>
- <entry key="age">http://www.stork.gov.eu/1.0/age</entry>
- <entry key="isAgeOver">http://www.stork.gov.eu/1.0/isAgeOver</entry>
+ <comment>SAML constants for AuthnRequests and Responses.</comment>
+
+ <!-- Types of consent obtained from the user for this authentication and
+ data transfer. Allow values: 'unspecified'. -->
+ <entry key="consentAuthnRequest">unspecified</entry>
+ <!-- Allow values: 'obtained', 'prior', 'curent-implicit', 'curent-explicit',
+ 'unspecified'. -->
+ <entry key="consentAuthnResponse">obtained</entry>
+
+ <!--URI representing the classification of the identifier Allow values:
+ 'entity'. -->
+ <entry key="formatEntity">entity</entry>
+
+ <!--Only HTTP-POST binding is only supported for inter PEPS -->
+ <!--The SOAP binding is only supported for direct communication between
+ SP-MW and VIdP -->
+ <entry key="protocolBinding">HTTP-POST</entry>
+
+ <entry key="eIDSectorShare">false</entry>
+ <entry key="eIDCrossSectorShare">false</entry>
+ <entry key="eIDCrossBorderShare">false</entry>
+
+ <!--PEPS in the Service Provider's country -->
+ <entry key="requester">http://S-PEPS.gov.xx</entry>
+
+ <!--PEPS in the citizen's origin country -->
+ <entry key="responder">http://C-PEPS.gov.xx</entry>
+
+ <!-- Format -->
+ <entry key="format">urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</entry>
+
+ <!--Subject cannot be confirmed on or after this seconds time -->
+ <entry key="timeNotOnOrAfter">300</entry>
+
+ <!--Validation IP of the response -->
+ <entry key="ipAddrValidation">false</entry>
+
+ <!-- A friendly name for the attribute that can be displayed to a user -->
+ <entry key="isRequired">false</entry>
+
+
+ <!--Subject Attribute Definitions-->
+ <entry key="eIdentifier">http://www.stork.gov.eu/1.0/eIdentifier</entry>
+ <entry key="givenName">http://www.stork.gov.eu/1.0/givenName</entry>
+ <entry key="surname">http://www.stork.gov.eu/1.0/surname</entry>
+ <entry key="inheritedFamilyName">http://www.stork.gov.eu/1.0/inheritedFamilyName</entry>
+ <entry key="adoptedFamilyName">http://www.stork.gov.eu/1.0/adoptedFamilyName</entry>
+ <entry key="gender">http://www.stork.gov.eu/1.0/gender</entry>
+ <entry key="dateOfBirth">http://www.stork.gov.eu/1.0/dateOfBirth</entry>
+ <entry key="countryCodeOfBirth">http://www.stork.gov.eu/1.0/countryCodeOfBirth</entry>
+ <entry key="placeOfBirth">http://www.stork.gov.eu/1.0/placeOfBirth</entry>
+ <entry key="nationalityCode">http://www.stork.gov.eu/1.0/nationalityCode</entry>
+ <entry key="maritalStatus">http://www.stork.gov.eu/1.0/maritalStatus</entry>
+ <entry key="textResidenceAddress">http://www.stork.gov.eu/1.0/textResidenceAddress</entry>
+ <entry key="canonicalResidenceAddress">http://www.stork.gov.eu/1.0/canonicalResidenceAddress</entry>
+ <entry key="eMail">http://www.stork.gov.eu/1.0/eMail</entry>
+ <entry key="title">http://www.stork.gov.eu/1.0/title</entry>
+ <entry key="residencePermit">http://www.stork.gov.eu/1.0/residencePermit</entry>
+ <entry key="pseudonym">http://www.stork.gov.eu/1.0/pseudonym</entry>
+ <entry key="age">http://www.stork.gov.eu/1.0/age</entry>
+ <entry key="isAgeOver">http://www.stork.gov.eu/1.0/isAgeOver</entry>
+ <entry key="signedDoc">http://www.stork.gov.eu/1.0/signedDoc</entry>
+ <entry key="citizenQAALevel">http://www.stork.gov.eu/1.0/citizenQAALevel</entry>
+ <entry key="fiscalNumber">http://www.stork.gov.eu/1.0/fiscalNumber</entry>
+ <entry key="unknown">http://www.stork.gov.eu/1.0/unknown</entry>
+ <entry key="newAttribute1">http://www.stork.gov.eu/1.0/newAttribute1</entry>
+ <entry key="newAttribute2">http://www.stork.gov.eu/1.0/newAttribute2</entry>
+ <entry key="hasDegree">http://www.stork.gov.eu/1.0/hasDegree</entry>
+
+ <entry key="diplomaSupplement">http://www.stork.gov.eu/1.0/diplomaSupplement</entry>
+ <entry key="currentStudiesSupplement">http://www.stork.gov.eu/1.0/currentStudiesSupplement</entry>
+ <entry key="isStudent">http://www.stork.gov.eu/1.0/isStudent</entry>
+ <entry key="isAcademicStaff">http://www.stork.gov.eu/1.0/isAcademicStaff</entry>
+ <entry key="isTeacherOf">http://www.stork.gov.eu/1.0/isTeacherOf</entry>
+ <entry key="isCourseCoordinator">http://www.stork.gov.eu/1.0/isCourseCoordinator</entry>
+ <entry key="isAdminStaff">http://www.stork.gov.eu/1.0/isAdminStaff</entry>
+ <entry key="habilitation">http://www.stork.gov.eu/1.0/habilitation</entry>
+ <entry key="Title">http://www.stork.gov.eu/1.0/Title</entry>
+ <entry key="hasDegree">http://www.stork.gov.eu/1.0/hasDegree</entry>
+ <entry key="hasAccountInBank">http://www.stork.gov.eu/1.0/hasAccountInBank</entry>
+ <entry key="isHealthCareProfessional">http://www.stork.gov.eu/1.0/isHealthCareProfessional</entry>
+
+ <entry key="eLPIdentifier">http://www.stork.gov.eu/1.0/eLPIdentifier</entry>
+ <entry key="legalName">http://www.stork.gov.eu/1.0/legalName</entry>
+ <entry key="alternativeName">http://www.stork.gov.eu/1.0/alternativeName</entry>
+ <entry key="type">http://www.stork.gov.eu/1.0/type</entry>
+ <entry key="translatableType">http://www.stork.gov.eu/1.0/translatableType</entry>
+ <entry key="status">http://www.stork.gov.eu/1.0/status</entry>
+ <entry key="activity">http://www.stork.gov.eu/1.0/activity</entry>
+ <entry key="registeredAddress">http://www.stork.gov.eu/1.0/registeredAddress</entry>
+ <entry key="registeredCanonicalAddress">http://www.stork.gov.eu/1.0/registeredCanonicalAddress</entry>
+ <entry key="contactInformation">http://www.stork.gov.eu/1.0/contactInformation</entry>
+ <entry key="LPFiscalNumber">http://www.stork.gov.eu/1.0/LPFiscalNumber</entry>
+ <entry key="mandate">http://www.stork.gov.eu/1.0/mandate</entry>
+ <entry key="docRequest">http://www.stork.gov.eu/1.0/docRequest</entry>
+
</properties> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf3.xml b/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf3.xml
index bea40d274..61c6cd6d6 100644
--- a/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf3.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/StorkSamlEngine_Conf3.xml
@@ -2,56 +2,96 @@
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
- <comment>SAML constants for AuthnRequests and Responses.</comment>
-
- <!-- Types of consent obtained from the user for this authentication and
- data transfer. Allow values: 'unspecified'. -->
- <entry key="consentAuthnRequest">unspecified</entry>
- <!-- Allow values: 'obtained', 'prior', 'curent-implicit', 'curent-explicit',
- 'unspecified'. -->
- <entry key="consentAuthnResponse">obtained</entry>
-
- <!--URI representing the classification of the identifier Allow values:
- 'entity'. -->
- <entry key="formatEntity">entity</entry>
-
- <!--Only HTTP-POST binding is only supported for inter PEPS -->
- <!--The SOAP binding is only supported for direct communication between
- SP-MW and VIdP -->
- <entry key="protocolBinding">HTTP-POST</entry>
-
- <entry key="eIDSectorShare">false</entry>
- <entry key="eIDCrossSectorShare">false</entry>
- <entry key="eIDCrossBorderShare">false</entry>
-
- <!--PEPS in the Service Provider's country -->
- <entry key="requester">http://S-PEPS.gov.xx</entry>
-
- <!--PEPS in the citizen's origin country -->
- <entry key="responder">http://C-PEPS.gov.xx</entry>
-
- <!--Subject cannot be confirmed on or after this seconds time -->
- <entry key="timeNotOnOrAfter">300</entry>
-
- <!--Validation IP of the response -->
- <entry key="ipAddrValidation">false</entry>
-
- <!--Subject Attribute Definitions -->
- <entry key="eIdentifier">http://www.stork.gov.eu/1.0/eIdentifier</entry>
- <entry key="givenName">http://www.stork.gov.eu/1.0/givenName</entry>
- <entry key="surname">http://www.stork.gov.eu/1.0/surname</entry>
- <entry key="inheritedFamilyName">http://www.stork.gov.eu/1.0/inheritedFamilyName</entry>
- <entry key="adoptedFamilyName">http://www.stork.gov.eu/1.0/adoptedFamilyName</entry>
- <entry key="gender">http://www.stork.gov.eu/1.0/gender</entry>
- <entry key="dateOfBirth">http://www.stork.gov.eu/1.0/dateOfBirth</entry>
- <entry key="countryCodeOfBirth">http://www.stork.gov.eu/1.0/countryCodeOfBirth</entry>
- <entry key="nationalityCode">http://www.stork.gov.eu/1.0/nationalityCode</entry>
- <entry key="maritalStatus">http://www.stork.gov.eu/1.0/maritalStatus</entry>
- <entry key="residenceAddress">http://www.stork.gov.eu/1.0/residenceAddress</entry>
- <entry key="eMail">http://www.stork.gov.eu/1.0/eMail</entry>
- <entry key="academicTitle">http://www.stork.gov.eu/1.0/academicTitle</entry>
- <entry key="pseudonym">http://www.stork.gov.eu/1.0/pseudonym</entry>
- <entry key="age">http://www.stork.gov.eu/1.0/age</entry>
- <entry key="isAgeOver">http://www.stork.gov.eu/1.0/isAgeOver</entry>
- <entry key="unknown">http://www.stork.gov.eu/1.0/unknown</entry>
+ <comment>SAML constants for AuthnRequests and Responses.</comment>
+
+ <!-- Types of consent obtained from the user for this authentication and
+ data transfer. Allow values: 'unspecified'. -->
+ <entry key="consentAuthnRequest">unspecified</entry>
+ <!-- Allow values: 'obtained', 'prior', 'curent-implicit', 'curent-explicit',
+ 'unspecified'. -->
+ <entry key="consentAuthnResponse">obtained</entry>
+
+ <!--URI representing the classification of the identifier Allow values:
+ 'entity'. -->
+ <entry key="formatEntity">entity</entry>
+
+ <!--Only HTTP-POST binding is only supported for inter PEPS -->
+ <!--The SOAP binding is only supported for direct communication between
+ SP-MW and VIdP -->
+ <entry key="protocolBinding">HTTP-POST</entry>
+
+ <entry key="eIDSectorShare">false</entry>
+ <entry key="eIDCrossSectorShare">false</entry>
+ <entry key="eIDCrossBorderShare">false</entry>
+
+ <!--PEPS in the Service Provider's country -->
+ <entry key="requester">http://S-PEPS.gov.xx</entry>
+
+ <!--PEPS in the citizen's origin country -->
+ <entry key="responder">http://C-PEPS.gov.xx</entry>
+
+ <!-- Format -->
+ <entry key="format">urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</entry>
+
+ <!--Subject cannot be confirmed on or after this seconds time -->
+ <entry key="timeNotOnOrAfter">300</entry>
+
+ <!--Validation IP of the response -->
+ <entry key="ipAddrValidation">false</entry>
+
+ <!--Subject Attribute Definitions-->
+ <entry key="eIdentifier">http://www.stork.gov.eu/1.0/eIdentifier</entry>
+ <entry key="givenName">http://www.stork.gov.eu/1.0/givenName</entry>
+ <entry key="surname">http://www.stork.gov.eu/1.0/surname</entry>
+ <entry key="inheritedFamilyName">http://www.stork.gov.eu/1.0/inheritedFamilyName</entry>
+ <entry key="adoptedFamilyName">http://www.stork.gov.eu/1.0/adoptedFamilyName</entry>
+ <entry key="gender">http://www.stork.gov.eu/1.0/gender</entry>
+ <entry key="dateOfBirth">http://www.stork.gov.eu/1.0/dateOfBirth</entry>
+ <entry key="countryCodeOfBirth">http://www.stork.gov.eu/1.0/countryCodeOfBirth</entry>
+ <entry key="placeOfBirth">http://www.stork.gov.eu/1.0/placeOfBirth</entry>
+ <entry key="nationalityCode">http://www.stork.gov.eu/1.0/nationalityCode</entry>
+ <entry key="maritalStatus">http://www.stork.gov.eu/1.0/maritalStatus</entry>
+ <entry key="textResidenceAddress">http://www.stork.gov.eu/1.0/textResidenceAddress</entry>
+ <entry key="canonicalResidenceAddress">http://www.stork.gov.eu/1.0/canonicalResidenceAddress</entry>
+ <entry key="eMail">http://www.stork.gov.eu/1.0/eMail</entry>
+ <entry key="title">http://www.stork.gov.eu/1.0/title</entry>
+ <entry key="residencePermit">http://www.stork.gov.eu/1.0/residencePermit</entry>
+ <entry key="pseudonym">http://www.stork.gov.eu/1.0/pseudonym</entry>
+ <entry key="age">http://www.stork.gov.eu/1.0/age</entry>
+ <entry key="isAgeOver">http://www.stork.gov.eu/1.0/isAgeOver</entry>
+ <entry key="signedDoc">http://www.stork.gov.eu/1.0/signedDoc</entry>
+ <entry key="citizenQAALevel">http://www.stork.gov.eu/1.0/citizenQAALevel</entry>
+ <entry key="fiscalNumber">http://www.stork.gov.eu/1.0/fiscalNumber</entry>
+ <entry key="unknown">http://www.stork.gov.eu/1.0/unknown</entry>
+ <entry key="newAttribute1">http://www.stork.gov.eu/1.0/newAttribute1</entry>
+ <entry key="newAttribute2">http://www.stork.gov.eu/1.0/newAttribute2</entry>
+ <entry key="hasDegree">http://www.stork.gov.eu/1.0/hasDegree</entry>
+
+ <entry key="diplomaSupplement">http://www.stork.gov.eu/1.0/diplomaSupplement</entry>
+ <entry key="currentStudiesSupplement">http://www.stork.gov.eu/1.0/currentStudiesSupplement</entry>
+ <entry key="isStudent">http://www.stork.gov.eu/1.0/isStudent</entry>
+ <entry key="isAcademicStaff">http://www.stork.gov.eu/1.0/isAcademicStaff</entry>
+ <entry key="isTeacherOf">http://www.stork.gov.eu/1.0/isTeacherOf</entry>
+ <entry key="isCourseCoordinator">http://www.stork.gov.eu/1.0/isCourseCoordinator</entry>
+ <entry key="isAdminStaff">http://www.stork.gov.eu/1.0/isAdminStaff</entry>
+ <entry key="habilitation">http://www.stork.gov.eu/1.0/habilitation</entry>
+ <entry key="Title">http://www.stork.gov.eu/1.0/Title</entry>
+ <entry key="hasDegree">http://www.stork.gov.eu/1.0/hasDegree</entry>
+ <entry key="hasAccountInBank">http://www.stork.gov.eu/1.0/hasAccountInBank</entry>
+ <entry key="isHealthCareProfessional">http://www.stork.gov.eu/1.0/isHealthCareProfessional</entry>
+
+ <entry key="eLPIdentifier">http://www.stork.gov.eu/1.0/eLPIdentifier</entry>
+ <entry key="legalName">http://www.stork.gov.eu/1.0/legalName</entry>
+ <entry key="alternativeName">http://www.stork.gov.eu/1.0/alternativeName</entry>
+ <entry key="type">http://www.stork.gov.eu/1.0/type</entry>
+ <entry key="translatableType">http://www.stork.gov.eu/1.0/translatableType</entry>
+ <entry key="status">http://www.stork.gov.eu/1.0/status</entry>
+ <entry key="activity">http://www.stork.gov.eu/1.0/activity</entry>
+ <entry key="registeredAddress">http://www.stork.gov.eu/1.0/registeredAddress</entry>
+ <entry key="registeredCanonicalAddress">http://www.stork.gov.eu/1.0/registeredCanonicalAddress</entry>
+ <entry key="contactInformation">http://www.stork.gov.eu/1.0/contactInformation</entry>
+ <entry key="LPFiscalNumber">http://www.stork.gov.eu/1.0/LPFiscalNumber</entry>
+ <entry key="mandate">http://www.stork.gov.eu/1.0/mandate</entry>
+ <entry key="docRequest">http://www.stork.gov.eu/1.0/docRequest</entry>
+
</properties> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequest.xml b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequest.xml
index 3764389e4..d4f6f89da 100644
--- a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequest.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequest.xml
@@ -1,82 +1,68 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<saml2p:AttributeQuery xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
- xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
- xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:assertion" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol"
- xmlns:xs="http://www.w3.org/2001/XMLSchema" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"
- Destination="http://A-PEPS.gov.xx/PEPS/AttributeColleagueRequest" ID="_939726f0a02072f40b548de378612a50"
- IssueInstant="2013-10-04T16:57:55.547Z" Version="2.0">
- <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://S-PEPS.gov.xx</saml2:Issuer>
- <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
- <ds:SignedInfo>
- <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
- <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
- <ds:Reference URI="#_939726f0a02072f40b548de378612a50">
- <ds:Transforms>
- <ds:Transform
- Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
- <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
- <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"
- PrefixList="xs" />
- </ds:Transform>
- </ds:Transforms>
- <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
- <ds:DigestValue>BgPDTVCv7BhiWIs6HsC06jaHaag=</ds:DigestValue>
- </ds:Reference>
- </ds:SignedInfo>
- <ds:SignatureValue>dIC61bGi6Jqp1zSVojpjaVq9WaZcDtNImXgo1Dyze5/hJA07Sy4TaHu+/IuLEC99aLjM6rxh2UUNqpPaQCFlF5eVkVv/c4gHEZVyevhjJKTidqmnuhlI78PGMx2thfxFsHsPcqHqOzy1Z6w18K1ds6APQP+aXI9TNKis+pykn4nJititYuiSseD0VY0F4QnXx+U6k3raoi1CAFE5fe7EuI/KfxuhhQLAbLq90Vm8R94ITBjfSS25mXstXNe9zppTSjDB42ld1TjDovDwXAn5OxiZasIEb5m68sRlxgoQ/2/+ZdYNNINFLAwkCbb8MiCbGASd626Bme0Kx+ropeWdxw==</ds:SignatureValue>
- <ds:KeyInfo>
- <ds:X509Data>
- <ds:X509Certificate>MIIDXjCCAkagAwIBAgIEUk1MbDANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJJUzESMBAGA1UE
- CAwJUmV5a2phdmlrMRIwEAYDVQQHDAlSZXlramF2aWsxEDAOBgNVBAoMB0FkdmFuaWExDzANBgNV
- BAsMBlNUT1JLMjEXMBUGA1UEAwwOc2FtbC1kZW1vLWNlcnQwHhcNMTMxMDAzMTA1MzEyWhcNMjMx
- MDAzMTA1MzEyWjBxMQswCQYDVQQGEwJJUzESMBAGA1UECAwJUmV5a2phdmlrMRIwEAYDVQQHDAlS
- ZXlramF2aWsxEDAOBgNVBAoMB0FkdmFuaWExDzANBgNVBAsMBlNUT1JLMjEXMBUGA1UEAwwOc2Ft
- bC1kZW1vLWNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCkSgTxZkNRXZTKLB0c
- 4oz7/8Dh56FX+0cYg7hjw4e8vn+ITXkxzrmUH57FtsvKln4mq1H0FHXL80u3IiWX8qY+QLgNeKeB
- m85lXuyOb3wWpKAaQvpLAkejGLCx22AN2L0WZkKZV2puwRQVsRHCq6U6vToJXDZ6Ui6ltKsAl/ZS
- 8qUFpiIvqD5ea4ohz4JsFE/uApRc7pbJ4VbOmAAeH/tQTayptq2kPb2vvUVk+2cH5J7UD+GCI88E
- e+mS+C33tV9NmWUHL69mYEe8FXjumbKA5e9i1ejn9i0/BLUtHFonHnL9YFMim0foI7NNc5mNg9aw
- vm0PuByVU3kuibQkqGBLAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAA9X5B4NBmVuhjECi+KOnRRX
- 5oUV+jbYKhGZODDPi+F4Uo7ZtPFQ6sS3tE54+8AoDl5zQ5q5fDDVXhB42IIIjDxHKo8cBXie5FZ6
- mJtErvWZWYWdO0uV2OQAUALq2LieidqSFDJ+Pjl8w1New8oi3migwyE0jZo4Q97lJGDfJTruV0A2
- JE/Gt6QAAcWhhN2hZl92pYkIi5OeqHXyzBUp5vg8LLfNmeyziCAiXDC1Sy/aQU/cllZ3zFJMrqZM
- s2xBpmB4sF1YRbIrr2OqEVE6M6DUx+pAQOd2uogV3AMT9D5MYpckI1jx/o/Tto7ju74nIVOskDiN
- K0FR8izxcT0HixM=</ds:X509Certificate>
- </ds:X509Data>
- </ds:KeyInfo>
- </ds:Signature>
- <saml2p:Extensions>
- <stork:QualityAuthenticationAssuranceLevel>3</stork:QualityAuthenticationAssuranceLevel>
- <storkp:eIDSectorShare>false</storkp:eIDSectorShare>
- <storkp:eIDCrossSectorShare>false</storkp:eIDCrossSectorShare>
- <storkp:eIDCrossBorderShare>false</storkp:eIDCrossBorderShare>
- <storkp:RequestedAttributes>
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/dateOfBirth"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="false" />
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/isAgeOver"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true">
- <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">16</stork:AttributeValue>
- <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">18</stork:AttributeValue>
- </stork:RequestedAttribute>
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/givenName"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true">
- <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">Sveinbjorn</stork:AttributeValue>
- </stork:RequestedAttribute>
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/eIdentifier"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true">
- <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">ES/IS/1234567890</stork:AttributeValue>
- </stork:RequestedAttribute>
- </storkp:RequestedAttributes>
- </saml2p:Extensions>
- <saml2:Subject>
- <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer" />
- </saml2:Subject>
+<?xml version="1.0" encoding="UTF-8"?><saml2p:AttributeQuery xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:assertion" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol" xmlns:xs="http://www.w3.org/2001/XMLSchema" AssertionConsumerServiceURL="http://S-PEPS.gov.xx/PEPS/ColleagueResponse" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" Destination="http://A-PEPS.gov.xx/PEPS/AttributeColleagueRequest" ID="_bf999e47edabb47770eb406a5d37f24e" IssueInstant="2014-04-25T12:49:39.398Z" Version="2.0">
+ <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://S-PEPS.gov.xx</saml2:Issuer>
+ <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:SignedInfo>
+ <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+ <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
+ <ds:Reference URI="#_bf999e47edabb47770eb406a5d37f24e">
+ <ds:Transforms>
+ <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
+ <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="xs"/>
+ </ds:Transform>
+ </ds:Transforms>
+ <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <ds:DigestValue>NwBXMUys6XjoR7Ddbr6JI5gB+O8=</ds:DigestValue>
+ </ds:Reference>
+ </ds:SignedInfo>
+ <ds:SignatureValue>MFoAC5mncGKFyvZKygSIH7+9JrXWMJ18jolBHZ0WisxpIrDldS+K+Mf6uwOirL5mal2uktpIT2RRiT1Twk+fS5t94wnobaLpktpv+uoZCzd2BAqFpBBHnImwC/UEy7hCF9htsW8CCx97wRXHA4IGx5OX9Fg4f+ZJdPPFLrGpdfJ3bJXvQeQPwGLqhjWio/XnAYwJYQ8YGQvRywZDDodTZDWHsKMHAsrIdmNJz93wmMPceRtgcUceZdN4jDkPE8SPNrApe2ksd3dEKauyyJQ2DR5jryVQpGM7sJzQhP9Z57XIJta+c/nJ7bttw+M+QsZn/E+CLQpcI8MeuuhBb1+mGA==</ds:SignatureValue>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>MIIDIjCCAgqgAwIBAgIES6idsjANBgkqhkiG9w0BAQUFADBTMQswCQYDVQQGEwJFUzEOMAwGA1UE
+ CAwFU3BhaW4xDzANBgNVBAcMBk1hZHJpZDEOMAwGA1UECgwFSW5kcmExEzARBgNVBAMMCmxvY2Fs
+ LWRlbW8wHhcNMTMwODI4MTY0NzM1WhcNMTUwODI4MTY0NzM1WjBTMQswCQYDVQQGEwJFUzEOMAwG
+ A1UECAwFU3BhaW4xDzANBgNVBAcMBk1hZHJpZDEOMAwGA1UECgwFSW5kcmExEzARBgNVBAMMCmxv
+ Y2FsLWRlbW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx+7zEQUbt8Ot9dByR5TuY
+ NPmTwaKhECtnkxYAx9tl+Ga3kFiv+dOSeDoQOhxkICG1ZMaG0Gtk0EQWjscC1cLwDXpAOdhOm5xh
+ ndFHxa3V3Y3zomFZA7A3nwP8wt17wDrc1xi2Ye8VrwO7Vjb/F8Rgutlcrvq+LF4g9nQLoRiKUq8w
+ NFvDlvhBbLr8hMVBMY/jY7tSQ85qLqKUkWRcoDttJjgWZoO1vpBS4m+FywtYdOoHnN6fv4Dvf1r2
+ rNLgebgBvSfwznxiulwW6FBLasYX0rYKP7RfwG8TJ+FumOgAjADj2LdwK25RZNg44XU2V1z1Fp37
+ fNXhfo08LpdD1ueFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBADMRGTWOmadZyCoJNluV+M7LopjC
+ 9WpFUj76X0cAoNXmt12zYqYe8hjRmBr6l2V/FXT3/TyWET1nILG46zwwAxslw3b2LvkhU+9QcuB8
+ yC8TCJJ0kgsTZ/EUZPSbwUG7Nn2jkMiyjlyKcjSCQOzEKQyR1xYwyZG40+BPeGbYjmRgm6kcmCxY
+ USWoPwNyfke9gNT80f0pUj7wJ9YwWbTIz1rhf/h7rxoMYypXo+JXwaXW/Ra8v1uDcwfKpE5ZgwAU
+ nubLXF4A+H7/N7ZvB5XDwJ4W+99nuPsKfwacD8m1sflTXcEPzzhOq6iQ9anJT94/pMctnp827zXA
+ y66jvDrin5I=</ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </ds:Signature>
+ <saml2p:Extensions>
+ <stork:QualityAuthenticationAssuranceLevel>3</stork:QualityAuthenticationAssuranceLevel>
+ <stork:spCountry>IS</stork:spCountry>
+ <storkp:eIDSectorShare>false</storkp:eIDSectorShare>
+ <storkp:eIDCrossSectorShare>false</storkp:eIDCrossSectorShare>
+ <storkp:eIDCrossBorderShare>false</storkp:eIDCrossBorderShare>
+ <storkp:RequestedAttributes>
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/eIdentifier" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true">
+ <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">ES/IS/1234567890</stork:AttributeValue>
+ </stork:RequestedAttribute>
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/givenName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true">
+ <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">Sveinbjorn</stork:AttributeValue>
+ </stork:RequestedAttribute>
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/dateOfBirth" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="false"/>
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/fiscalNumber" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true">
+ <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">fiscalNumber</stork:AttributeValue>
+ </stork:RequestedAttribute>
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/isAgeOver" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true">
+ <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">16</stork:AttributeValue>
+ <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">18</stork:AttributeValue>
+ </stork:RequestedAttribute>
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/LPFiscalNumber" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true">
+ <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">LPFiscalNumber</stork:AttributeValue>
+ </stork:RequestedAttribute>
+ </storkp:RequestedAttributes>
+ </saml2p:Extensions>
+ <saml2:Subject>
+ <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"/>
+ </saml2:Subject>
</saml2p:AttributeQuery> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequestSdoc.xml b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequestSdoc.xml
index d64572829..fadc86d14 100644
--- a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequestSdoc.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequestSdoc.xml
@@ -1,15 +1,54 @@
-<?xml version="1.0" encoding="UTF-8"?><saml2p:AttributeQuery xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:assertion" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol" xmlns:xs="http://www.w3.org/2001/XMLSchema" AssertionConsumerServiceURL="http://S-PEPS.gov.xx/PEPS/ColleagueResponse" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" Destination="http://A-PEPS.gov.xx/PEPS/AttributeColleagueRequest" ID="_334488599e0c2781ff34857c4964debb" IssueInstant="2014-02-06T22:09:18.113Z" Version="2.0"><saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://S-PEPS.gov.xx</saml2:Issuer><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference URI="#_334488599e0c2781ff34857c4964debb"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="xs"/></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>X1nUVB6qXdoKbJzNekiSo9ExLdw=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>ExCPHHC/9OhdhOl1Ou+43Qw1nvskpbMYMu9vqa7m16doxM2PIUmK7LUw7hZiKtjIdBxuhpca3OrjO8O6MuTDN1FksWoj+7B1KTLFtmspucT5O7Cu2OqhK5WIVuCaLuA7CD0N2UfFouRwR5NlLHyzn9Trd7IM5OjA41dGb5jqYl7Ir+62+MgjhZRlLooDzb5fDAczbxv9LHGiKRBpgnk40w3gDAvoSPNdEuKhZi8LPQWWNBvVi3N5ZmJmAIacZWBqePywXTjygmChWAc8p7ptAX6tw0hpBxyxoW3aaZZzWQNcwobTRYbn89fcM11gqIz/YK7VXtiQ7WEQt1enQD/GAA==</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509Certificate>MIIDIjCCAgqgAwIBAgIES6idsjANBgkqhkiG9w0BAQUFADBTMQswCQYDVQQGEwJFUzEOMAwGA1UE
-CAwFU3BhaW4xDzANBgNVBAcMBk1hZHJpZDEOMAwGA1UECgwFSW5kcmExEzARBgNVBAMMCmxvY2Fs
-LWRlbW8wHhcNMTMwODI4MTY0NzM1WhcNMTUwODI4MTY0NzM1WjBTMQswCQYDVQQGEwJFUzEOMAwG
-A1UECAwFU3BhaW4xDzANBgNVBAcMBk1hZHJpZDEOMAwGA1UECgwFSW5kcmExEzARBgNVBAMMCmxv
-Y2FsLWRlbW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx+7zEQUbt8Ot9dByR5TuY
-NPmTwaKhECtnkxYAx9tl+Ga3kFiv+dOSeDoQOhxkICG1ZMaG0Gtk0EQWjscC1cLwDXpAOdhOm5xh
-ndFHxa3V3Y3zomFZA7A3nwP8wt17wDrc1xi2Ye8VrwO7Vjb/F8Rgutlcrvq+LF4g9nQLoRiKUq8w
-NFvDlvhBbLr8hMVBMY/jY7tSQ85qLqKUkWRcoDttJjgWZoO1vpBS4m+FywtYdOoHnN6fv4Dvf1r2
-rNLgebgBvSfwznxiulwW6FBLasYX0rYKP7RfwG8TJ+FumOgAjADj2LdwK25RZNg44XU2V1z1Fp37
-fNXhfo08LpdD1ueFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBADMRGTWOmadZyCoJNluV+M7LopjC
-9WpFUj76X0cAoNXmt12zYqYe8hjRmBr6l2V/FXT3/TyWET1nILG46zwwAxslw3b2LvkhU+9QcuB8
-yC8TCJJ0kgsTZ/EUZPSbwUG7Nn2jkMiyjlyKcjSCQOzEKQyR1xYwyZG40+BPeGbYjmRgm6kcmCxY
-USWoPwNyfke9gNT80f0pUj7wJ9YwWbTIz1rhf/h7rxoMYypXo+JXwaXW/Ra8v1uDcwfKpE5ZgwAU
-nubLXF4A+H7/N7ZvB5XDwJ4W+99nuPsKfwacD8m1sflTXcEPzzhOq6iQ9anJT94/pMctnp827zXA
-y66jvDrin5I=</ds:X509Certificate></ds:X509Data></ds:KeyInfo></ds:Signature><saml2p:Extensions><stork:QualityAuthenticationAssuranceLevel>3</stork:QualityAuthenticationAssuranceLevel><stork:spCountry>IS</stork:spCountry><storkp:eIDSectorShare>false</storkp:eIDSectorShare><storkp:eIDCrossSectorShare>false</storkp:eIDCrossSectorShare><storkp:eIDCrossBorderShare>false</storkp:eIDCrossBorderShare><storkp:RequestedAttributes><stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/docRequest" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true"><stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">IS/IS/fbea6e68-0393-401b-b616-f767fff9418c</stork:AttributeValue></stork:RequestedAttribute></storkp:RequestedAttributes></saml2p:Extensions><saml2:Subject><saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"/></saml2:Subject></saml2p:AttributeQuery> \ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><saml2p:AttributeQuery xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:assertion" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol" xmlns:xs="http://www.w3.org/2001/XMLSchema" AssertionConsumerServiceURL="http://S-PEPS.gov.xx/PEPS/ColleagueResponse" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" Destination="http://A-PEPS.gov.xx/PEPS/AttributeColleagueRequest" ID="_0b74cf761d490383ac5127629a39a458" IssueInstant="2014-04-25T12:49:39.848Z" Version="2.0">
+ <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://S-PEPS.gov.xx</saml2:Issuer>
+ <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:SignedInfo>
+ <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+ <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
+ <ds:Reference URI="#_0b74cf761d490383ac5127629a39a458">
+ <ds:Transforms>
+ <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
+ <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="xs"/>
+ </ds:Transform>
+ </ds:Transforms>
+ <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <ds:DigestValue>2WMvsIXoH1VpwqbNiXG8lWS2ZPc=</ds:DigestValue>
+ </ds:Reference>
+ </ds:SignedInfo>
+ <ds:SignatureValue>nMfUZiYHyHgSky4NHfDGch8a6UxWupS1Dhk2mu3L065Vq2eKLfDwWjgNkKPDoLcEkgAiDpNlLsS0+nDk8IexAMSq+T54Mlt4AhMRIrDP3SlWya5mqQ0VnxFENGlhi7kSKK2oIMfkiaeIBART7QBZggSZFnk0mw/BzmJM5bJ4Dipymndx7tv98BDlWFZEKH7iSc9uUuMpVygTNDxtEsdMcBKpqYiyVyTln8/xKsqXSL4RA10MYmqfvFsMZWUwQUgdl5tor910/XrAXHXJY50zH0CwekUXszOdvO7s3WvrG4lt3goqq2WDcaeDzizV93+Ih+lVl9PebTtMxCyO4fxw7Q==</ds:SignatureValue>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>MIIDIjCCAgqgAwIBAgIES6idsjANBgkqhkiG9w0BAQUFADBTMQswCQYDVQQGEwJFUzEOMAwGA1UE
+ CAwFU3BhaW4xDzANBgNVBAcMBk1hZHJpZDEOMAwGA1UECgwFSW5kcmExEzARBgNVBAMMCmxvY2Fs
+ LWRlbW8wHhcNMTMwODI4MTY0NzM1WhcNMTUwODI4MTY0NzM1WjBTMQswCQYDVQQGEwJFUzEOMAwG
+ A1UECAwFU3BhaW4xDzANBgNVBAcMBk1hZHJpZDEOMAwGA1UECgwFSW5kcmExEzARBgNVBAMMCmxv
+ Y2FsLWRlbW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx+7zEQUbt8Ot9dByR5TuY
+ NPmTwaKhECtnkxYAx9tl+Ga3kFiv+dOSeDoQOhxkICG1ZMaG0Gtk0EQWjscC1cLwDXpAOdhOm5xh
+ ndFHxa3V3Y3zomFZA7A3nwP8wt17wDrc1xi2Ye8VrwO7Vjb/F8Rgutlcrvq+LF4g9nQLoRiKUq8w
+ NFvDlvhBbLr8hMVBMY/jY7tSQ85qLqKUkWRcoDttJjgWZoO1vpBS4m+FywtYdOoHnN6fv4Dvf1r2
+ rNLgebgBvSfwznxiulwW6FBLasYX0rYKP7RfwG8TJ+FumOgAjADj2LdwK25RZNg44XU2V1z1Fp37
+ fNXhfo08LpdD1ueFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBADMRGTWOmadZyCoJNluV+M7LopjC
+ 9WpFUj76X0cAoNXmt12zYqYe8hjRmBr6l2V/FXT3/TyWET1nILG46zwwAxslw3b2LvkhU+9QcuB8
+ yC8TCJJ0kgsTZ/EUZPSbwUG7Nn2jkMiyjlyKcjSCQOzEKQyR1xYwyZG40+BPeGbYjmRgm6kcmCxY
+ USWoPwNyfke9gNT80f0pUj7wJ9YwWbTIz1rhf/h7rxoMYypXo+JXwaXW/Ra8v1uDcwfKpE5ZgwAU
+ nubLXF4A+H7/N7ZvB5XDwJ4W+99nuPsKfwacD8m1sflTXcEPzzhOq6iQ9anJT94/pMctnp827zXA
+ y66jvDrin5I=</ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </ds:Signature>
+ <saml2p:Extensions>
+ <stork:QualityAuthenticationAssuranceLevel>3</stork:QualityAuthenticationAssuranceLevel>
+ <stork:spCountry>IS</stork:spCountry>
+ <storkp:eIDSectorShare>false</storkp:eIDSectorShare>
+ <storkp:eIDCrossSectorShare>false</storkp:eIDCrossSectorShare>
+ <storkp:eIDCrossBorderShare>false</storkp:eIDCrossBorderShare>
+ <storkp:RequestedAttributes>
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/docRequest" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true">
+ <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">IS/IS/fbea6e68-0393-401b-b616-f767fff9418c</stork:AttributeValue>
+ </stork:RequestedAttribute>
+ </storkp:RequestedAttributes>
+ </saml2p:Extensions>
+ <saml2:Subject>
+ <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"/>
+ </saml2:Subject>
+</saml2p:AttributeQuery> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequestTagDelete.xml b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequestTagDelete.xml
index becc689fe..5c04f5c93 100644
--- a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequestTagDelete.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryRequestTagDelete.xml
@@ -1,66 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<saml2p:AttributeQuery xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
- xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
- xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:assertion" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol"
- xmlns:xs="http://www.w3.org/2001/XMLSchema" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"
- Destination="http://C-PEPS.gov.xx/PEPS/ColleagueRequest" ID="_f6c8fc355b9f125cb5283f038e1b3cdf"
- IssueInstant="2013-10-03T10:28:15.449Z" Version="2.0">
- <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://S-PEPS.gov.xx</saml2:Issuer>
- <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
- <ds:SignatureValue>hhQXDKNrJJ3Yy/pkZNZF4GlWrA/Xsx4CH9chgVa5HK4qZQvFXvZwegdw6U7rm7qv0zmI4xaLTv/bpmqJzEPfY3sIvrDRu9EouEKwtjbMbcvVQsx7I+j0yy7/cBcQJe3lRwQwyvazfYVbnSeGFxBN6WOHPqv6uInaQO/hXkicT3tBtm8o3UgUDY6c8wIMuD5A0hWTkL6z6f893AbdN85OQYAdHItNsQWeLOIeiGC918X7qqTfhFtBAB2oGVjlsSEqWox1jNqrPl1jjA0dP76m5SIVSqF8XcDR306ZB9GLJywOHKba0lxGLsXOAzJ+8u9jeixJ6VZKFqZg2Fhl/saKbg==</ds:SignatureValue>
- <ds:KeyInfo>
- <ds:X509Data>
- <ds:X509Certificate>MIIDJzCCAg8CBEuonbIwDQYJKoZIhvcNAQEFBQAwWDELMAkGA1UEBhMCRVMxDjAMBgNVBAgMBVNw
- YWluMQ8wDQYDVQQHDAZNYWRyaWQxDjAMBgNVBAoMBUluZHJhMRgwFgYDVQQDDA9sb2NhbC1kZW1v
- LWNlcnQwHhcNMTAwMzIzMTA1MzM4WhcNMTAwNjAxMTA1MzM4WjBYMQswCQYDVQQGEwJFUzEOMAwG
- A1UECAwFU3BhaW4xDzANBgNVBAcMBk1hZHJpZDEOMAwGA1UECgwFSW5kcmExGDAWBgNVBAMMD2xv
- Y2FsLWRlbW8tY2VydDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJfdQ1/mkM9sqqab
- ri8qqqX4s0J6UEEXyF+0AjLU8RC4WMeYFSZ5tfwnyLsoXY0/9bZLXnBxSibQYaf4SnpZJhlVA4sU
- 0d8qyEWA2OvXGDCm7uspGHG3CRQa7fpHsmHmfIAqho9XDlwpwJdx5gK4Edc6aArcMQfjqMhy1s1n
- 6Of1i1lMGGsGrERIRY7biIQu/8nITbHH18sUAZMG1u/Q0Avi9O3LWyswHXUouZ818fWwG6xru2N5
- y6vtVO/SL3doRSdqYkEms93TgxTtaKg8XNe24zhNTte6nvWLaKesi2KzZGC57HU47HBFEs8NWk7z
- 9BDf8uLyPz9VDahwVKzMto8CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAgpuReXQ7Dsfdoe5zzy2F
- 6kn1qqtMkRGsBPKnDFCI/GkIZpBiqlfwdh6sipnFKWfKEDlPKN1kEhbkDR2GA1Cp4F4ZSL/HumZM
- pWabRhDxhTPvHIFbbShPDJY93+jw/yQeaWgMuhw3WzdH9TrVoRZH0Q7sG1pIJo5/6IogIZwFvJHT
- /NDutKmurU6Lw8Vnde8PfnQd+FTEhz0SEGyKkWjAuhGbJfseBy/z3L+MJq1rdSQ9PF7wXDvWNzJq
- yaNBUWWBV1TskvkNZXcaguroVPy2XhA1aixlAajWEXLk6Uuj5UYqalrV/reNYvDvY0BV2CIn51r7
- Ppm8IFVTk8mYfX8/jw==</ds:X509Certificate>
- </ds:X509Data>
- </ds:KeyInfo>
- </ds:Signature>
- <saml2p:Extensions>
- <stork:QualityAuthenticationAssuranceLevel>3</stork:QualityAuthenticationAssuranceLevel>
- <storkp:eIDSectorShare>false</storkp:eIDSectorShare>
- <storkp:eIDCrossSectorShare>false</storkp:eIDCrossSectorShare>
- <storkp:eIDCrossBorderShare>false</storkp:eIDCrossBorderShare>
- <storkp:RequestedAttributes>
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/dateOfBirth"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="false" />
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/isAgeOver"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true">
- <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">16</stork:AttributeValue>
- <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">18</stork:AttributeValue>
- </stork:RequestedAttribute>
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/givenName"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true">
- <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">Sveinbjörn</stork:AttributeValue>
- </stork:RequestedAttribute>
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/eIdentifier"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true">
- <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">ES/IS/1234567890</stork:AttributeValue>
- </stork:RequestedAttribute>
- </storkp:RequestedAttributes>
- </saml2p:Extensions>
- <saml2:Subject>
- <saml2:SubjectConfirmation
- Method="urn:oasis:names:tc:SAML:1.0:cm:sender-vouches" />
- </saml2:Subject>
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:assertion" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"
+ Destination="http://C-PEPS.gov.xx/PEPS/ColleagueRequest" ID="_f6c8fc355b9f125cb5283f038e1b3cdf"
+ IssueInstant="2013-10-03T10:28:15.449Z" Version="2.0">
+ <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://S-PEPS.gov.xx</saml2:Issuer>
+ <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:SignatureValue>hhQXDKNrJJ3Yy/pkZNZF4GlWrA/Xsx4CH9chgVa5HK4qZQvFXvZwegdw6U7rm7qv0zmI4xaLTv/bpmqJzEPfY3sIvrDRu9EouEKwtjbMbcvVQsx7I+j0yy7/cBcQJe3lRwQwyvazfYVbnSeGFxBN6WOHPqv6uInaQO/hXkicT3tBtm8o3UgUDY6c8wIMuD5A0hWTkL6z6f893AbdN85OQYAdHItNsQWeLOIeiGC918X7qqTfhFtBAB2oGVjlsSEqWox1jNqrPl1jjA0dP76m5SIVSqF8XcDR306ZB9GLJywOHKba0lxGLsXOAzJ+8u9jeixJ6VZKFqZg2Fhl/saKbg==</ds:SignatureValue>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>MIIDJzCCAg8CBEuonbIwDQYJKoZIhvcNAQEFBQAwWDELMAkGA1UEBhMCRVMxDjAMBgNVBAgMBVNw
+ YWluMQ8wDQYDVQQHDAZNYWRyaWQxDjAMBgNVBAoMBUluZHJhMRgwFgYDVQQDDA9sb2NhbC1kZW1v
+ LWNlcnQwHhcNMTAwMzIzMTA1MzM4WhcNMTAwNjAxMTA1MzM4WjBYMQswCQYDVQQGEwJFUzEOMAwG
+ A1UECAwFU3BhaW4xDzANBgNVBAcMBk1hZHJpZDEOMAwGA1UECgwFSW5kcmExGDAWBgNVBAMMD2xv
+ Y2FsLWRlbW8tY2VydDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJfdQ1/mkM9sqqab
+ ri8qqqX4s0J6UEEXyF+0AjLU8RC4WMeYFSZ5tfwnyLsoXY0/9bZLXnBxSibQYaf4SnpZJhlVA4sU
+ 0d8qyEWA2OvXGDCm7uspGHG3CRQa7fpHsmHmfIAqho9XDlwpwJdx5gK4Edc6aArcMQfjqMhy1s1n
+ 6Of1i1lMGGsGrERIRY7biIQu/8nITbHH18sUAZMG1u/Q0Avi9O3LWyswHXUouZ818fWwG6xru2N5
+ y6vtVO/SL3doRSdqYkEms93TgxTtaKg8XNe24zhNTte6nvWLaKesi2KzZGC57HU47HBFEs8NWk7z
+ 9BDf8uLyPz9VDahwVKzMto8CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAgpuReXQ7Dsfdoe5zzy2F
+ 6kn1qqtMkRGsBPKnDFCI/GkIZpBiqlfwdh6sipnFKWfKEDlPKN1kEhbkDR2GA1Cp4F4ZSL/HumZM
+ pWabRhDxhTPvHIFbbShPDJY93+jw/yQeaWgMuhw3WzdH9TrVoRZH0Q7sG1pIJo5/6IogIZwFvJHT
+ /NDutKmurU6Lw8Vnde8PfnQd+FTEhz0SEGyKkWjAuhGbJfseBy/z3L+MJq1rdSQ9PF7wXDvWNzJq
+ yaNBUWWBV1TskvkNZXcaguroVPy2XhA1aixlAajWEXLk6Uuj5UYqalrV/reNYvDvY0BV2CIn51r7
+ Ppm8IFVTk8mYfX8/jw==</ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </ds:Signature>
+ <saml2p:Extensions>
+ <stork:QualityAuthenticationAssuranceLevel>3</stork:QualityAuthenticationAssuranceLevel>
+ <storkp:eIDSectorShare>false</storkp:eIDSectorShare>
+ <storkp:eIDCrossSectorShare>false</storkp:eIDCrossSectorShare>
+ <storkp:eIDCrossBorderShare>false</storkp:eIDCrossBorderShare>
+ <storkp:RequestedAttributes>
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/dateOfBirth"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ isRequired="false" />
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/isAgeOver"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ isRequired="true">
+ <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:type="xs:anyType">16</stork:AttributeValue>
+ <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:type="xs:anyType">18</stork:AttributeValue>
+ </stork:RequestedAttribute>
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/givenName"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ isRequired="true">
+ <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:type="xs:anyType">Sveinbjörn</stork:AttributeValue>
+ </stork:RequestedAttribute>
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/eIdentifier"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ isRequired="true">
+ <stork:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:type="xs:anyType">ES/IS/1234567890</stork:AttributeValue>
+ </stork:RequestedAttribute>
+ </storkp:RequestedAttributes>
+ </saml2p:Extensions>
+ <saml2:Subject>
+ <saml2:SubjectConfirmation
+ Method="urn:oasis:names:tc:SAML:1.0:cm:sender-vouches" />
+ </saml2:Subject>
</saml2p:AttributeQuery> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryResponse.xml b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryResponse.xml
index 7ea486812..79c59f5ed 100644
--- a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryResponse.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AttrQueryResponse.xml
@@ -1,124 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<saml2p:Response xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
- xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
- xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:assertion" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol"
- xmlns:xs="http://www.w3.org/2001/XMLSchema" Consent="urn:oasis:names:tc:SAML:2.0:consent:obtained"
- Destination="http://C-PEPS.gov.xx/PEPS/ColleagueRequest" ID="_483140d440fc4eef8e949ace49669f2e"
- InResponseTo="_0a22c1120bf2de912714c24e99dd38ed" IssueInstant="2013-10-08T09:11:17.255Z"
- Version="2.0">
- <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://C-PEPS.gov.xx</saml2:Issuer>
- <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
- <ds:SignedInfo>
- <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
- <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
- <ds:Reference URI="#_483140d440fc4eef8e949ace49669f2e">
- <ds:Transforms>
- <ds:Transform
- Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
- <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
- <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"
- PrefixList="xs" />
- </ds:Transform>
- </ds:Transforms>
- <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
- <ds:DigestValue>yMOVS1T/yRiVh3L6IBM9rR9Ie3w=</ds:DigestValue>
- </ds:Reference>
- </ds:SignedInfo>
- <ds:SignatureValue>d8e/RyNNPmnHRIzTIuRSnW6B60oWGBGxjRua/HvNxTuod0qSarYJxEedhY9Wl1Z9WYXlry28FuKjp3DA3HhzNaVd7A7QpFqNC4dnizSVWFjxlhmoE/Uv3Y/ha9P/fk6nbtHCSKW4kHSX7QfFLeggcLmUG0IULRF8UmRdQ0WerCl0aSZZeSp8J3LsFBPeWCRSwXgfiLn+RehggzZmQU6g0ssxrpnsYEAtjAiOli+YVQGuumsZGaJ8zHA/DgJ2FTGovNUyfuSUFLhd9nLlSqFs2Avnx0Ck7Q1dxDO5truOm6e285YLHqLaGdetFyPQAj/Z4w4RJ5u5X6d7rhBjTfRAAw==</ds:SignatureValue>
- <ds:KeyInfo>
- <ds:X509Data>
- <ds:X509Certificate>MIIDJzCCAg8CBEuonbIwDQYJKoZIhvcNAQEFBQAwWDELMAkGA1UEBhMCRVMxDjAMBgNVBAgMBVNw
- YWluMQ8wDQYDVQQHDAZNYWRyaWQxDjAMBgNVBAoMBUluZHJhMRgwFgYDVQQDDA9sb2NhbC1kZW1v
- LWNlcnQwHhcNMTAwMzIzMTA1MzM4WhcNMTAwNjAxMTA1MzM4WjBYMQswCQYDVQQGEwJFUzEOMAwG
- A1UECAwFU3BhaW4xDzANBgNVBAcMBk1hZHJpZDEOMAwGA1UECgwFSW5kcmExGDAWBgNVBAMMD2xv
- Y2FsLWRlbW8tY2VydDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJfdQ1/mkM9sqqab
- ri8qqqX4s0J6UEEXyF+0AjLU8RC4WMeYFSZ5tfwnyLsoXY0/9bZLXnBxSibQYaf4SnpZJhlVA4sU
- 0d8qyEWA2OvXGDCm7uspGHG3CRQa7fpHsmHmfIAqho9XDlwpwJdx5gK4Edc6aArcMQfjqMhy1s1n
- 6Of1i1lMGGsGrERIRY7biIQu/8nITbHH18sUAZMG1u/Q0Avi9O3LWyswHXUouZ818fWwG6xru2N5
- y6vtVO/SL3doRSdqYkEms93TgxTtaKg8XNe24zhNTte6nvWLaKesi2KzZGC57HU47HBFEs8NWk7z
- 9BDf8uLyPz9VDahwVKzMto8CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAgpuReXQ7Dsfdoe5zzy2F
- 6kn1qqtMkRGsBPKnDFCI/GkIZpBiqlfwdh6sipnFKWfKEDlPKN1kEhbkDR2GA1Cp4F4ZSL/HumZM
- pWabRhDxhTPvHIFbbShPDJY93+jw/yQeaWgMuhw3WzdH9TrVoRZH0Q7sG1pIJo5/6IogIZwFvJHT
- /NDutKmurU6Lw8Vnde8PfnQd+FTEhz0SEGyKkWjAuhGbJfseBy/z3L+MJq1rdSQ9PF7wXDvWNzJq
- yaNBUWWBV1TskvkNZXcaguroVPy2XhA1aixlAajWEXLk6Uuj5UYqalrV/reNYvDvY0BV2CIn51r7
- Ppm8IFVTk8mYfX8/jw==</ds:X509Certificate>
- </ds:X509Data>
- </ds:KeyInfo>
- </ds:Signature>
- <saml2p:Status>
- <saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
- <saml2p:StatusMessage>urn:oasis:names:tc:SAML:2.0:status:Success</saml2p:StatusMessage>
- </saml2p:Status>
- <saml2:Assertion ID="_9ed05849dee5c154e62fa9e3ba53e9f3"
- IssueInstant="2013-10-08T09:11:17.255Z" Version="2.0">
- <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://C-PEPS.gov.xx</saml2:Issuer>
- <saml2:Subject>
- <saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
- NameQualifier="http://C-PEPS.gov.xx">urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</saml2:NameID>
- <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
- <saml2:SubjectConfirmationData
- Address="111.222.333.444" InResponseTo="_0a22c1120bf2de912714c24e99dd38ed"
- NotOnOrAfter="2013-10-08T09:16:17.255Z" />
- </saml2:SubjectConfirmation>
- </saml2:Subject>
- <saml2:Conditions NotBefore="2013-10-08T09:11:17.255Z"
- NotOnOrAfter="2013-10-08T09:16:17.255Z">
- <saml2:AudienceRestriction>
- <saml2:Audience>http://S-PEPS.gov.xx</saml2:Audience>
- </saml2:AudienceRestriction>
- <saml2:OneTimeUse />
- </saml2:Conditions>
- <saml2:AuthnStatement AuthnInstant="2013-10-08T09:11:17.255Z">
- <saml2:SubjectLocality Address="111.222.333.444" />
- <saml2:AuthnContext>
- <saml2:AuthnContextDecl />
- </saml2:AuthnContext>
- </saml2:AuthnStatement>
- <saml2:AttributeStatement>
- <saml2:Attribute Name="http://www.stork.gov.eu/1.0/dateOfBirth"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- stork:AttributeStatus="Available">
- <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">16/12/2008</saml2:AttributeValue>
- </saml2:Attribute>
- <saml2:Attribute
- Name="http://www.stork.gov.eu/1.0/canonicalResidenceAddress"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- stork:AttributeStatus="Available">
- <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">
- <stork:postalCode xsi:type="xs:anyType">105</stork:postalCode>
- <stork:state xsi:type="xs:anyType">IS</stork:state>
- <stork:streetNumber xsi:type="xs:anyType">10</stork:streetNumber>
- <stork:streetName xsi:type="xs:anyType">Gudrunartun</stork:streetName>
- <stork:town xsi:type="xs:anyType">Reykjavik</stork:town>
- </saml2:AttributeValue>
- </saml2:Attribute>
- <saml2:Attribute Name="http://www.stork.gov.eu/1.0/newAttribute2"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- stork:AttributeStatus="Available">
- <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">
- <stork:value3 xsi:type="xs:anyType">value3</stork:value3>
- <stork:value4 xsi:type="xs:anyType">value4</stork:value4>
- <stork:value1 xsi:type="xs:anyType">value1</stork:value1>
- <stork:value2 xsi:type="xs:anyType">value2</stork:value2>
- </saml2:AttributeValue>
- </saml2:Attribute>
- <saml2:Attribute Name="http://www.stork.gov.eu/1.0/isAgeOver"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- stork:AttributeStatus="Available">
- <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">16</saml2:AttributeValue>
- <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">18</saml2:AttributeValue>
- </saml2:Attribute>
- <saml2:Attribute Name="http://www.stork.gov.eu/1.0/eIdentifier"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- stork:AttributeStatus="Available">
- <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="xs:anyType">123456789IS</saml2:AttributeValue>
- </saml2:Attribute>
- </saml2:AttributeStatement>
- </saml2:Assertion>
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:assertion" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" Consent="urn:oasis:names:tc:SAML:2.0:consent:obtained"
+ Destination="http://C-PEPS.gov.xx/PEPS/ColleagueRequest" ID="_483140d440fc4eef8e949ace49669f2e"
+ InResponseTo="_0a22c1120bf2de912714c24e99dd38ed" IssueInstant="2013-10-08T09:11:17.255Z"
+ Version="2.0">
+ <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://C-PEPS.gov.xx</saml2:Issuer>
+ <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:SignedInfo>
+ <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+ <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
+ <ds:Reference URI="#_483140d440fc4eef8e949ace49669f2e">
+ <ds:Transforms>
+ <ds:Transform
+ Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
+ <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
+ <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"
+ PrefixList="xs" />
+ </ds:Transform>
+ </ds:Transforms>
+ <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
+ <ds:DigestValue>yMOVS1T/yRiVh3L6IBM9rR9Ie3w=</ds:DigestValue>
+ </ds:Reference>
+ </ds:SignedInfo>
+ <ds:SignatureValue>d8e/RyNNPmnHRIzTIuRSnW6B60oWGBGxjRua/HvNxTuod0qSarYJxEedhY9Wl1Z9WYXlry28FuKjp3DA3HhzNaVd7A7QpFqNC4dnizSVWFjxlhmoE/Uv3Y/ha9P/fk6nbtHCSKW4kHSX7QfFLeggcLmUG0IULRF8UmRdQ0WerCl0aSZZeSp8J3LsFBPeWCRSwXgfiLn+RehggzZmQU6g0ssxrpnsYEAtjAiOli+YVQGuumsZGaJ8zHA/DgJ2FTGovNUyfuSUFLhd9nLlSqFs2Avnx0Ck7Q1dxDO5truOm6e285YLHqLaGdetFyPQAj/Z4w4RJ5u5X6d7rhBjTfRAAw==</ds:SignatureValue>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>MIIDJzCCAg8CBEuonbIwDQYJKoZIhvcNAQEFBQAwWDELMAkGA1UEBhMCRVMxDjAMBgNVBAgMBVNw
+ YWluMQ8wDQYDVQQHDAZNYWRyaWQxDjAMBgNVBAoMBUluZHJhMRgwFgYDVQQDDA9sb2NhbC1kZW1v
+ LWNlcnQwHhcNMTAwMzIzMTA1MzM4WhcNMTAwNjAxMTA1MzM4WjBYMQswCQYDVQQGEwJFUzEOMAwG
+ A1UECAwFU3BhaW4xDzANBgNVBAcMBk1hZHJpZDEOMAwGA1UECgwFSW5kcmExGDAWBgNVBAMMD2xv
+ Y2FsLWRlbW8tY2VydDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJfdQ1/mkM9sqqab
+ ri8qqqX4s0J6UEEXyF+0AjLU8RC4WMeYFSZ5tfwnyLsoXY0/9bZLXnBxSibQYaf4SnpZJhlVA4sU
+ 0d8qyEWA2OvXGDCm7uspGHG3CRQa7fpHsmHmfIAqho9XDlwpwJdx5gK4Edc6aArcMQfjqMhy1s1n
+ 6Of1i1lMGGsGrERIRY7biIQu/8nITbHH18sUAZMG1u/Q0Avi9O3LWyswHXUouZ818fWwG6xru2N5
+ y6vtVO/SL3doRSdqYkEms93TgxTtaKg8XNe24zhNTte6nvWLaKesi2KzZGC57HU47HBFEs8NWk7z
+ 9BDf8uLyPz9VDahwVKzMto8CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAgpuReXQ7Dsfdoe5zzy2F
+ 6kn1qqtMkRGsBPKnDFCI/GkIZpBiqlfwdh6sipnFKWfKEDlPKN1kEhbkDR2GA1Cp4F4ZSL/HumZM
+ pWabRhDxhTPvHIFbbShPDJY93+jw/yQeaWgMuhw3WzdH9TrVoRZH0Q7sG1pIJo5/6IogIZwFvJHT
+ /NDutKmurU6Lw8Vnde8PfnQd+FTEhz0SEGyKkWjAuhGbJfseBy/z3L+MJq1rdSQ9PF7wXDvWNzJq
+ yaNBUWWBV1TskvkNZXcaguroVPy2XhA1aixlAajWEXLk6Uuj5UYqalrV/reNYvDvY0BV2CIn51r7
+ Ppm8IFVTk8mYfX8/jw==</ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </ds:Signature>
+ <saml2p:Status>
+ <saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
+ <saml2p:StatusMessage>urn:oasis:names:tc:SAML:2.0:status:Success</saml2p:StatusMessage>
+ </saml2p:Status>
+ <saml2:Assertion ID="_9ed05849dee5c154e62fa9e3ba53e9f3"
+ IssueInstant="2013-10-08T09:11:17.255Z" Version="2.0">
+ <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://C-PEPS.gov.xx</saml2:Issuer>
+ <saml2:Subject>
+ <saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
+ NameQualifier="http://C-PEPS.gov.xx">urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</saml2:NameID>
+ <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
+ <saml2:SubjectConfirmationData
+ Address="111.222.333.444" InResponseTo="_0a22c1120bf2de912714c24e99dd38ed"
+ NotOnOrAfter="2013-10-08T09:16:17.255Z" />
+ </saml2:SubjectConfirmation>
+ </saml2:Subject>
+ <saml2:Conditions NotBefore="2013-10-08T09:11:17.255Z"
+ NotOnOrAfter="2013-10-08T09:16:17.255Z">
+ <saml2:AudienceRestriction>
+ <saml2:Audience>http://S-PEPS.gov.xx</saml2:Audience>
+ </saml2:AudienceRestriction>
+ <saml2:OneTimeUse />
+ </saml2:Conditions>
+ <saml2:AuthnStatement AuthnInstant="2013-10-08T09:11:17.255Z">
+ <saml2:SubjectLocality Address="111.222.333.444" />
+ <saml2:AuthnContext>
+ <saml2:AuthnContextDecl />
+ </saml2:AuthnContext>
+ </saml2:AuthnStatement>
+ <saml2:AttributeStatement>
+ <saml2:Attribute Name="http://www.stork.gov.eu/1.0/dateOfBirth"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ stork:AttributeStatus="Available">
+ <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:type="xs:anyType">16/12/2008</saml2:AttributeValue>
+ </saml2:Attribute>
+ <saml2:Attribute
+ Name="http://www.stork.gov.eu/1.0/canonicalResidenceAddress"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ stork:AttributeStatus="Available">
+ <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:type="xs:anyType">
+ <stork:postalCode xsi:type="xs:anyType">105</stork:postalCode>
+ <stork:state xsi:type="xs:anyType">IS</stork:state>
+ <stork:streetNumber xsi:type="xs:anyType">10</stork:streetNumber>
+ <stork:streetName xsi:type="xs:anyType">Gudrunartun</stork:streetName>
+ <stork:town xsi:type="xs:anyType">Reykjavik</stork:town>
+ </saml2:AttributeValue>
+ </saml2:Attribute>
+ <saml2:Attribute Name="http://www.stork.gov.eu/1.0/newAttribute2"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ stork:AttributeStatus="Available">
+ <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:type="xs:anyType">
+ <stork:value3 xsi:type="xs:anyType">value3</stork:value3>
+ <stork:value4 xsi:type="xs:anyType">value4</stork:value4>
+ <stork:value1 xsi:type="xs:anyType">value1</stork:value1>
+ <stork:value2 xsi:type="xs:anyType">value2</stork:value2>
+ </saml2:AttributeValue>
+ </saml2:Attribute>
+ <saml2:Attribute Name="http://www.stork.gov.eu/1.0/isAgeOver"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ stork:AttributeStatus="Available">
+ <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:type="xs:anyType">16</saml2:AttributeValue>
+ <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:type="xs:anyType">18</saml2:AttributeValue>
+ </saml2:Attribute>
+ <saml2:Attribute Name="http://www.stork.gov.eu/1.0/eIdentifier"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ stork:AttributeStatus="Available">
+ <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:type="xs:anyType">123456789IS</saml2:AttributeValue>
+ </saml2:Attribute>
+ </saml2:AttributeStatement>
+ </saml2:Assertion>
</saml2p:Response> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequest.xml b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequest.xml
index c48bfde95..93e778113 100644
--- a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequest.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequest.xml
@@ -1,72 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
- xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
- xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:assertion" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol"
- AssertionConsumerServiceURL="http://S-PEPS.gov.xx/PEPS/ColleagueResponse"
- Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" Destination="http://C-PEPS.gov.xx/PEPS/ColleagueRequest"
- ForceAuthn="true" ID="_e54eee285e7b8e2772875c406ec39674" IsPassive="false"
- IssueInstant="2010-06-08T07:37:54.533Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
- ProviderName="University of Oxford" Version="2.0">
- <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://S-PEPS.gov.xx</saml2:Issuer>
- <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
- <ds:SignedInfo>
- <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
- <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
- <ds:Reference URI="#_e54eee285e7b8e2772875c406ec39674">
- <ds:Transforms>
- <ds:Transform
- Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
- <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
- <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"
- PrefixList="ds saml2 saml2p stork storkp xs" />
- </ds:Transform>
- </ds:Transforms>
- <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
- <ds:DigestValue>yzsqaxBNicOrixBUno5cL0CBOpE=</ds:DigestValue>
- </ds:Reference>
- </ds:SignedInfo>
- <ds:SignatureValue>
- Xycll1PF7hh3Xdykpr6nIr8Q6PQ6OxLIBBBugoGpAm/V4Hu7tKakHJp8TgtRWZ30jG5eolOXnJkC
- wiaTVUFaQz7cNn27syRJkdA+eYlz9doiwUJ5eD1cAyddZYsNPpSeAj5UK45oN0qCH+/pI9mRw8Oi
- YIN/BUEtXkoYTjPtkmA=
- </ds:SignatureValue>
- <ds:KeyInfo>
- <ds:X509Data>
- <ds:X509Certificate>MIIBmDCCAQECBEuWisIwDQYJKoZIhvcNAQEFBQAwEzERMA8GA1UEAxMIY291bnRyeTEwHhcNMTAw
- MzA5MTc1MjAyWhcNMTAwNjA3MTc1MjAyWjATMREwDwYDVQQDEwhjb3VudHJ5MTCBnzANBgkqhkiG
- 9w0BAQEFAAOBjQAwgYkCgYEAnb2gcchwxvJBclcsfCBWJnYefLJYQnDGCQ3RUtYZc26JznnLXclu
- h1XfLJlWgYk/pFKz7B9KfJztal47c6mBfisnxjhdcLqcbXOuRIm7E8TZPzdbHEd60WHPDv20jr+r
- /WkOQs12tKQMbgDX2wtBBcJODLYCDiYa1oQsnyhdOGkCAwEAATANBgkqhkiG9w0BAQUFAAOBgQBk
- 3luVRc0EqEE1zZeYvRPi5a2yOZfI9H+/rXI1qNLwmICnuJX++ukUbqJHm/FV1iSPM9O9oqzifJ/K
- eKL5EcUugJ76Tu5XO8za2FoJvYr+jIZDsEkCg+OSzcp/eljiWAIh2enZcQ/ON6QxWXeSNJPH0xOq
- KAoZgbUK0Zld3Dsheg==</ds:X509Certificate>
- </ds:X509Data>
- </ds:KeyInfo>
- </ds:Signature>
- <saml2p:Extensions>
- <stork:QualityAuthenticationAssuranceLevel>3</stork:QualityAuthenticationAssuranceLevel>
- <stork:spSector>EDU001</stork:spSector>
- <stork:spInstitution>OXF001</stork:spInstitution>
- <stork:spApplication>APP001</stork:spApplication>
- <stork:spCountry>EN</stork:spCountry>
- <storkp:eIDSectorShare>true</storkp:eIDSectorShare>
- <storkp:eIDCrossSectorShare>true</storkp:eIDCrossSectorShare>
- <storkp:eIDCrossBorderShare>true</storkp:eIDCrossBorderShare>
- <storkp:RequestedAttributes>
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/isAgeOver"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true">
- <stork:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">16</stork:AttributeValue>
- <stork:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">18</stork:AttributeValue>
- </stork:RequestedAttribute>
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/dateOfBirth"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="false" />
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/eIdentifier"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true" />
- </storkp:RequestedAttributes>
- </saml2p:Extensions>
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:assertion" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol"
+ AssertionConsumerServiceURL="http://S-PEPS.gov.xx/PEPS/ColleagueResponse"
+ Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" Destination="http://C-PEPS.gov.xx/PEPS/ColleagueRequest"
+ ForceAuthn="true" ID="_e54eee285e7b8e2772875c406ec39674" IsPassive="false"
+ IssueInstant="2010-06-08T07:37:54.533Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+ ProviderName="University of Oxford" Version="2.0">
+ <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://S-PEPS.gov.xx</saml2:Issuer>
+ <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:SignedInfo>
+ <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+ <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
+ <ds:Reference URI="#_e54eee285e7b8e2772875c406ec39674">
+ <ds:Transforms>
+ <ds:Transform
+ Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
+ <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
+ <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"
+ PrefixList="ds saml2 saml2p stork storkp xs" />
+ </ds:Transform>
+ </ds:Transforms>
+ <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
+ <ds:DigestValue>yzsqaxBNicOrixBUno5cL0CBOpE=</ds:DigestValue>
+ </ds:Reference>
+ </ds:SignedInfo>
+ <ds:SignatureValue>
+ Xycll1PF7hh3Xdykpr6nIr8Q6PQ6OxLIBBBugoGpAm/V4Hu7tKakHJp8TgtRWZ30jG5eolOXnJkC
+ wiaTVUFaQz7cNn27syRJkdA+eYlz9doiwUJ5eD1cAyddZYsNPpSeAj5UK45oN0qCH+/pI9mRw8Oi
+ YIN/BUEtXkoYTjPtkmA=
+ </ds:SignatureValue>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>MIIBmDCCAQECBEuWisIwDQYJKoZIhvcNAQEFBQAwEzERMA8GA1UEAxMIY291bnRyeTEwHhcNMTAw
+ MzA5MTc1MjAyWhcNMTAwNjA3MTc1MjAyWjATMREwDwYDVQQDEwhjb3VudHJ5MTCBnzANBgkqhkiG
+ 9w0BAQEFAAOBjQAwgYkCgYEAnb2gcchwxvJBclcsfCBWJnYefLJYQnDGCQ3RUtYZc26JznnLXclu
+ h1XfLJlWgYk/pFKz7B9KfJztal47c6mBfisnxjhdcLqcbXOuRIm7E8TZPzdbHEd60WHPDv20jr+r
+ /WkOQs12tKQMbgDX2wtBBcJODLYCDiYa1oQsnyhdOGkCAwEAATANBgkqhkiG9w0BAQUFAAOBgQBk
+ 3luVRc0EqEE1zZeYvRPi5a2yOZfI9H+/rXI1qNLwmICnuJX++ukUbqJHm/FV1iSPM9O9oqzifJ/K
+ eKL5EcUugJ76Tu5XO8za2FoJvYr+jIZDsEkCg+OSzcp/eljiWAIh2enZcQ/ON6QxWXeSNJPH0xOq
+ KAoZgbUK0Zld3Dsheg==</ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </ds:Signature>
+ <saml2p:Extensions>
+ <stork:QualityAuthenticationAssuranceLevel>3</stork:QualityAuthenticationAssuranceLevel>
+ <stork:spSector>EDU001</stork:spSector>
+ <stork:spInstitution>OXF001</stork:spInstitution>
+ <stork:spApplication>APP001</stork:spApplication>
+ <stork:spCountry>EN</stork:spCountry>
+ <storkp:eIDSectorShare>true</storkp:eIDSectorShare>
+ <storkp:eIDCrossSectorShare>true</storkp:eIDCrossSectorShare>
+ <storkp:eIDCrossBorderShare>true</storkp:eIDCrossBorderShare>
+ <storkp:RequestedAttributes>
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/isAgeOver"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ isRequired="true">
+ <stork:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">16</stork:AttributeValue>
+ <stork:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">18</stork:AttributeValue>
+ </stork:RequestedAttribute>
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/dateOfBirth"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ isRequired="false" />
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/eIdentifier"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ isRequired="true" />
+ </storkp:RequestedAttributes>
+ </saml2p:Extensions>
</saml2p:AuthnRequest> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequestTagDelete.xml b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequestTagDelete.xml
index 8766f9a8b..cca0dbc27 100644
--- a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequestTagDelete.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequestTagDelete.xml
@@ -1,47 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
- xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
- xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:stork" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol"
- AssertionConsumerServiceURL="http://localhost:8080/SP/ReturnPage"
- Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" Destination="http://locahost:8080/PEPS/ServiceProvider"
- ForceAuthn="true" ID="_0c64ff85-1323-4618-847b-12d1983b86e4" IsPassive="false"
- IssueInstant="2010-04-07T16:45:03.593Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
- ProviderName="PT-SP" Version="2.0">
- <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://S-PEPS.gov.xx</saml2:Issuer>
- <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
- <ds:SignatureValue>
- S6nY97RSCUJXq3HZ5obSLCI341LvtAA3vHjR1FWxrIMDPACQMqlNWBYNnRP1RiZiJV6x0RieH+SR
- Vkiy03jYyhr0XkwAE5Wd6Huf+zIbeTXjZkdQj7JpAXoB+ky4G/+L0deamvsP3eO7ZJ4grady4gmC
- Xt8p8tK3EoMocZse2hw=
- </ds:SignatureValue>
- <ds:KeyInfo>
- <ds:X509Data>
- <ds:X509Certificate>MIIBkTCB+wIESpT8bTANBgkqhkiG9w0BAQUFADAQMQ4wDAYDVQQDEwVzdG9yazAeFw0wOTA4MjYw
- OTEyMTNaFw0wOTExMjQwOTEyMTNaMBAxDjAMBgNVBAMTBXN0b3JrMIGfMA0GCSqGSIb3DQEBAQUA
- A4GNADCBiQKBgQDK/QL8NuMd41I1lObObeRA6DaM8bjeYqIz5mg5WnnZv4jlcK7Gq89Lk6htXRFl
- lAXpDYhI3zolMIMHEMZ3zQQPc7lgTV6Bbz9uD2YTJ9Kx55e8Y6Y49DO+TiiejGJxTzTFUcuBJHaK
- ipuvLVd1a8N3RAnaGSUOozhrTqxba82mEwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFJgeS18nhUl
- r7WnvSn9FlkI94U//Hk3iZLc3/cScTu7D7Y/J0eUq4TF8PsSzWX5khGuqrTkswNgfEtl2IpACQ2w
- kB8+RxeRNdddQlGHlO4ZqnpvxXBwSouiy2yUeAo0y++vMFm6DO4sxfk8eTtimPDo5SzBtjtGtbqS
- 3cyl/wz8</ds:X509Certificate>
- </ds:X509Data>
- </ds:KeyInfo>
- </ds:Signature>
- <saml2p:Extensions>
- <stork:QualityAuthenticationAssuranceLevel>3</stork:QualityAuthenticationAssuranceLevel>
- <storkp:eIDSectorShare>false</storkp:eIDSectorShare>
- <storkp:eIDCrossSectorShare>false</storkp:eIDCrossSectorShare>
- <storkp:eIDCrossBorderShare>false</storkp:eIDCrossBorderShare>
- <storkp:RequestedAttributes>
- <stork:RequestedAttribute
- Name="http://www.stork.gov.eu/1.0/nationalityCode" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true" />
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/dateOfBirth"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true" />
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/givenName"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true" />
- </storkp:RequestedAttributes>
- </saml2p:Extensions>
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:stork" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol"
+ AssertionConsumerServiceURL="http://localhost:8080/SP/ReturnPage"
+ Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" Destination="http://locahost:8080/PEPS/ServiceProvider"
+ ForceAuthn="true" ID="_0c64ff85-1323-4618-847b-12d1983b86e4" IsPassive="false"
+ IssueInstant="2010-04-07T16:45:03.593Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+ ProviderName="PT-SP" Version="2.0">
+ <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://S-PEPS.gov.xx</saml2:Issuer>
+ <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:SignatureValue>
+ S6nY97RSCUJXq3HZ5obSLCI341LvtAA3vHjR1FWxrIMDPACQMqlNWBYNnRP1RiZiJV6x0RieH+SR
+ Vkiy03jYyhr0XkwAE5Wd6Huf+zIbeTXjZkdQj7JpAXoB+ky4G/+L0deamvsP3eO7ZJ4grady4gmC
+ Xt8p8tK3EoMocZse2hw=
+ </ds:SignatureValue>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>MIIBkTCB+wIESpT8bTANBgkqhkiG9w0BAQUFADAQMQ4wDAYDVQQDEwVzdG9yazAeFw0wOTA4MjYw
+ OTEyMTNaFw0wOTExMjQwOTEyMTNaMBAxDjAMBgNVBAMTBXN0b3JrMIGfMA0GCSqGSIb3DQEBAQUA
+ A4GNADCBiQKBgQDK/QL8NuMd41I1lObObeRA6DaM8bjeYqIz5mg5WnnZv4jlcK7Gq89Lk6htXRFl
+ lAXpDYhI3zolMIMHEMZ3zQQPc7lgTV6Bbz9uD2YTJ9Kx55e8Y6Y49DO+TiiejGJxTzTFUcuBJHaK
+ ipuvLVd1a8N3RAnaGSUOozhrTqxba82mEwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFJgeS18nhUl
+ r7WnvSn9FlkI94U//Hk3iZLc3/cScTu7D7Y/J0eUq4TF8PsSzWX5khGuqrTkswNgfEtl2IpACQ2w
+ kB8+RxeRNdddQlGHlO4ZqnpvxXBwSouiy2yUeAo0y++vMFm6DO4sxfk8eTtimPDo5SzBtjtGtbqS
+ 3cyl/wz8</ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </ds:Signature>
+ <saml2p:Extensions>
+ <stork:QualityAuthenticationAssuranceLevel>3</stork:QualityAuthenticationAssuranceLevel>
+ <storkp:eIDSectorShare>false</storkp:eIDSectorShare>
+ <storkp:eIDCrossSectorShare>false</storkp:eIDCrossSectorShare>
+ <storkp:eIDCrossBorderShare>false</storkp:eIDCrossBorderShare>
+ <storkp:RequestedAttributes>
+ <stork:RequestedAttribute
+ Name="http://www.stork.gov.eu/1.0/nationalityCode" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ isRequired="true" />
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/dateOfBirth"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ isRequired="true" />
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/givenName"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ isRequired="true" />
+ </storkp:RequestedAttributes>
+ </saml2p:Extensions>
</saml2p:AuthnRequest> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequestTagDeleteEncoded.xml b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequestTagDeleteEncoded.xml
index 1b1e1646c..db606145c 100644
--- a/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequestTagDeleteEncoded.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/data/eu/stork/STORKSAMLEngine/AuthnRequestTagDeleteEncoded.xml
@@ -1,47 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
- xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
- xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:stork" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol"
- AssertionConsumerServiceURL="http://localhost:8080/SP/ReturnPage"
- Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" Destination="http://localhost:8080/PEPS/ServiceProvider"
- ForceAuthn="true" ID="_0c64ff85-1323-4618-847b-12d1983b86e4" IsPassive="false"
- IssueInstant="2010-04-07T16:45:03.593Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
- ProviderName="PT-SP" Version="2.0">
- <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://S-PEPS.gov.xx</saml2:Issuer>
- <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
- <ds:SignatureValue>
- S6nY97RSCUJXq3HZ5obSLCI341LvtAA3vHjR1FWxrIMDPACQMqlNWBYNnRP1RiZiJV6x0RieH+SR
- Vkiy03jYyhr0XkwAE5Wd6Huf+zIbeTXjZkdQj7JpAXoB+ky4G/+L0deamvsP3eO7ZJ4grady4gmC
- Xt8p8tK3EoMocZse2hw=
- </ds:SignatureValue>
- <ds:KeyInfo>
- <ds:X509Data>
- <ds:X509Certificate>MIIBkTCB+wIESpT8bTANBgkqhkiG9w0BAQUFADAQMQ4wDAYDVQQDEwVzdG9yazAeFw0wOTA4MjYw
- OTEyMTNaFw0wOTExMjQwOTEyMTNaMBAxDjAMBgNVBAMTBXN0b3JrMIGfMA0GCSqGSIb3DQEBAQUA
- A4GNADCBiQKBgQDK/QL8NuMd41I1lObObeRA6DaM8bjeYqIz5mg5WnnZv4jlcK7Gq89Lk6htXRFl
- lAXpDYhI3zolMIMHEMZ3zQQPc7lgTV6Bbz9uD2YTJ9Kx55e8Y6Y49DO+TiiejGJxTzTFUcuBJHaK
- ipuvLVd1a8N3RAnaGSUOozhrTqxba82mEwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFJgeS18nhUl
- r7WnvSn9FlkI94U//Hk3iZLc3/cScTu7D7Y/J0eUq4TF8PsSzWX5khGuqrTkswNgfEtl2IpACQ2w
- kB8+RxeRNdddQlGHlO4ZqnpvxXBwSouiy2yUeAo0y++vMFm6DO4sxfk8eTtimPDo5SzBtjtGtbqS
- 3cyl/wz8</ds:X509Certificate>
- </ds:X509Data>
- </ds:KeyInfo>
- </ds:Signature>
- <saml2p:Extensions>
- <stork:QualityAuthenticationAssuranceLevel>3</stork:QualityAuthenticationAssuranceLevel>
- <storkp:eIDSectorShare>false</storkp:eIDSectorShare>
- <storkp:eIDCrossSectorShare>false</storkp:eIDCrossSectorShare>
- <storkp:eIDCrossBorderShare>false</storkp:eIDCrossBorderShare>
- <storkp:RequestedAttributes>
- <stork:RequestedAttribute
- Name="http://www.stork.gov.eu/1.0/nationalityCode" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true" />
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/dateOfBirth"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true" />
- <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/givenName"
- NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
- isRequired="true" />
- </storkp:RequestedAttributes>
- </saml2p:Extensions>
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:stork="urn:eu:stork:names:tc:STORK:1.0:stork" xmlns:storkp="urn:eu:stork:names:tc:STORK:1.0:protocol"
+ AssertionConsumerServiceURL="http://localhost:8080/SP/ReturnPage"
+ Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" Destination="http://localhost:8080/PEPS/ServiceProvider"
+ ForceAuthn="true" ID="_0c64ff85-1323-4618-847b-12d1983b86e4" IsPassive="false"
+ IssueInstant="2010-04-07T16:45:03.593Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+ ProviderName="PT-SP" Version="2.0">
+ <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://S-PEPS.gov.xx</saml2:Issuer>
+ <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:SignatureValue>
+ S6nY97RSCUJXq3HZ5obSLCI341LvtAA3vHjR1FWxrIMDPACQMqlNWBYNnRP1RiZiJV6x0RieH+SR
+ Vkiy03jYyhr0XkwAE5Wd6Huf+zIbeTXjZkdQj7JpAXoB+ky4G/+L0deamvsP3eO7ZJ4grady4gmC
+ Xt8p8tK3EoMocZse2hw=
+ </ds:SignatureValue>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>MIIBkTCB+wIESpT8bTANBgkqhkiG9w0BAQUFADAQMQ4wDAYDVQQDEwVzdG9yazAeFw0wOTA4MjYw
+ OTEyMTNaFw0wOTExMjQwOTEyMTNaMBAxDjAMBgNVBAMTBXN0b3JrMIGfMA0GCSqGSIb3DQEBAQUA
+ A4GNADCBiQKBgQDK/QL8NuMd41I1lObObeRA6DaM8bjeYqIz5mg5WnnZv4jlcK7Gq89Lk6htXRFl
+ lAXpDYhI3zolMIMHEMZ3zQQPc7lgTV6Bbz9uD2YTJ9Kx55e8Y6Y49DO+TiiejGJxTzTFUcuBJHaK
+ ipuvLVd1a8N3RAnaGSUOozhrTqxba82mEwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFJgeS18nhUl
+ r7WnvSn9FlkI94U//Hk3iZLc3/cScTu7D7Y/J0eUq4TF8PsSzWX5khGuqrTkswNgfEtl2IpACQ2w
+ kB8+RxeRNdddQlGHlO4ZqnpvxXBwSouiy2yUeAo0y++vMFm6DO4sxfk8eTtimPDo5SzBtjtGtbqS
+ 3cyl/wz8</ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </ds:Signature>
+ <saml2p:Extensions>
+ <stork:QualityAuthenticationAssuranceLevel>3</stork:QualityAuthenticationAssuranceLevel>
+ <storkp:eIDSectorShare>false</storkp:eIDSectorShare>
+ <storkp:eIDCrossSectorShare>false</storkp:eIDCrossSectorShare>
+ <storkp:eIDCrossBorderShare>false</storkp:eIDCrossBorderShare>
+ <storkp:RequestedAttributes>
+ <stork:RequestedAttribute
+ Name="http://www.stork.gov.eu/1.0/nationalityCode" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ isRequired="true" />
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/dateOfBirth"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ isRequired="true" />
+ <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/givenName"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
+ isRequired="true" />
+ </storkp:RequestedAttributes>
+ </saml2p:Extensions>
</saml2p:AuthnRequest> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/logback-test.xml b/id/server/stork2-saml-engine/src/test/resources/logback-test.xml
index 99d7d353a..84d48c00e 100644
--- a/id/server/stork2-saml-engine/src/test/resources/logback-test.xml
+++ b/id/server/stork2-saml-engine/src/test/resources/logback-test.xml
@@ -2,20 +2,20 @@
<!-- Basic configuration used until the IdP can load the real configuration -->
<configuration>
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <layout class="ch.qos.logback.classic.PatternLayout">
- <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
- </Pattern>
- </layout>
- </appender>
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <layout class="ch.qos.logback.classic.PatternLayout">
+ <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+ </Pattern>
+ </layout>
+ </appender>
- <logger name="eu.stork">
- <level value="DEBUG" />
- </logger>
+ <logger name="eu.stork">
+ <level value="DEBUG" />
+ </logger>
- <root>
- <appender-ref ref="STDOUT" />
- <level value="INFO" />
- </root>
+ <root>
+ <appender-ref ref="STDOUT" />
+ <level value="INFO" />
+ </root>
</configuration> \ No newline at end of file
diff --git a/id/server/stork2-saml-engine/src/test/resources/p11Conf.cfg b/id/server/stork2-saml-engine/src/test/resources/p11Conf.cfg
index bd9f357ce..84f7050d1 100644
--- a/id/server/stork2-saml-engine/src/test/resources/p11Conf.cfg
+++ b/id/server/stork2-saml-engine/src/test/resources/p11Conf.cfg
@@ -1,21 +1,15 @@
-//ATTRIBUTE VALUE
-//name name suffix of this provider instance
-//library pathname of PKCS#11 implementation
-//slotListIndex slot index
-
-//PREFIX DESCRIPTION
-//CKO_ Object class
-//CKA_ Attribute
-//CKK_ Key type
-
-//attributes(operation, keytype, keyalgorithm) = {
-// name1 = value1
-// [...]
-//}
-
-name=nameProvider
-library=library.dll
-slotListIndex=0
+name=OpenDNSSEC
+library = /usr/lib/softhsm/libsofthsm.so
+slot = 0
+attributes(generate, *, *) = {
+ CKA_TOKEN = true
+}
+attributes(generate, CKO_CERTIFICATE, *) = {
+ CKA_PRIVATE = false
+}
+attributes(generate, CKO_PUBLIC_KEY, *) = {
+ CKA_PRIVATE = false
+}
attributes(*,CKO_PUBLIC_KEY,CKK_RSA)={
CKA_VERIFY=true
}