aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2015-02-18 13:47:14 +0100
committerThomas Lenz <tlenz@iaik.tugraz.at>2015-02-18 13:47:14 +0100
commitbf086cff8ef680b73ca0300147c3c3b70ab32ae0 (patch)
tree1174cdc916982f5f879cde1fc587147a7dced63d
parent570527d48e3bf03444cdda08a4c1bcf8e7d4ff42 (diff)
parent271e22add71f0260f5d421844a2171a09093f505 (diff)
downloadmoa-id-spss-bf086cff8ef680b73ca0300147c3c3b70ab32ae0.tar.gz
moa-id-spss-bf086cff8ef680b73ca0300147c3c3b70ab32ae0.tar.bz2
moa-id-spss-bf086cff8ef680b73ca0300147c3c3b70ab32ae0.zip
Merge branch 'datentechnik_modularization' into moa-id-2.2-merge
Conflicts: id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java id/server/stork2-commons/pom.xml id/server/stork2-commons/src/main/java/eu/stork/peps/complex/attributes/.svn/entries id/server/stork2-commons/src/main/resources/.svn/entries id/server/stork2-saml-engine/pom.xml pom.xml
-rw-r--r--common/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java3
-rw-r--r--id/ConfigWebTool/pom.xml4
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/servlets/Authenticate.java1
-rw-r--r--id/oa/pom.xml4
-rw-r--r--id/oa/src/main/webapp/WEB-INF/web.xml4
-rw-r--r--id/pom.xml11
-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/web.xml333
-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/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/doc/handbook/index.html2
-rw-r--r--id/server/doc/handbook/moduledevinfo/ProcessDefinition.xsd53
-rw-r--r--id/server/doc/handbook/moduledevinfo/moduledevinfo.html379
-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/pom.xml146
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java98
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java3
-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.java41
-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.java101
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/CreateIdentityLinkFormTask.java119
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GetForeignIDTask.java182
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GetMISSessionIDTask.java181
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/PrepareAuthBlockSignatureTask.java102
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyAuthenticationBlockTask.java246
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyCertificateTask.java164
-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/servlet/AuthServlet.java38
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java79
-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.java3
-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.java83
-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/config/auth/AuthConfigLoader.java2
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java3
-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.java189
-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.java355
-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.java21
-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.java73
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/SpringWebExpressionEvaluator.java138
-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/exceptions/loginFormFull.html2
-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/ServletUtils.java3
-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.properties8
-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/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.java54
-rw-r--r--id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/GetIdentityLinkTask.java50
-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.java52
-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.java46
-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/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/moa-id-commons/pom.xml39
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/SSLUtils.java1
-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.xml22
-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/STORKWebApplicationInitializer.java48
-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.java112
-rw-r--r--id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorHandleLocalSignResponseTask.java216
-rw-r--r--id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorHandleResponseWithoutSignatureTask.java439
-rw-r--r--id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/PepsConnectorTask.java566
-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/pom.xml49
-rw-r--r--id/server/pom.xml81
-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.xml7
-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/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/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/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/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/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/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/DateUtilTestCase.java2
-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-saml-engine/pom.xml5
-rw-r--r--pom.xml112
-rw-r--r--repository/org/apache/xerces/serializer/2.10.0/serializer-2.10.0.jarbin0 -> 278286 bytes
-rw-r--r--repository/org/apache/xerces/serializer/2.10.0/serializer-2.10.0.pom9
-rw-r--r--repository/org/apache/xerces/xercesImpl/2.10.0/xercesImpl-2.10.0.jarbin0 -> 1363159 bytes
-rw-r--r--repository/org/apache/xerces/xercesImpl/2.10.0/xercesImpl-2.10.0.pom9
-rw-r--r--repository/org/apache/xerces/xml-apis/2.10.0/xml-apis-2.10.0.jarbin0 -> 220536 bytes
-rw-r--r--repository/org/apache/xerces/xml-apis/2.10.0/xml-apis-2.10.0.pom9
-rw-r--r--spss/handbook/clients/api/pom.xml1
-rw-r--r--spss/handbook/clients/pom.xml1
-rw-r--r--spss/handbook/clients/referencedData/pom.xml1
-rw-r--r--spss/handbook/clients/webservice/pom.xml2
-rw-r--r--spss/server/serverlib/pom.xml5
-rw-r--r--spss/server/serverws/.project42
-rw-r--r--spss/server/tools/pom.xml4
396 files changed, 9346 insertions, 33841 deletions
diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java
index 5b7a92004..e3468b89f 100644
--- a/common/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java
+++ b/common/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java
@@ -51,7 +51,8 @@ public class DateTimeUtilsTest extends TestCase {
public void testParseDateTimeValid() throws Exception {
Date date;
- DateFormat format = SimpleDateFormat.getDateTimeInstance();
+ DateFormat format = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+
String dateStr;
format.setTimeZone(TimeZone.getTimeZone("GMT"));
diff --git a/id/ConfigWebTool/pom.xml b/id/ConfigWebTool/pom.xml
index 961b58c8b..1ddcf4dc1 100644
--- a/id/ConfigWebTool/pom.xml
+++ b/id/ConfigWebTool/pom.xml
@@ -197,8 +197,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/servlets/Authenticate.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/servlets/Authenticate.java
index 390b8c476..f7406c42e 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
@@ -84,6 +84,7 @@ public class Authenticate extends HttpServlet {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
try {
+ // FIXME[tlenz]: Neither DocumentBuilderFactory nor DocumentBuilder is guaranteed to be thread-safe!
builder = factory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
log.warn("PVP2 AuthenticationServlet can not be initialized.", e);
diff --git a/id/oa/pom.xml b/id/oa/pom.xml
index 93993c8a4..c97db6db2 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>
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/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/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/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/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/doc/handbook/index.html b/id/server/doc/handbook/index.html
index 76d7da1b0..1f71d56e2 100644
--- a/id/server/doc/handbook/index.html
+++ b/id/server/doc/handbook/index.html
@@ -46,6 +46,8 @@
<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>
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..801bfcce6
--- /dev/null
+++ b/id/server/doc/handbook/moduledevinfo/moduledevinfo.html
@@ -0,0 +1,379 @@
+<!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>
+ 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/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/pom.xml b/id/server/idserverlib/pom.xml
index 44a6c3e60..cab3c73e1 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -24,13 +24,26 @@
<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>
@@ -147,11 +160,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 +231,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>
@@ -367,15 +377,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 +405,66 @@
</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>
+
+ <!-- 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 +496,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 +522,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 +555,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/auth/AuthenticationServer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java
index 43384c58a..b9ce76d0c 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
@@ -311,27 +311,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,
@@ -1095,14 +1096,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 +1363,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 +1381,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 +1402,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 +1709,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);
@@ -1787,12 +1743,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 +1770,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 +1779,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:");
@@ -1900,6 +1864,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"));
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..d4ce8670e 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
@@ -148,12 +148,15 @@ public class MOAIDAuthInitializer {
}
}
+ // FIXME[@tlenz]: iaik.prod:iaik_X509TrustManager requires iaik.IAIKRuntimeException which might have been moved to iaik.server.modules (iaik.prod:iaik_moa:1.51))
// 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/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..a31f3ceb0
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/AuthModule.java
@@ -0,0 +1,41 @@
+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();
+
+ /**
+ * Checks if the module has a process, which is able to perform an authentication with the given
+ * {@link ExecutionContext}.
+ *
+ * @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/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..bc73a9f2f
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/CertificateReadRequestTask.java
@@ -0,0 +1,101 @@
+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 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.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 Exception {
+
+ // 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);
+
+ String pendingRequestID = null;
+
+ try {
+
+ String sessionID = StringEscapeUtils.escapeHtml(req.getParameter(PARAM_SESSIONID));
+
+ // check parameter
+ if (!ParamValidatorUtils.isValidSessionID(sessionID)) {
+ throw new WrongParametersException("CertificateReadRequestTask", PARAM_SESSIONID, "auth.12");
+ }
+
+ pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(sessionID);
+
+ 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) {
+ handleError(null, ex, req, resp, pendingRequestID);
+ } 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..4cd1ea94e
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/CreateIdentityLinkFormTask.java
@@ -0,0 +1,119 @@
+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.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 Exception {
+
+ String pendingRequestID = null;
+ 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 {
+
+ pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(moasessionid);
+ 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);
+ }
+
+ catch (MOAIDException ex) {
+ handleError(null, ex, req, resp, pendingRequestID);
+
+ } catch (Exception e) {
+ Logger.error("CreateIdentityLinkFormTask has an interal Error.", 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..4771628a3
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GetForeignIDTask.java
@@ -0,0 +1,182 @@
+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.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 Exception {
+
+ Logger.debug("POST GetForeignIDServlet");
+
+ setNoCachingHeaders(resp);
+
+ Map<String, String> parameters;
+
+ try {
+ parameters = getParameters(req);
+ } catch (FileUploadException e) {
+ Logger.error("Parsing mulitpart/form-data request parameters failed: " + e.getMessage());
+ throw 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) {
+ handleError(null, ex, req, resp, pendingRequestID);
+
+ } catch (Exception e) {
+ Logger.error("GetForeignIDServlet has an interal Error.", 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..f08f96782
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GetMISSessionIDTask.java
@@ -0,0 +1,181 @@
+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.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 Exception {
+
+ 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) {
+ handleError(null, ex, req, resp, pendingRequestID);
+
+ } catch (GeneralSecurityException ex) {
+ handleError(null, ex, req, resp, pendingRequestID);
+
+ } catch (PKIException e) {
+ handleError(null, e, req, resp, pendingRequestID);
+
+ } catch (SAXException e) {
+ handleError(null, e, req, resp, pendingRequestID);
+
+ } catch (ParserConfigurationException e) {
+ handleError(null, e, req, resp, pendingRequestID);
+
+ } catch (Exception e) {
+ Logger.error("MISMandateValidation has an interal Error.", 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..dcea3a1dd
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/PrepareAuthBlockSignatureTask.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 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.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 Exception {
+ // 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) {
+ handleError(null, ex, req, resp, pendingRequestID);
+
+ } catch (Exception e) {
+ Logger.error("IdentityLinkValidation has an interal Error.", 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..1e1a4df89
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyAuthenticationBlockTask.java
@@ -0,0 +1,246 @@
+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.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 Exception {
+
+ // 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 e)
+ {
+ Logger.error("Parsing mulitpart/form-data request parameters failed: " + e.getMessage());
+ throw 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) {
+ handleError(null, ex, req, resp, pendingRequestID);
+
+ } catch (GeneralSecurityException e) {
+ handleError(null, e, req, resp, pendingRequestID);
+
+ } catch (PKIException e) {
+ handleError(null, e, req, resp, pendingRequestID);
+
+ } catch (TransformerException e) {
+ handleError(null, e, req, resp, pendingRequestID);
+
+ } catch (Exception e) {
+ Logger.error("AuthBlockValidation has an interal Error.", 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..32ea7fe3a
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/VerifyCertificateTask.java
@@ -0,0 +1,164 @@
+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.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 Exception {
+
+ // note: code taken from at.gv.egovernment.moa.id.auth.servlet.VerifyCertificateServlet
+
+ Logger.debug("POST VerifyCertificateServlet");
+
+ String pendingRequestID = null;
+
+ Map<String, String> parameters;
+ try
+ {
+ parameters = getParameters(req);
+ } catch (FileUploadException e)
+ {
+ Logger.error("Parsing mulitpart/form-data request parameters failed: " + e.getMessage());
+ throw new IOException(e.getMessage());
+ }
+ String sessionID = req.getParameter(PARAM_SESSIONID);
+
+ // escape parameter strings
+ sessionID = StringEscapeUtils.escapeHtml(sessionID);
+
+ pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(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) {
+ handleError(null, ex, req, resp, pendingRequestID);
+
+ } catch (Exception e) {
+ Logger.error("CertificateValidation has an interal Error.", 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..bf10b3681
--- /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.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 Exception {
+
+ // note: code taken from at.gv.egovernment.moa.id.auth.servlet.VerifyIdentityLinkServlet
+
+ Logger.debug("POST VerifyIdentityLink");
+
+ setNoCachingHeaders(resp);
+
+ Map<String, String> parameters;
+ String pendingRequestID = null;
+
+ try {
+ parameters = getParameters(req);
+ } catch (Exception e) {
+ Logger.error("Parsing mulitpart/form-data request parameters failed: " + e.getMessage());
+ throw 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");
+ }
+ pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(sessionID);
+
+ AuthenticationSession session = AuthenticationServer.getSession(sessionID);
+
+ boolean identityLinkAvailable = AuthenticationServer.getInstance().verifyIdentityLink(session, parameters) != null;
+ AuthenticationSessionStoreage.storeSession(session);
+
+ executionContext.put("identityLinkAvailable", identityLinkAvailable);
+
+ } catch (ParseException ex) {
+ handleError(null, ex, req, resp, pendingRequestID);
+
+ } catch (MOAIDException ex) {
+ handleError(null, ex, req, resp, pendingRequestID);
+
+ } catch (Exception e) {
+ Logger.error("IdentityLinkValidation has an interal Error.", 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..fa1878e74
--- /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 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/servlet/AuthServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AuthServlet.java
index e5b2c598c..331a7653a 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,6 +66,11 @@ 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;
@@ -74,6 +79,7 @@ import at.gv.egovernment.moa.id.auth.exception.MOAIDException;
import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;
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.storage.DBExceptionStoreImpl;
import at.gv.egovernment.moa.id.storage.IExceptionStore;
import at.gv.egovernment.moa.id.util.ServletUtils;
@@ -97,6 +103,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 {
@@ -454,4 +465,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 99a7dce89..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,55 +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");
@@ -98,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");
@@ -168,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);
}
@@ -206,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 8aef6af2d..7357818c8 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
@@ -104,6 +104,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 {
@@ -155,6 +156,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));
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..a99b7aeef
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/ProcessEngineSignalServlet.java
@@ -0,0 +1,83 @@
+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.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.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(req.getParameter(PARAM_SESSIONID));
+
+ setNoCachingHeaders(resp);
+ try {
+
+ // check parameter
+ if (!ParamValidatorUtils.isValidSessionID(sessionID)) {
+ throw new WrongParametersException("ProcessEngineSignal", PARAM_SESSIONID, "auth.12");
+ }
+
+ // retrieve moa session
+ 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, null);
+ } finally {
+ MOASessionDBUtils.closeSession();
+ }
+
+ }
+
+}
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/config/auth/AuthConfigLoader.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigLoader.java
index b02c0946c..593b72658 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) {
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 80364a2ab..c746c0888 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
@@ -111,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;
/**
@@ -345,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);
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 333bd35f1..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;
@@ -78,6 +78,11 @@ 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;
@@ -97,25 +102,24 @@ 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;
}
/**
@@ -323,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;
@@ -548,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();
@@ -569,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..0ffa22ec3
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessEngineImpl.java
@@ -0,0 +1,355 @@
+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.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..6401b1d5d
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/api/Task.java
@@ -0,0 +1,21 @@
+package at.gv.egovernment.moa.id.process.api;
+
+
+/**
+ * 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 Exception;
+
+}
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..bae6391ec
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/MoaIdTask.java
@@ -0,0 +1,73 @@
+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.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 Exception;
+
+ @Override
+ public void execute(ExecutionContext executionContext) throws Exception {
+ 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..499e86fa0
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/springweb/SpringWebExpressionEvaluator.java
@@ -0,0 +1,138 @@
+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 = 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);
+ }
+
+ 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/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/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/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/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..ad01644a1 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,9 @@ 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.
pvp2.00={0} ist kein gueltiger consumer service index
pvp2.01=Fehler beim kodieren der PVP2 Antwort
@@ -266,4 +269,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/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/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..7e56071bd
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/CreateSAML1AssertionTask.java
@@ -0,0 +1,54 @@
+package at.gv.egovernment.moa.id.process.spring.test.task;
+
+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.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 Exception {
+ 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")));
+ }
+
+ }
+
+}
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..412fb0123
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/GetIdentityLinkTask.java
@@ -0,0 +1,50 @@
+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.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 IOException {
+ 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")));
+ }
+ }
+
+}
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..8099c0f98
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/SignAuthBlockTask.java
@@ -0,0 +1,52 @@
+package at.gv.egovernment.moa.id.process.spring.test.task;
+
+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.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 Exception {
+ 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")));
+ }
+ }
+
+}
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..07b2ea69c
--- /dev/null
+++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/process/spring/test/task/ValidateSignedAuthBlockTask.java
@@ -0,0 +1,46 @@
+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;
+
+/**
+ * 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 Exception {
+ 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/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/moa-id-commons/pom.xml b/id/server/moa-id-commons/pom.xml
index 21286585e..c504a7f0c 100644
--- a/id/server/moa-id-commons/pom.xml
+++ b/id/server/moa-id-commons/pom.xml
@@ -143,6 +143,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>
@@ -150,8 +181,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>
@@ -199,8 +230,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/utils/ssl/SSLUtils.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/SSLUtils.java
index 68437a04d..dfd549b6a 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/SSLUtils.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/SSLUtils.java
@@ -177,6 +177,7 @@ public class SSLUtils {
// This call fixes a bug occuring when PKIConfiguration is
// initialized by the MOA-SP initialization code, in case
// MOA-SP is called by API
+ // FIXME[tlenz]: Requires IAIKX509TrustManager (iaik.prod:iaik_X509TrustManager requires iaik.IAIKRuntimeException which might have been moved to iaik.server.modules (iaik.prod:iaik_moa:1.51)))
MOAIDTrustManager.initializeLoggingContext();
IAIKX509TrustManager tm = new MOAIDTrustManager(acceptedServerCertURL);
tm.init(cfg, profile);
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..8761e17ee
--- /dev/null
+++ b/id/server/modules/module-stork/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-stork</artifactId>
+ <version>${moa-id-version}</version>
+ <packaging>jar</packaging>
+
+ <name>MOA ID-Module STORK</name>
+
+ <properties>
+ <repositoryPath>${basedir}/../../../../repository</repositoryPath>
+ </properties>
+
+</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/STORKWebApplicationInitializer.java b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKWebApplicationInitializer.java
new file mode 100644
index 000000000..c54c9a26d
--- /dev/null
+++ b/id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKWebApplicationInitializer.java
@@ -0,0 +1,48 @@
+package at.gv.egovernment.moa.id.auth.modules.stork;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRegistration;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.WebApplicationInitializer;
+
+import at.gv.egovernment.moa.id.auth.servlet.ProcessEngineSignalServlet;
+
+/**
+ * Spring automatically discovers {@link WebApplicationInitializer} implementations at startup.<br/>
+ * This STORK webapp initializer adds the required servlet mappings:
+ * <ul>
+ * <li>{@code /PEPSConnector}</li>
+ * <li>{@code /PEPSConnectorWithLocalSigning}</li>
+ * </ul>
+ * for the {@linkplain ProcessEngineSignalServlet process engine servlet} (named {@code ProcessEngineSignal}) that wakes
+ * up a process in order to execute asynchronous tasks. Therefore the servlet mappings mentioned above do not need to be
+ * declared in {@code web.xml}.
+ *
+ * @author tknall
+ * @see ProcessEngineSignalServlet
+ */
+public class STORKWebApplicationInitializer implements WebApplicationInitializer {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ private static final String SIGNAL_SERVLET_NAME = "ProcessEngineSignal";
+
+ private void addMapping(ServletRegistration servletRegistration, String mapping) {
+ log.debug("Adding mapping '{}' to servlet '{}' ({}).", mapping, SIGNAL_SERVLET_NAME, servletRegistration.getClassName());
+ servletRegistration.addMapping(mapping);
+ }
+
+ @Override
+ public void onStartup(ServletContext servletContext) throws ServletException {
+ ServletRegistration servletRegistration = servletContext.getServletRegistration(SIGNAL_SERVLET_NAME);
+ if (servletRegistration == null) {
+ throw new IllegalStateException("Servlet '" + SIGNAL_SERVLET_NAME + "' expected to be registered (e.g. by web.xml).");
+ }
+ addMapping(servletRegistration, "/PEPSConnectorWithLocalSigning");
+ addMapping(servletRegistration, "/PEPSConnector");
+ }
+
+}
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..f8cc17b93
--- /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,112 @@
+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.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 Exception {
+
+ 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) {
+ handleError(null, ex, req, resp, pendingRequestID);
+
+ } catch (Exception e) {
+ Logger.error("CreateStorkAuthRequestFormTask has an interal Error.", e);
+ throw new MOAIDException("Internal error.", new Object[] { sessionID }, 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..077bb2dee
--- /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,216 @@
+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.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 Exception {
+ 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 IOException("should not occur");
+ }
+ return;
+ }
+
+ private void handleSignResponse(ExecutionContext executionContext, HttpServletRequest request,
+ HttpServletResponse response) {
+ 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) {
+ handleError(null, e, request, response, pendingRequestID);
+
+ } catch (MOAIDException e) {
+ handleError(null, e, request, response, pendingRequestID);
+
+ } catch (Exception e) {
+ Logger.error("PEPSConnector 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/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..3338804b4
--- /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,439 @@
+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.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 Exception {
+ 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 IOException("should not occur");
+ }
+ return;
+ }
+
+ private void handleSAMLResponse(ExecutionContext executionContext, HttpServletRequest request,
+ HttpServletResponse response) {
+ 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.validateSTORKAuthnResponse(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);
+
+ // //////////// incorporate gender from parameters if not in stork response
+
+ IPersonalAttributeList attributeList = authnResponse.getPersonalAttributeList();
+
+ // 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);
+
+ authnResponse.getPersonalAttributeList().add(gender);
+ }
+ }
+ }
+
+
+
+ // ////////////////////////////////////////////////////////////////////////
+
+ Logger.debug("Starting extraction of signedDoc attribute");
+ // extract signed doc element and citizen signature
+ String citizenSignature = null;
+ try {
+ PersonalAttribute signedDoc = authnResponse.getPersonalAttributeList().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(authnResponse.getPersonalAttributeList());
+
+ 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, authnResponse.getPersonalAttributeList(), 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) {
+ handleError(null, e, request, response, pendingRequestID);
+
+ } catch (MOAIDException e) {
+ handleError(null, e, request, response, pendingRequestID);
+
+ } catch (Exception e) {
+ Logger.error("PEPSConnector has an interal Error.", 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..94017e9f6
--- /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,566 @@
+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.util.ArrayList;
+import java.util.Arrays;
+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 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.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.VelocityProvider;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.StringUtils;
+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 {
+
+ private String dtlUrl = null;
+
+ public PepsConnectorTask() {
+ super();
+ 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();
+ }
+ }
+
+ @Override
+ public void execute(ExecutionContext executionContext, HttpServletRequest request, HttpServletResponse response)
+ throws Exception {
+ 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.validateSTORKAuthnResponse(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);
+
+ // //////////// incorporate gender from parameters if not in stork response
+
+ IPersonalAttributeList attributeList = authnResponse.getPersonalAttributeList();
+
+ // 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);
+
+ authnResponse.getPersonalAttributeList().add(gender);
+ }
+ }
+ }
+
+ // ////////////////////////////////////////////////////////////////////////
+
+ Logger.debug("Starting extraction of signedDoc attribute");
+ // extract signed doc element and citizen signature
+ String citizenSignature = null;
+ try {
+ String signatureInfo = authnResponse.getPersonalAttributeList().get("signedDoc").getValue().get(0); // TODO ERROR HANDLING
+
+ Logger.debug("signatureInfo:" + signatureInfo);
+
+ SignResponse dssSignResponse = (SignResponse) ApiUtils.unmarshal(new StreamSource(
+ new java.io.StringReader(signatureInfo)));
+
+ // fetch signed doc
+ DataSource ds = LightweightSourceResolver.getDataSource(dssSignResponse);
+ if (ds == null) {
+ throw new ApiUtilsException("No datasource found in response");
+ }
+
+ InputStream incoming = ds.getInputStream();
+ citizenSignature = IOUtils.toString(incoming);
+ incoming.close();
+
+ Logger.debug("citizenSignature:" + citizenSignature);
+ if (isDocumentServiceUsed(citizenSignature) == true) {
+ Logger.debug("Loading document from DocumentService.");
+ String url = getDtlUrlFromResponse(dssSignResponse);
+ // get Transferrequest
+ String transferRequest = getDocTransferRequest(dssSignResponse.getDocUI(), url);
+ // Load document from DocujmentService
+ 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);
+ // }
+ 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;
+ executionContext.put("identityLinkAvailable", false);
+ try {
+ 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
+ // 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(authnResponse.getPersonalAttributeList());
+
+ 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);
+
+ // TODO: found better solution, but QAA Level in response could be not 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) {
+ handleError(null, e, request, response, pendingRequestID);
+
+ } catch (MOAIDException e) {
+ handleError(null, e, request, response, pendingRequestID);
+
+ } catch (Exception e) {
+ Logger.error("PEPSConnector has an interal Error.", 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>"))
+ return true;
+ 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 {
+ url = new URL(dtlUrl);
+ 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(dtlUrl))
+ 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(dtlUrl);
+ 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);
+ }
+ }
+
+}
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/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..9d34cce78 100644
--- a/id/server/pom.xml
+++ b/id/server/pom.xml
@@ -13,6 +13,14 @@
<packaging>pom</packaging>
<name>MOA ID Server</name>
+ <properties>
+ <junit.version>4.11</junit.version>
+ <org.apache.commons.io.version>2.4</org.apache.commons.io.version>
+ <org.apache.commons.lang3.version>3.3.2</org.apache.commons.lang3.version>
+ <org.apache.commons.collections4.version>4.0</org.apache.commons.collections4.version>
+ <repositoryPath>${basedir}/../../repository</repositoryPath>
+ </properties>
+
<modules>
<module>idserverlib</module>
<module>proxy</module>
@@ -20,11 +28,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 926651b04..dc9c22515 100644
--- a/id/server/stork2-commons/pom.xml
+++ b/id/server/stork2-commons/pom.xml
@@ -128,8 +128,8 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
- <source>1.6</source>
- <target>1.6</target>
+ <source>1.7</source>
+ <target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
@@ -180,9 +180,8 @@
<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>
+ <link>http://docs.oracle.com/javase/7/docs/api/</link>
</links>
</configuration>
</plugin>
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/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/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/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/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/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/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/DateUtilTestCase.java b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/DateUtilTestCase.java
index 5d2296997..f6cacd67b 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
@@ -19,6 +19,7 @@ import java.util.Properties;
import org.joda.time.DateTime;
import org.junit.Assert;
import org.junit.BeforeClass;
+import org.junit.Ignore;
import org.junit.Test;
import eu.stork.peps.auth.commons.DateUtil;
@@ -286,6 +287,7 @@ public final class DateUtilTestCase {
* TimeStamp (TS). Must return true.
*/
@Test
+ @Ignore
public void testCurrentTimeStampAfter() {
Timestamp ts = DateUtil.currentTimeStamp();
Assert.assertEquals(DateUtil.currentTimeStamp(), ts);
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-saml-engine/pom.xml b/id/server/stork2-saml-engine/pom.xml
index f28f2c9a4..612e0746f 100644
--- a/id/server/stork2-saml-engine/pom.xml
+++ b/id/server/stork2-saml-engine/pom.xml
@@ -128,7 +128,6 @@
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
-<!-- <version>2.11.0</version> -->
<scope>test</scope>
</dependency>
<dependency>
@@ -147,8 +146,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>
diff --git a/pom.xml b/pom.xml
index ef0b95c8a..c3d6f9630 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,13 +10,27 @@
<properties>
<repositoryPath>${basedir}/repository</repositoryPath>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-
- <moa-commons-version>2.0.2</moa-commons-version>
- <moa-id-version>2.1.2.3</moa-id-version>
- <moa-id-proxy-version>2.0.0</moa-id-proxy-version>
- <moa-spss-version>2.0.3</moa-spss-version>
- <configtool-version>1.1.5.1</configtool-version>
- <demo-oa-version>2.0.2</demo-oa-version>
+
+ <!--
+ <moa-commons-version>2.0.1</moa-commons-version>
+ <moa-id-version>2.1.2</moa-id-version>
+ <moa-id-proxy-version>2.0.0</moa-id-proxy-version>
+ <moa-spss-version>2.0.3</moa-spss-version>
+ <configtool-version>1.1.4</configtool-version>
+ <demo-oa-version>2.0.2</demo-oa-version>
+ <moa-commons-version>2.0.1</moa-commons-version>
+ -->
+
+ <moa-commons-version>2.0.2-SNAPSHOT</moa-commons-version>
+ <moa-id-version>2.2.0-SNAPSHOT</moa-id-version>
+ <moa-id-proxy-version>2.0.1-SNAPSHOT</moa-id-proxy-version>
+ <moa-spss-version>2.0.4-SNAPSHOT</moa-spss-version>
+ <configtool-version>1.1.5-SNAPSHOT</configtool-version>
+ <demo-oa-version>2.0.3-SNAPSHOT</demo-oa-version>
+
+ <org.springframework.version>4.1.4.RELEASE</org.springframework.version>
+ <surefire.version>2.18.1</surefire.version>
+
</properties>
<profiles>
@@ -56,8 +70,16 @@
</repositories>
</profile>
</profiles>
-
+
<build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.5.1</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
<plugins>
<!-- <plugin>
<groupId>org.codehaus.mojo</groupId>
@@ -80,8 +102,57 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.version}</version>
<configuration>
- <skip>true</skip>
+ <excludes>
+ <exclude>eu/stork/peps/test/simple/SimpleBaseTest.java</exclude>
+ <exclude>eu/stork/peps/test/simple/StorkAttrQueryRequestTest.java</exclude>
+ <exclude>eu/stork/peps/test/simple/StorkAttrQueryResponseTest.java</exclude>
+ <exclude>eu/stork/peps/test/simple/StorkAuthRequestTest.java</exclude>
+ <exclude>eu/stork/peps/test/simple/StorkLogoutRequestTest.java</exclude>
+ <exclude>eu/stork/peps/test/simple/StorkLogoutResponseTest.java</exclude>
+ <exclude>eu/stork/peps/test/simple/StorkNewResponseTest.java</exclude>
+ <exclude>eu/stork/peps/test/simple/StorkResponseTest.java</exclude>
+ <exclude>test/MOAIDTestCase.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/MOATestCase.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/UnitTestCase.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/auth/MOAIDAuthInitialiserTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilderTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/auth/builder/InfoboxReadRequestBuilderTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/auth/builder/PersonDataBuilderTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/auth/builder/SAMLArtifactBuilderTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/auth/builder/VerifyXMLSignatureRequestBuilderTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/auth/invoke/IdentityLinkAssertionParserTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/auth/invoke/MOASPSSTestCase.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/auth/invoke/SignatureVerificationTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/auth/oauth/CertTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/auth/parser/IdentityLinkAssertionParserTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/auth/parser/InfoboxReadResponseParserTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/auth/parser/SAMLArtifactParserTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/proxy/builder/SAMLArtifactBuilderTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/proxy/builder/SAMLRequestBuilderTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/id/proxy/parser/SAMLResponseParserTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/spss/SPSSTestCase.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/util/DOMUtilsTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/util/SSLUtilsTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/util/URLDecoderTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/util/URLEncoderTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java</exclude>
+ <exclude>test/at/gv/egovernment/moa/util/XPathUtilsTest.java</exclude>
+ </excludes>
</configuration>
</plugin>
<plugin>
@@ -92,8 +163,8 @@
<fork>true</fork>
<executable>${env.BUILD_EXECUTEABLE}</executable>
<compilerVersion>${env.BUILD_VERSION}</compilerVersion>
- <source>1.6</source>
- <target>1.6</target>
+ <source>1.7</source>
+ <target>1.7</target>
</configuration>
</plugin>
<plugin>
@@ -258,7 +329,17 @@
<artifactId>moa-id-commons</artifactId>
<version>${moa-id-version}</version>
<scope>compile</scope>
- </dependency>
+ </dependency>
+ <dependency>
+ <groupId>MOA.id.server.modules</groupId>
+ <artifactId>moa-id-module-stork</artifactId>
+ <version>${moa-id-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>MOA.id.server.modules</groupId>
+ <artifactId>moa-id-module-monitoring</artifactId>
+ <version>${moa-id-version}</version>
+ </dependency>
<dependency>
<groupId>MOA.spss.server</groupId>
<artifactId>moa-spss-lib</artifactId>
@@ -483,6 +564,13 @@
<version>2.7.2</version><!-- xalan version -->
<scope>runtime</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-webmvc</artifactId>
+ <version>${org.springframework.version}</version>
+ </dependency>
+
</dependencies>
</dependencyManagement>
diff --git a/repository/org/apache/xerces/serializer/2.10.0/serializer-2.10.0.jar b/repository/org/apache/xerces/serializer/2.10.0/serializer-2.10.0.jar
new file mode 100644
index 000000000..de9b007b4
--- /dev/null
+++ b/repository/org/apache/xerces/serializer/2.10.0/serializer-2.10.0.jar
Binary files differ
diff --git a/repository/org/apache/xerces/serializer/2.10.0/serializer-2.10.0.pom b/repository/org/apache/xerces/serializer/2.10.0/serializer-2.10.0.pom
new file mode 100644
index 000000000..b27157fcd
--- /dev/null
+++ b/repository/org/apache/xerces/serializer/2.10.0/serializer-2.10.0.pom
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.xerces</groupId>
+ <artifactId>serializer</artifactId>
+ <version>2.10.0</version>
+ <description>POM was created from install:install-file</description>
+</project>
diff --git a/repository/org/apache/xerces/xercesImpl/2.10.0/xercesImpl-2.10.0.jar b/repository/org/apache/xerces/xercesImpl/2.10.0/xercesImpl-2.10.0.jar
new file mode 100644
index 000000000..9dcd8c381
--- /dev/null
+++ b/repository/org/apache/xerces/xercesImpl/2.10.0/xercesImpl-2.10.0.jar
Binary files differ
diff --git a/repository/org/apache/xerces/xercesImpl/2.10.0/xercesImpl-2.10.0.pom b/repository/org/apache/xerces/xercesImpl/2.10.0/xercesImpl-2.10.0.pom
new file mode 100644
index 000000000..03b6c4fbc
--- /dev/null
+++ b/repository/org/apache/xerces/xercesImpl/2.10.0/xercesImpl-2.10.0.pom
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ <version>2.10.0</version>
+ <description>POM was created from install:install-file</description>
+</project>
diff --git a/repository/org/apache/xerces/xml-apis/2.10.0/xml-apis-2.10.0.jar b/repository/org/apache/xerces/xml-apis/2.10.0/xml-apis-2.10.0.jar
new file mode 100644
index 000000000..46733464f
--- /dev/null
+++ b/repository/org/apache/xerces/xml-apis/2.10.0/xml-apis-2.10.0.jar
Binary files differ
diff --git a/repository/org/apache/xerces/xml-apis/2.10.0/xml-apis-2.10.0.pom b/repository/org/apache/xerces/xml-apis/2.10.0/xml-apis-2.10.0.pom
new file mode 100644
index 000000000..e597b8283
--- /dev/null
+++ b/repository/org/apache/xerces/xml-apis/2.10.0/xml-apis-2.10.0.pom
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.xerces</groupId>
+ <artifactId>xml-apis</artifactId>
+ <version>2.10.0</version>
+ <description>POM was created from install:install-file</description>
+</project>
diff --git a/spss/handbook/clients/api/pom.xml b/spss/handbook/clients/api/pom.xml
index 581c29e56..0690b65e3 100644
--- a/spss/handbook/clients/api/pom.xml
+++ b/spss/handbook/clients/api/pom.xml
@@ -9,7 +9,6 @@
<groupId>MOA.spss.handbook</groupId>
<artifactId>moa-spss-handbook-apiClient</artifactId>
<packaging>jar</packaging>
- <version>2.0</version>
<name>MOA SP/SS Handbook API Client</name>
<properties>
diff --git a/spss/handbook/clients/pom.xml b/spss/handbook/clients/pom.xml
index c104c6c3b..1dfa3d532 100644
--- a/spss/handbook/clients/pom.xml
+++ b/spss/handbook/clients/pom.xml
@@ -10,7 +10,6 @@
<groupId>MOA.spss.handbook.clients</groupId>
<artifactId>moa-spss-handbook-clients</artifactId>
<packaging>pom</packaging>
- <version>2.0</version>
<name>MOA SP/SS Handbook Clients</name>
<modules>
diff --git a/spss/handbook/clients/referencedData/pom.xml b/spss/handbook/clients/referencedData/pom.xml
index 3a220fd4d..e9370cd44 100644
--- a/spss/handbook/clients/referencedData/pom.xml
+++ b/spss/handbook/clients/referencedData/pom.xml
@@ -10,7 +10,6 @@
<groupId>MOA.spss.handbook</groupId>
<artifactId>moa-spss-handbook-referencedData</artifactId>
<packaging>war</packaging>
- <version>2.0</version>
<name>MOA SP/SS Handbook Referenced Data</name>
<properties>
diff --git a/spss/handbook/clients/webservice/pom.xml b/spss/handbook/clients/webservice/pom.xml
index 50850b592..9a98ce472 100644
--- a/spss/handbook/clients/webservice/pom.xml
+++ b/spss/handbook/clients/webservice/pom.xml
@@ -6,10 +6,8 @@
</parent>
<modelVersion>4.0.0</modelVersion>
- <groupId>MOA.spss.handbook.clients</groupId>
<artifactId>moa-spss-handbook-webserviceClient</artifactId>
<packaging>jar</packaging>
- <version>2.0</version>
<name>MOA SP/SS Handbook WebService Client</name>
<properties>
diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml
index da78d3dc1..e16d46d43 100644
--- a/spss/server/serverlib/pom.xml
+++ b/spss/server/serverlib/pom.xml
@@ -301,11 +301,10 @@
</group>
</groups>
<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>
diff --git a/spss/server/serverws/.project b/spss/server/serverws/.project
deleted file mode 100644
index 8150d984e..000000000
--- a/spss/server/serverws/.project
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>moa-spss-ws</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.wst.common.project.facet.core.builder</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.jdt.core.javanature</nature>
- <nature>org.eclipse.m2e.core.maven2Nature</nature>
- <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
- <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
- <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
- </natures>
-</projectDescription>
diff --git a/spss/server/tools/pom.xml b/spss/server/tools/pom.xml
index f139e962d..277ef8459 100644
--- a/spss/server/tools/pom.xml
+++ b/spss/server/tools/pom.xml
@@ -76,8 +76,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>