summaryrefslogtreecommitdiff
path: root/eaaf_core_api/src
diff options
context:
space:
mode:
Diffstat (limited to 'eaaf_core_api/src')
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IGarbageCollectorProcessing.java52
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IPostStartupInitializable.java56
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IRequest.java504
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IRequestStorage.java124
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IStatusMessenger.java141
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EAAFConfigConstants.java32
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EAAFConstants.java80
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EAAFEventCodes.java5
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EaafConfigConstants.java25
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EaafConstants.java72
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EaafEventCodes.java5
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExceptionContainer.java167
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExtendedPVPAttributeDefinitions.java49
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExtendedPvpAttributeDefinitions.java52
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ILoALevelMapper.java86
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/PVPAttributeDefinitions.java321
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/PvpAttributeDefinitions.java347
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/XMLNamespaceConstants.java506
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/XmlNamespaceConstants.java412
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/GroupDefinition.java59
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGUIBuilderConfiguration.java60
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGUIBuilderConfigurationFactory.java54
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGUIFormBuilder.java74
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiBuilderConfiguration.java54
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiBuilderConfigurationFactory.java54
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiFormBuilder.java69
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/ISpringMVCGUIFormBuilder.java5
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/ISpringMvcGuiFormBuilder.java5
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IVelocityGUIBuilderConfiguration.java22
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IVelocityGuiBuilderConfiguration.java24
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/ModifyableGuiBuilderConfiguration.java82
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/EAAFAuthProcessDataConstants.java46
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/EaafAuthProcessDataConstants.java40
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAction.java76
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAttributeBuilder.java67
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAttributeGenerator.java85
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAuthData.java429
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAuthenticationDataBuilder.java45
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IConfiguration.java129
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IConfigurationWithSP.java97
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IEidAuthData.java68
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IExtendedConfiguration.java32
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IModulInfo.java140
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IPVPAttributeBuilder.java33
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IPvpAttributeBuilder.java26
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/ISPConfiguration.java168
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/ISpConfiguration.java164
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/IAuthenticationManager.java156
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/ISSOManager.java130
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/ISsoManager.java122
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/data/IAuthProcessDataContainer.java350
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/data/IIdentityLink.java343
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/modules/AuthModule.java104
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/services/IProtocolAuthenticationService.java146
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExecutionContext.java165
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/ISLOInformationContainer.java93
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/ISloInformationContainer.java76
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/SLOInformationInterface.java104
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/SloInformationInterface.java77
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IMessageSourceLocation.java13
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IRevisionLogger.java109
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IStatisticLogger.java57
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/storage/ITransactionStorage.java240
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/utils/IPendingRequestIdGenerationStrategy.java55
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AttributeBuilderException.java49
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AttributePolicyException.java67
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AuthnRequestValidatorException.java151
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFAuthenticationException.java45
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFBuilderException.java44
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFConfigurationException.java44
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFException.java66
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFIDPException.java46
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFIllegalStateException.java44
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFJsonMapperException.java16
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFParserException.java44
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFProtocolException.java41
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFSSOException.java41
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFServiceException.java30
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFStorageException.java42
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafAuthenticationException.java36
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafBuilderException.java41
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafConfigurationException.java34
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafException.java92
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafFactoryException.java28
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafIdpException.java36
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafIllegalStateException.java37
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafJsonMapperException.java15
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafParserException.java34
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafProtocolException.java34
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafServiceException.java27
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafSsoException.java31
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafStorageException.java34
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/GUIBuildException.java50
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/GuiBuildException.java47
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/InvalidDateFormatAttributeException.java51
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/InvalidProtocolRequestException.java62
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/NoPassivAuthenticationException.java52
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/PendingReqIdValidationException.java106
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProcessExecutionException.java85
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProtocolNotActiveException.java54
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProtocolResponseExceptions.java16
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/SLOException.java45
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/SloException.java36
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/TaskExecutionException.java118
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/UnavailableAttributeException.java62
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/XPathException.java81
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/data/Pair.java101
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/data/Trible.java55
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/data/Triple.java67
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatusMessager.java86
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/LogMessageProviderFactory.java90
111 files changed, 4829 insertions, 5267 deletions
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IGarbageCollectorProcessing.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IGarbageCollectorProcessing.java
index d7c81050..c1fab13f 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IGarbageCollectorProcessing.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IGarbageCollectorProcessing.java
@@ -1,40 +1,36 @@
/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ * <br>
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
+ *<br>
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *<br>
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
*******************************************************************************/
+
package at.gv.egiz.eaaf.core.api;
/**
+ * Application internal garbage collector that can be used to clean caches as
+ * example.
+ *
* @author tlenz
*
*/
public interface IGarbageCollectorProcessing {
- /**
- * This method gets executed by the MOA garbage collector at regular intervals.
- *
- */
- public void runGarbageCollector();
+ /**
+ * This method gets executed by the MOA garbage collector at regular intervals.
+ *
+ */
+ void runGarbageCollector();
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IPostStartupInitializable.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IPostStartupInitializable.java
index e0c2ebf7..cd44250c 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IPostStartupInitializable.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IPostStartupInitializable.java
@@ -1,45 +1,39 @@
/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ * <br>
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
+ * <br>
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ * <br>
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
*******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.api;
+package at.gv.egiz.eaaf.core.api;
/**
- *
+ * Interface initialize a Object when the MOA-ID-Auth start-up process is fully
+ * completed.
+ *
* @author tlenz
*
- * Interface initialize a Object when the MOA-ID-Auth start-up process is fully completed
*
*/
public interface IPostStartupInitializable {
- /**
- * This method is called once when MOA-ID-Auth start-up process is fully completed
- *
- */
- public void executeAfterStartup();
+ /**
+ * This method is called once when MOA-ID-Auth start-up process is fully
+ * completed.
+ *
+ */
+ void executeAfterStartup();
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IRequest.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IRequest.java
index 77d718af..99541cd6 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IRequest.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IRequest.java
@@ -1,257 +1,263 @@
/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ * <br>
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
-*
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
+ * <br>
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ * <br>
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
*******************************************************************************/
+
package at.gv.egiz.eaaf.core.api;
+import java.io.Serializable;
import java.util.Map;
-import at.gv.egiz.eaaf.core.api.idp.ISPConfiguration;
-import at.gv.egiz.eaaf.core.exceptions.EAAFStorageException;
-
-public interface IRequest {
-
- /**
- * Indicates the module, which implements this authentication protocol.
- * The class, which is referenced, had to implement the 'IModulInfo' interface.
- *
- * @return Full-qualified name of the class which implements this protocol
- */
- public String requestedModule();
-
- /**
- * Indicates the protocol specific action, which should executed if the request is processed.
- * The class, which is referenced, had to implement the 'IAction' interface.
- *
- * @return Full-qualified name of the class which implements the action
- */
- public String requestedAction();
-
- /**
- * Unique identifier, which indicates the service provider.
- *
- * @return Unique identifier for the service provider
- */
- public String getSPEntityId();
-
- /**
- * Indicates the passive flag in authentication requests.
- * If the passive flag is set, the identification and authentication process
- * failed if no active SSO session is found.
- *
- * @return true, if the is passive flag is set in authentication request, otherwise false
- */
- public boolean isPassiv();
-
- /**
- * Indicates the force authentication flag in authentication request
- * If this flag is set, a new identification and authentication process
- * is carried out in any case.
- *
- * @return true, if the force authentication flag is set, otherwise false
- */
- public boolean forceAuth();
-
-
- /**
- * Returns a generic request-data object with is stored with a specific identifier
- *
- * @param key The specific identifier of the request-data object
- * @return The request-data object or null if no data is found with this key
- */
- public Object getRawData(String key);
-
- /**
- * Returns a generic request-data object with is stored with a specific identifier
- *
- * @param key The specific identifier of the request-data object
- * @param clazz The class type which is stored with this key
- * @return The request-data object or null if no data is found with this key
- */
- public <T> T getRawData(String key, final Class<T> clazz);
-
- /**
- * Store a generic data-object into pending request with a specific identifier
- *
- * @param key Identifier for this data-object
- * @param object Generic data-object which should be stored. This data-object had to be implement the 'java.io.Serializable' interface
- * @throws SessionDataStorageException Error message if the data-object can not stored to generic request-data storage
- */
- public void setRawDataToTransaction(String key, Object object) throws EAAFStorageException;
-
- /**
- * Store generic data-objects into pending request with specific identifiers
- *
- * @param map Map with Identifiers and values
- * @throws SessionDataStorageException Error message if the data-object can not stored to generic request-data storage
- */
- public void setRawDataToTransaction(Map<String, Object> map) throws EAAFStorageException;
-
- /**
- * Wrap the internal dataStorage map into a DAO
- *
- * @param wrapper DOA to access SessionData
- * @return
- */
- public <T> T getSessionData(Class<T> wrapper);
-
- /**
- * Hold the identifier of this request object.
- * This identifier can be used to load the request from request storage
- *
- * @return Request identifier
- */
- public String getPendingRequestId();
-
-
- /**
- * Hold the identifier of the SSO-Session which is associated with this request
- *
- * @return SSO session-identifier if a associated session exists, otherwise null
- */
- public String getInternalSSOSessionIdentifier();
-
- /**
- * Set the in SSO session identifier, if an active SSO session exists
- *
- * @param internalSSOSessionId
- */
- public void setInternalSSOSessionIdentifier(String internalSSOSessionId);
-
- /**
- * Holds a unique transaction identifier, which could be used for looging
- * This transaction identifier is unique for a single identification and authentication process
- *
- * @return Unique transaction identifier.
- */
- public String getUniqueTransactionIdentifier();
-
- /**
- * Holds a unique session identifier, which could be used for logging
- * This session identifier is unique for the full Single Sign-On session time
- *
- * @return Unique session identifier
- */
- public String getUniqueSessionIdentifier();
-
-
- /**
- * Hold the identifier if the process instance, which is associated with this request
- *
- * @return ProcessInstanceID if this request is associated with a authentication process, otherwise null
- */
- public String getProcessInstanceId();
-
-
- /**
- * get the IDP URL PreFix, which was used for authentication request
- *
- * @return IDP URL PreFix <String>. The URL prefix always ends without /
- */
- public String getAuthURL();
- public String getAuthURLWithOutSlash();
-
- /**
- * Indicates if this pending request needs authentication
- *
- * @return true if this request needs authentication, otherwise false
- */
- public boolean isNeedAuthentication();
-
- /**
- * Indicates, if this pending request needs Single Sign-On (SSO) functionality
- *
- * @return true if this request needs SSO, otherwise false
- */
- public boolean needSingleSignOnFunctionality();
- public void setNeedSingleSignOnFunctionality(boolean needSSO);
-
-
- /**
- * Indicates, if this pending request needs an additional user consent
- *
- * @return true if this request needs additional user consent, otherwise false
- */
- public boolean isNeedUserConsent();
- public void setNeedUserConsent(boolean needConsent);
-
- /**
- * Indicates, if this pending request is already authenticated
- *
- * @return true if this request is already authenticated, otherwise false
- */
- public boolean isAuthenticated();
- public void setAuthenticated(boolean isAuthenticated);
-
- /**
- * Get get Service-Provider configuration which is associated with this request.
- *
- * @return Service-Provider configuration
- */
- public ISPConfiguration getServiceProviderConfiguration();
-
-
- /**
- * Get get Service-Provider configuration which is associated with this request.
- *
- * @return Service-Provider configuration as object
- */
- public <T> T getServiceProviderConfiguration(final Class<T> decorator);
-
-
- /**
- * Indicates, if this pending-request is aborted by the user
- *
- * @return true, if it is aborted, otherwise false
- */
- public boolean isAbortedByUser();
-
- /**
- * Set the 'isAboredByUser' flag of this pending-request
- *
- * @param b true, if the user has abort the authentication process, otherwise false
- */
- public void setAbortedByUser(boolean isAborted);
-
+import javax.annotation.Nonnull;
+
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
+import at.gv.egiz.eaaf.core.exceptions.EaafStorageException;
+
+public interface IRequest extends Serializable {
+
+ /**
+ * Indicates the module, which implements this authentication protocol. The
+ * class, which is referenced, had to implement the 'IModulInfo' interface.
+ *
+ * @return Full-qualified name of the class which implements this protocol
+ */
+ String requestedModule();
+
+ /**
+ * Indicates the protocol specific action, which should executed if the request
+ * is processed. The class, which is referenced, had to implement the 'IAction'
+ * interface.
+ *
+ * @return Full-qualified name of the class which implements the action
+ */
+ String requestedAction();
+
+ /**
+ * Unique identifier, which indicates the service provider.
+ *
+ * @return Unique identifier for the service provider
+ */
+ String getSpEntityId();
+
+ /**
+ * Indicates the passive flag in authentication requests. If the passive flag is
+ * set, the identification and authentication process failed if no active SSO
+ * session is found.
+ *
+ * @return true, if the is passive flag is set in authentication request,
+ * otherwise false
+ */
+ boolean isPassiv();
+
+ /**
+ * Indicates the force authentication flag in authentication request If this
+ * flag is set, a new identification and authentication process is carried out
+ * in any case.
+ *
+ * @return true, if the force authentication flag is set, otherwise false
+ */
+ boolean forceAuth();
+
+ /**
+ * Returns a generic request-data object with is stored with a specific
+ * identifier.
+ *
+ * @param key The specific identifier of the request-data object
+ * @return The request-data object or null if no data is found with this key
+ */
+ Object getRawData(String key);
+
+ /**
+ * Returns a generic request-data object with is stored with a specific
+ * identifier.
+ *
+ * @param key The specific identifier of the request-data object
+ * @param clazz The class type which is stored with this key
+ * @return The request-data object or null if no data is found with this key
+ */
+ <T> T getRawData(String key, final Class<T> clazz);
+
+ /**
+ * Store a generic data-object into pending request with a specific identifier.
+ *
+ * @param key Identifier for this data-object
+ * @param object Generic data-object which should be stored. This data-object
+ * had to be implement the 'java.io.Serializable' interface
+ * @throws SessionDataStorageException Error message if the data-object can not
+ * stored to generic request-data storage
+ */
+ void setRawDataToTransaction(String key, Object object) throws EaafStorageException;
+
+ /**
+ * Store generic data-objects into pending request with specific identifiers.
+ *
+ * @param map Map with Identifiers and values
+ * @throws SessionDataStorageException Error message if the data-object can not
+ * stored to generic request-data storage
+ */
+ void setRawDataToTransaction(Map<String, Object> map) throws EaafStorageException;
+
+ /**
+ * Wrap the internal dataStorage map into a DAO.
+ *
+ * @param wrapper DOA to access SessionData
+ * @return
+ */
+ @Nonnull
+ <T> T getSessionData(@Nonnull Class<T> wrapper);
+
+ /**
+ * Hold the identifier of this request object. This identifier can be used to
+ * load the request from request storage.
+ *
+ * @return Request identifier
+ */
+ String getPendingRequestId();
+
+ /**
+ * Hold the identifier of the SSO-Session which is associated with this request.
+ *
+ * @return SSO session-identifier if a associated session exists, otherwise null
+ */
+ String getInternalSsoSessionIdentifier();
+
+ /**
+ * Set the in SSO session identifier, if an active SSO session exists.
+ *
+ * @param internalSsoSessionId Internal SSO session id
+ */
+ void setInternalSsoSessionIdentifier(String internalSsoSessionId);
+
+ /**
+ * Holds a unique transaction identifier, which could be used for looging This
+ * transaction identifier is unique for a single identification and
+ * authentication process.
+ *
+ * @return Unique transaction identifier.
+ */
+ String getUniqueTransactionIdentifier();
+
+ /**
+ * Holds a unique session identifier, which could be used for logging This
+ * session identifier is unique for the full Single Sign-On session time.
+ *
+ * @return Unique session identifier
+ */
+ String getUniqueSessionIdentifier();
+
+
+ /**
+ * Holds a unique transaction identifier for PII related information,
+ * like DSGVO data.
+ * <br>
+ * <p><b>This transaction identifier SHALL NOT be used for technical log-correlation</b></p>
+ * @return
+ */
+ String getUniquePiiTransactionIdentifier();
+
+ /**
+ * Hold the identifier if the process instance, which is associated with this
+ * request.
+ *
+ * @return ProcessInstanceID if this request is associated with a authentication
+ * process, otherwise null
+ */
+ String getProcessInstanceId();
+
+ /**
+ * get the IDP URL PreFix, which was used for authentication request.
+ *
+ * @return IDP URL PreFix. The URL prefix always ends without /
+ */
+ String getAuthUrl();
+
+ /**
+ * get the IDP URL PreFix, which was used for authentication request.
+ *
+ * @return IDP URL PreFix. The URL prefix always ends without /
+ */
+ String getAuthUrlWithOutSlash();
+
+ /**
+ * Indicates if this pending request needs authentication.
+ *
+ * @return true if this request needs authentication, otherwise false
+ */
+ boolean isNeedAuthentication();
+
+ /**
+ * Indicates, if this pending request needs Single Sign-On (SSO) functionality.
+ *
+ * @return true if this request needs SSO, otherwise false
+ */
+ boolean needSingleSignOnFunctionality();
+
+ /**
+ * Set flag that this requests needs SSO.
+ *
+ * @param needSso true if SSO is needed, otherwise false
+ */
+ void setNeedSingleSignOnFunctionality(boolean needSso);
+
+ /**
+ * Indicates, if this pending request needs an additional user consent.
+ *
+ * @return true if this request needs additional user consent, otherwise false
+ */
+ boolean isNeedUserConsent();
+
+ void setNeedUserConsent(boolean needConsent);
+
+ /**
+ * Indicates, if this pending request is already authenticated.
+ *
+ * @return true if this request is already authenticated, otherwise false
+ */
+ boolean isAuthenticated();
+
+ void setAuthenticated(boolean isAuthenticated);
+
+ /**
+ * Get get Service-Provider configuration which is associated with this request.
+ *
+ * @return Service-Provider configuration
+ */
+ ISpConfiguration getServiceProviderConfiguration();
+
+ /**
+ * Get get Service-Provider configuration which is associated with this request.
+ *
+ * @return Service-Provider configuration as object
+ */
+ <T> T getServiceProviderConfiguration(final Class<T> decorator);
+
+ /**
+ * Indicates, if this pending-request is aborted by the user.
+ *
+ * @return true, if it is aborted, otherwise false
+ */
+ boolean isAbortedByUser();
+
+ /**
+ * Set the 'isAboredByUser' flag of this pending-request.
+ *
+ * @param isAborted true, if the user has abort the authentication process,
+ * otherwise false
+ */
+ void setAbortedByUser(boolean isAborted);
+
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IRequestStorage.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IRequestStorage.java
index 56179d55..2262e68a 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IRequestStorage.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IRequestStorage.java
@@ -1,90 +1,66 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
*
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
*/
-package at.gv.egiz.eaaf.core.api;
+package at.gv.egiz.eaaf.core.api;
-import at.gv.egiz.eaaf.core.exceptions.EAAFException;
+import at.gv.egiz.eaaf.core.exceptions.EaafException;
import at.gv.egiz.eaaf.core.exceptions.PendingReqIdValidationException;
/**
+ * Service to store pending requests.
+ *
* @author tlenz
*
*/
public interface IRequestStorage {
- /**
- * Get a pending-request from storage
- *
- * @param pendingReqID Id of the pending request
- * @return
- * @throws PendingReqIdValidationException if the pendingRequestId was invalid
- */
- public IRequest getPendingRequest(String pendingReqID) throws PendingReqIdValidationException;
-
- /**
- * Store a pending-request in storage
- *
- * @param pendingRequest
- * @throws EAAFException
- */
- public void storePendingRequest(IRequest pendingRequest) throws EAAFException;
-
- /**
- * Remove a pending-request from storage
- *
- * @param pendingReqId Id of the pending request
- */
- public void removePendingRequest(String pendingReqId);
-
- /**
- * change the pendingRequestId of a pending-request
- *
- * @param pendingRequest current pending-reqeust
- * @return new pending-requestId
- * @throws EAAFException
- */
- public String changePendingRequestID(IRequest pendingRequest) throws EAAFException;
-
+ /**
+ * Get a pending-request from storage.
+ *
+ * @param pendingReqID Id of the pending request
+ * @return Pending Request Object
+ * @throws PendingReqIdValidationException if the pendingRequestId was invalid
+ */
+ IRequest getPendingRequest(String pendingReqID) throws PendingReqIdValidationException;
+
+ /**
+ * Store a pending-request in storage.
+ *
+ * @param pendingRequest Pending-Request object to store
+ * @throws EaafException In case of a storage error
+ */
+ void storePendingRequest(IRequest pendingRequest) throws EaafException;
+
+ /**
+ * Remove a pending-request from storage.
+ *
+ * @param pendingReqId Id of the pending request
+ */
+ void removePendingRequest(String pendingReqId);
+
+ /**
+ * change the pendingRequestId of a pending-request.
+ *
+ * @param pendingRequest current pending-reqeust
+ * @return new pending-requestId
+ * @throws EaafException in case of a storage error
+ */
+ String changePendingRequestID(IRequest pendingRequest) throws EaafException;
+
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IStatusMessenger.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IStatusMessenger.java
index 04323dea..bbaf86d3 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IStatusMessenger.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IStatusMessenger.java
@@ -1,29 +1,22 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api;
import javax.annotation.Nonnull;
@@ -31,56 +24,54 @@ import javax.annotation.Nullable;
public interface IStatusMessenger {
- //internal error codes defined in EAAFCore
- public static final String CODES_INTERNAL_ERROR_GENERIC = "internal.00";
- public static final String CODES_INTERNAL_ERROR_AUTH_NOSPCONFIG = "auth.00";
- public static final String CODES_INTERNAL_ERROR_AUTH_NOPENDIGREQID = "auth.26";
- public static final String CODES_INTERNAL_ERROR_AUTH_TIMEOUT = "auth.28";
- public static final String CODES_INTERNAL_ERROR_AUTH_USERSTOP = "auth.21";
- public static final String CODES_INTERNAL_ERROR_AUTH_REQUEST_INVALID = "auth.38";
-
- public static final String CODES_INTERNAL_ILLEGAL_STATE = "process.03";
-
- //external error codes defined in EAAFCore
- public static final String CODES_EXTERNAL_ERROR_GENERIC = "9199";
- public static final String CODES_EXTERNAL_ERROR_PROCESSENGINE = "1099";
-
-
- /**
- * Get the message corresponding to a given message ID.
- *
- * @param messageId The ID of the message.
- * @param parameters The parameters to fill in into the message arguments.
- * @return The formatted message.
- */
- @Nonnull
- public String getMessage(String messageId, Object[] parameters);
-
- /**
- * Get the message corresponding to a given message ID.
- *
- * @param messageId The ID of the message.
- * @param parameters The parameters to fill in into the message arguments.
- * @return The formatted message, or <code>null</code> if no message was fround
- */
- @Nullable
- public String getMessageWithoutDefault(String messageId, Object[] parameters);
-
- /**
- * Get external errorCode from from Exception
- *
- * @param throwable
- * @return
- */
- public String getResponseErrorCode(Throwable throwable);
-
-
- /**
- * Map internal to external errorCode
- *
- * @param intErrorCode
- * @return
- */
- public String mapInternalErrorToExternalError(String intErrorCode);
-
+ // internal error codes defined in EAAFCore
+ String CODES_INTERNAL_ERROR_GENERIC = "internal.00";
+ String CODES_INTERNAL_ERROR_AUTH_NOSPCONFIG = "auth.00";
+ String CODES_INTERNAL_ERROR_AUTH_NOPENDIGREQID = "auth.26";
+ String CODES_INTERNAL_ERROR_AUTH_TIMEOUT = "auth.28";
+ String CODES_INTERNAL_ERROR_AUTH_USERSTOP = "auth.21";
+ String CODES_INTERNAL_ERROR_AUTH_REQUEST_INVALID = "auth.38";
+
+ String CODES_INTERNAL_ILLEGAL_STATE = "process.03";
+
+ // external error codes defined in EAAFCore
+ String CODES_EXTERNAL_ERROR_GENERIC = "9199";
+ String CODES_EXTERNAL_ERROR_PROCESSENGINE = "1099";
+
+ /**
+ * Get the message corresponding to a given message ID.
+ *
+ * @param messageId The ID of the message.
+ * @param parameters The parameters to fill in into the message arguments.
+ * @return The formatted message.
+ */
+ @Nonnull
+ String getMessage(String messageId, Object[] parameters);
+
+ /**
+ * Get the message corresponding to a given message ID.
+ *
+ * @param messageId The ID of the message.
+ * @param parameters The parameters to fill in into the message arguments.
+ * @return The formatted message, or <code>null</code> if no message was fround
+ */
+ @Nullable
+ String getMessageWithoutDefault(String messageId, Object[] parameters);
+
+ /**
+ * Get external errorCode from from Exception.
+ *
+ * @param throwable Reason of error
+ * @return external error code
+ */
+ String getResponseErrorCode(Throwable throwable);
+
+ /**
+ * Map internal to external errorCode.
+ *
+ * @param intErrorCode internal error code
+ * @return external error code
+ */
+ String mapInternalErrorToExternalError(String intErrorCode);
+
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EAAFConfigConstants.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EAAFConfigConstants.java
deleted file mode 100644
index b75f9eb3..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EAAFConfigConstants.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.api.data;
-
-public class EAAFConfigConstants {
-
- public static final String SERVICE_UNIQUEIDENTIFIER = "uniqueID"; //publicURLPrefix
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EAAFConstants.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EAAFConstants.java
deleted file mode 100644
index 32ea7a6f..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EAAFConstants.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.api.data;
-
-
-public class EAAFConstants {
-
- public static final String CONTENTTYPE_HTML_UTF8 = "text/html; charset=UTF-8";
-
- //http request parameters for process management
- public static final String PARAM_HTTP_TARGET_PENDINGREQUESTID = "pendingid";
- public static final String PARAM_HTTP_ERROR_CODE = "errorid";
- public static final String PARAM_HTTP_STOP_PROCESS = "stopAuthProcess";
-
-
- public static final String EIDAS_LOA_PREFIX = "http://eidas.europa.eu/LoA/";
- public static final String EIDAS_LOA_LOW = EIDAS_LOA_PREFIX + "low";
- public static final String EIDAS_LOA_SUBSTANTIAL = EIDAS_LOA_PREFIX + "substantial";
- public static final String EIDAS_LOA_HIGH = EIDAS_LOA_PREFIX + "high";
-
- public static final String EIDAS_LOA_MATCHING_MINIMUM = "minimum";
- public static final String EIDAS_LOA_MATCHING_EXACT = "exact";
-
- //Austrian specific prefixes for pseudonyms of users
- public static final String URN_PART_WBPK = "wbpk+";
- public static final String URN_PART_EIDAS = "eidasid+";
-
-
- public static final String URN_PREFIX = "urn:publicid:gv.at";
- public static final String URN_PREFIX_BASEID = URN_PREFIX + ":baseid";
- public static final String URN_PREFIX_CDID = URN_PREFIX + ":cdid+";
- public static final String URN_PREFIX_BPK = URN_PREFIX_CDID + "bpk";
- public static final String URN_PREFIX_WBPK = URN_PREFIX + ":" + URN_PART_WBPK;
- public static final String URN_PREFIX_EIDAS = URN_PREFIX + ":" + URN_PART_EIDAS;
- public static final String URN_PREFIX_OW_BPK = URN_PREFIX_CDID + "OW";
-
-
- //Authentication process data_constants
- public static final String UNIQUESESSIONIDENTIFIER = "eaaf_uniqueSessionIdentifier";
- public static final String AUTH_DATA_CREATED = "eaaf_authdata_created";
-
-
- public static final String PROCESS_ENGINE_PREFIX = "PARAMS_";
- public static final String PROCESS_ENGINE_PENDINGREQUESTID = PROCESS_ENGINE_PREFIX + PARAM_HTTP_TARGET_PENDINGREQUESTID;
- public static final String PROCESS_ENGINE_SERVICE_PROVIDER_ENTITYID = PROCESS_ENGINE_PREFIX + "uniqueSPId";
- public static final String PROCESS_ENGINE_SSL_CLIENT_CERTIFICATE = PROCESS_ENGINE_PREFIX + "holderofkey_cert";
- public static final String PROCESS_ENGINE_REQUIRES_NO_POSTAUTH_REDIRECT
- = PROCESS_ENGINE_PREFIX + "requireNoPostAuthRedirect";
- public static final String PROCESSCONTEXT_SWITCH_LANGUAGE = "changeLanguage";
-
- public static final int ALLOWED_TIME_JITTER = 5; //minutes
- public static final String COUNTRYCODE_AUSTRIA = "AT";
-
- public static final String TESTCREDENTIALROOTOID = "1.2.40.0.10.2.4.1";
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EAAFEventCodes.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EAAFEventCodes.java
deleted file mode 100644
index 5ee6eb90..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EAAFEventCodes.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package at.gv.egiz.eaaf.core.api.data;
-
-public class EAAFEventCodes {
- public static final int PROCESS_STOPPED_BY_USER = 4102;
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EaafConfigConstants.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EaafConfigConstants.java
new file mode 100644
index 00000000..99537ffa
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EaafConfigConstants.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.api.data;
+
+public class EaafConfigConstants {
+
+ public static final String SERVICE_UNIQUEIDENTIFIER = "uniqueID"; // publicURLPrefix
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EaafConstants.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EaafConstants.java
new file mode 100644
index 00000000..4bd5bc39
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EaafConstants.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.api.data;
+
+public class EaafConstants {
+
+ public static final String CONTENTTYPE_HTML_UTF8 = "text/html; charset=UTF-8";
+
+ // http request parameters for process management
+ public static final String PARAM_HTTP_TARGET_PENDINGREQUESTID = "pendingid";
+ public static final String PARAM_HTTP_ERROR_CODE = "errorid";
+ public static final String PARAM_HTTP_STOP_PROCESS = "stopAuthProcess";
+
+ public static final String EIDAS_LOA_PREFIX = "http://eidas.europa.eu/LoA/";
+ public static final String EIDAS_LOA_LOW = EIDAS_LOA_PREFIX + "low";
+ public static final String EIDAS_LOA_SUBSTANTIAL = EIDAS_LOA_PREFIX + "substantial";
+ public static final String EIDAS_LOA_HIGH = EIDAS_LOA_PREFIX + "high";
+
+ public static final String EIDAS_LOA_MATCHING_MINIMUM = "minimum";
+ public static final String EIDAS_LOA_MATCHING_EXACT = "exact";
+
+ // Austrian specific prefixes for pseudonyms of users
+ public static final String URN_PART_BASEID = "baseid";
+ public static final String URN_PART_CDID = "cdid+";
+ public static final String URN_PART_WBPK = "wbpk+";
+ public static final String URN_PART_EIDAS = "eidasid+";
+
+ public static final String URN_PREFIX = "urn:publicid:gv.at";
+ public static final String URN_PREFIX_WITH_COLON = URN_PREFIX + ":";
+ public static final String URN_PREFIX_BASEID = URN_PREFIX_WITH_COLON + URN_PART_BASEID;
+ public static final String URN_PREFIX_CDID = URN_PREFIX_WITH_COLON + URN_PART_CDID;
+ public static final String URN_PREFIX_BPK = URN_PREFIX_CDID + "bpk";
+ public static final String URN_PREFIX_WBPK = URN_PREFIX_WITH_COLON + URN_PART_WBPK;
+ public static final String URN_PREFIX_EIDAS = URN_PREFIX_WITH_COLON + URN_PART_EIDAS;
+ public static final String URN_PREFIX_OW_BPK = URN_PREFIX_CDID + "OW";
+
+ // Authentication process data_constants
+ public static final String UNIQUESESSIONIDENTIFIER = "eaaf_uniqueSessionIdentifier";
+ public static final String AUTH_DATA_CREATED = "eaaf_authdata_created";
+
+ public static final String PROCESS_ENGINE_PREFIX = "PARAMS_";
+ public static final String PROCESS_ENGINE_PENDINGREQUESTID = PROCESS_ENGINE_PREFIX
+ + PARAM_HTTP_TARGET_PENDINGREQUESTID;
+ public static final String PROCESS_ENGINE_SERVICE_PROVIDER_ENTITYID = PROCESS_ENGINE_PREFIX + "uniqueSPId";
+ public static final String PROCESS_ENGINE_SSL_CLIENT_CERTIFICATE = PROCESS_ENGINE_PREFIX + "holderofkey_cert";
+ public static final String PROCESS_ENGINE_REQUIRES_NO_POSTAUTH_REDIRECT = PROCESS_ENGINE_PREFIX
+ + "requireNoPostAuthRedirect";
+ public static final String PROCESSCONTEXT_SWITCH_LANGUAGE = "changeLanguage";
+
+ public static final int ALLOWED_TIME_JITTER = 5; // minutes
+ public static final String COUNTRYCODE_AUSTRIA = "AT";
+
+ public static final String TESTCREDENTIALROOTOID = "1.2.40.0.10.2.4.1";
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EaafEventCodes.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EaafEventCodes.java
new file mode 100644
index 00000000..74f79239
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/EaafEventCodes.java
@@ -0,0 +1,5 @@
+package at.gv.egiz.eaaf.core.api.data;
+
+public class EaafEventCodes {
+ public static final int PROCESS_STOPPED_BY_USER = 4102;
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExceptionContainer.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExceptionContainer.java
index f3e8b65c..80c7094c 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExceptionContainer.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExceptionContainer.java
@@ -1,29 +1,22 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.data;
import java.io.Serializable;
@@ -31,68 +24,80 @@ import java.io.Serializable;
import at.gv.egiz.eaaf.core.api.IRequest;
/**
+ * AuthProcess exception containter for Front-Channel exception handling.
+ *
* @author tlenz
*
*/
public class ExceptionContainer implements Serializable {
- private static final long serialVersionUID = 5355860753609684995L;
- private Throwable exceptionThrown = null;
- private IRequest pendingReq = null;
-
-
- /**
- *
- */
- public ExceptionContainer(IRequest pendingReq, Throwable exception) {
- this.pendingReq = pendingReq;
- this.exceptionThrown = exception;
-
- }
-
- /**
- * @return the exceptionThrown
- */
- public Throwable getExceptionThrown() {
- return this.exceptionThrown;
- }
-
- public IRequest getPendingRequest() {
- return this.pendingReq;
-
- }
-
- /**
- * @return the uniqueSessionID
- */
- public String getUniqueSessionID() {
- if (this.pendingReq != null)
- return this.pendingReq.getUniqueSessionIdentifier();
- else
- return null;
- }
- /**
- * @return the uniqueTransactionID
- */
- public String getUniqueTransactionID() {
- if (this.pendingReq != null)
- return this.pendingReq.getUniqueTransactionIdentifier();
- else
- return null;
- }
+ private static final long serialVersionUID = 5355860753609684995L;
+ private Throwable exceptionThrown = null;
+ private IRequest pendingReq = null;
+
+ /**
+ * Create an exception container.
+ *
+ * @param pendingReq Pending request that has an exception
+ * @param exception error
+ */
+ public ExceptionContainer(final IRequest pendingReq, final Throwable exception) {
+ this.pendingReq = pendingReq;
+ this.exceptionThrown = exception;
+
+ }
+
+ /**
+ * Get the error.
+ *
+ * @return the exceptionThrown
+ */
+ public Throwable getExceptionThrown() {
+ return this.exceptionThrown;
+ }
+
+ public IRequest getPendingRequest() {
+ return this.pendingReq;
+
+ }
+
+ /**
+ * Get the unique sessionId for this error.
+ *
+ * @return the uniqueSessionID
+ */
+ public String getUniqueSessionID() {
+ if (this.pendingReq != null) {
+ return this.pendingReq.getUniqueSessionIdentifier();
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Get the unique transactionId for this error.
+ *
+ * @return the uniqueTransactionID
+ */
+ public String getUniqueTransactionID() {
+ if (this.pendingReq != null) {
+ return this.pendingReq.getUniqueTransactionIdentifier();
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Get the service-provider identifier.
+ *
+ * @return the uniqueServiceProviderId
+ */
+ public String getUniqueServiceProviderId() {
+ if (this.pendingReq != null && this.pendingReq.getServiceProviderConfiguration() != null) {
+ return this.pendingReq.getServiceProviderConfiguration().getUniqueIdentifier();
+ } else {
+ return null;
+ }
+ }
- /**
- * @return the uniqueServiceProviderId
- */
- public String getUniqueServiceProviderId() {
- if (this.pendingReq != null &&
- this.pendingReq.getServiceProviderConfiguration() != null)
- return this.pendingReq.getServiceProviderConfiguration().getUniqueIdentifier();
- else
- return null;
- }
-
-
-
-
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExtendedPVPAttributeDefinitions.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExtendedPVPAttributeDefinitions.java
deleted file mode 100644
index d9ab2283..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExtendedPVPAttributeDefinitions.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.api.data;
-
-public interface ExtendedPVPAttributeDefinitions extends PVPAttributeDefinitions {
-
- public static final String SP_UNIQUEID_NAME = "urn:eidgvat:attributes.ServiceProviderUniqueId";
- public static final String SP_UNIQUEID_FRIENDLY_NAME = "ServiceProvider-UniqueId";
-
- public static final String SP_FRIENDLYNAME_NAME = "urn:eidgvat:attributes.ServiceProviderFriendlyName";
- public static final String SP_FRIENDLYNAME_FRIENDLY_NAME = "ServiceProvider-FriendlyName";
-
- public static final String SP_COUNTRYCODE_NAME = "urn:eidgvat:attributes.ServiceProviderCountryCode";
- public static final String SP_COUNTRYCODE_FRIENDLY_NAME = "ServiceProvider-CountryCode";
-
- public static final String SP_USESMANDATES_NAME = "urn:eidgvat:attributes.ServiceProviderMandateProfiles";
- public static final String SP_USESMANDATES_FRIENDLY_NAME = "ServiceProvider-MandateProfiles";
-
- /* Attributes for E-ID */
- public static final String EID_ENCRYPTED_SOURCEID_NAME = "urn:eidgvat:attributes.vsz.value";
- public static final String EID_ENCRYPTED_SOURCEID_FRIENDLY_NAME = "vSZ";
-
- public static final String EID_ENCRYPTED_SOURCEID_TYPE_NAME = "urn:eidgvat:attributes.vsz.type";
- public static final String EID_ENCRYPTED_SOURCEID_TYPE_FRIENDLY_NAME = "vSZ-Type";
-
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExtendedPvpAttributeDefinitions.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExtendedPvpAttributeDefinitions.java
new file mode 100644
index 00000000..b6f602d2
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExtendedPvpAttributeDefinitions.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+
+package at.gv.egiz.eaaf.core.api.data;
+
+public interface ExtendedPvpAttributeDefinitions extends PvpAttributeDefinitions {
+
+ String SP_UNIQUEID_NAME = "urn:eidgvat:attributes.ServiceProviderUniqueId";
+ String SP_UNIQUEID_FRIENDLY_NAME = "ServiceProvider-UniqueId";
+
+ String SP_FRIENDLYNAME_NAME = "urn:eidgvat:attributes.ServiceProviderFriendlyName";
+ String SP_FRIENDLYNAME_FRIENDLY_NAME = "ServiceProvider-FriendlyName";
+
+ String SP_COUNTRYCODE_NAME = "urn:eidgvat:attributes.ServiceProviderCountryCode";
+ String SP_COUNTRYCODE_FRIENDLY_NAME = "ServiceProvider-CountryCode";
+
+ String SP_USESMANDATES_NAME = "urn:eidgvat:attributes.ServiceProviderMandateProfiles";
+ String SP_USESMANDATES_FRIENDLY_NAME = "ServiceProvider-MandateProfiles";
+
+ /* Attributes for E-ID */
+ String EID_ENCRYPTED_SOURCEID_NAME = "urn:eidgvat:attributes.vsz.value";
+ String EID_ENCRYPTED_SOURCEID_FRIENDLY_NAME = "vSZ";
+
+ String EID_ENCRYPTED_SOURCEID_TYPE_NAME = "urn:eidgvat:attributes.vsz.type";
+ String EID_ENCRYPTED_SOURCEID_TYPE_FRIENDLY_NAME = "vSZ-Type";
+
+ String EID_EIDBIND_NAME = "urn:eidgvat:attributes.eidbind";
+ String EID_EIDBIND_FRIENDLY_NAME = "eidBind";
+
+ String EID_CONSENT_SIGNED_NAME = "urn:eidgvat:attributes.consent.signed";
+ String EID_CONSENT_SIGNED_FRIENDLY_NAME = "userConsent";
+
+ String EID_MIS_MANDATE_NAME = "urn:eidgvat:attributes.mis.mandate";
+ String EID_MIS_MANDATE_FRIENDLY_NAME = "mandate";
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ILoALevelMapper.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ILoALevelMapper.java
index ed79dc60..91fb1bf7 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ILoALevelMapper.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ILoALevelMapper.java
@@ -1,56 +1,48 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.data;
public interface ILoALevelMapper {
- /**
- * Map an arbitrary QAA level to eIDAS LoA
- *
- * @param qaa, but not null
- * @return An eIDAS LoA if there is a mapping, otherwise null
- */
- public String mapToeIDASLoA(String qaa);
-
- /**
- * Map an arbitrary QAA level to PVP SecClass
- *
- * @param qaa, but not null
- * @return A PVP SecClass if there is a mapping, otherwise null
- */
- public String mapToSecClass(String qaa);
+ /**
+ * Map an arbitrary QAA level to eIDAS LoA.
+ *
+ * @param qaa but not null
+ * @return An eIDAS LoA if there is a mapping, otherwise null
+ */
+ String mapToEidasLoa(String qaa);
+
+ /**
+ * Map an arbitrary QAA level to PVP SecClass.
+ *
+ * @param qaa but not null
+ * @return A PVP SecClass if there is a mapping, otherwise null
+ */
+ String mapToSecClass(String qaa);
-
- /**
- * Map an an arbitrary eIDAS LoA to STORK QAA Level
- *
- * @param eidasqaaLevel
- * @return A STORK QAA level
- */
- @Deprecated
- public String mapeIDASQAAToSTORKQAA(String eidasqaaLevel);
+ /**
+ * Map an an arbitrary eIDAS LoA to STORK QAA Level.
+ *
+ * @param eidasqaaLevel eIDAS LoA for mapping
+ * @return A STORK QAA level
+ */
+ @Deprecated
+ String mapEidasQaaToStorkQaa(String eidasqaaLevel);
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/PVPAttributeDefinitions.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/PVPAttributeDefinitions.java
deleted file mode 100644
index 03879a0c..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/PVPAttributeDefinitions.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.api.data;
-
-public interface PVPAttributeDefinitions {
-
- public static final String URN_OID_PREFIX = "urn:oid:";
-
- public static final String PVP_VERSION_OID = "1.2.40.0.10.2.1.1.261.10";
- public static final String PVP_VERSION_NAME = URN_OID_PREFIX + PVP_VERSION_OID;
- public static final String PVP_VERSION_FRIENDLY_NAME = "PVP-VERSION";
- public static final String PVP_VERSION_2_1 = "2.2";
-
-
- public static final String SECCLASS_OID = "1.2.40.0.10.2.1.1.261.110";
- public static final String SECCLASS_FRIENDLY_NAME = "SECCLASS";
- public static final String SECCLASS_NAME = URN_OID_PREFIX + SECCLASS_OID;
- public static final int SECCLASS_MAX_LENGTH = 128;
-
- public static final String PRINCIPAL_NAME_OID = "1.2.40.0.10.2.1.1.261.20";
- public static final String PRINCIPAL_NAME_NAME = URN_OID_PREFIX + PRINCIPAL_NAME_OID;
- public static final String PRINCIPAL_NAME_FRIENDLY_NAME = "PRINCIPAL-NAME";
- public static final int PRINCIPAL_NAME_MAX_LENGTH = 128;
-
- public static final String GIVEN_NAME_OID = "2.5.4.42";
- public static final String GIVEN_NAME_NAME = URN_OID_PREFIX + GIVEN_NAME_OID;
- public static final String GIVEN_NAME_FRIENDLY_NAME = "GIVEN-NAME";
- public static final int GIVEN_NAME_MAX_LENGTH = 128;
-
- public static final String BIRTHDATE_OID = "1.2.40.0.10.2.1.1.55";
- public static final String BIRTHDATE_NAME = URN_OID_PREFIX + BIRTHDATE_OID;
- public static final String BIRTHDATE_FRIENDLY_NAME = "BIRTHDATE";
- public static final String BIRTHDATE_FORMAT_PATTERN = "yyyy-MM-dd";
-
- public static final String USERID_OID = "0.9.2342.19200300.100.1.1";
- public static final String USERID_NAME = URN_OID_PREFIX + USERID_OID;
- public static final String USERID_FRIENDLY_NAME = "USERID";
- public static final int USERID_MAX_LENGTH = 128;
-
- public static final String GID_OID = "1.2.40.0.10.2.1.1.1";
- public static final String GID_NAME = URN_OID_PREFIX + GID_OID;
- public static final String GID_FRIENDLY_NAME = "GID";
- public static final int GID_MAX_LENGTH = 128;
-
- public static final String BPK_OID = "1.2.40.0.10.2.1.1.149";
- public static final String BPK_NAME = URN_OID_PREFIX + BPK_OID;
- public static final String BPK_FRIENDLY_NAME = "BPK";
- public static final int BPK_MAX_LENGTH = 1024;
- public static final String BPK_R_PROFILE21_HEADER = "X-PVP-BPK";
-
- public static final String BPK_LIST_OID = "1.2.40.0.10.2.1.1.261.28";
- public static final String BPK_LIST_NAME = URN_OID_PREFIX + BPK_LIST_OID;
- public static final String BPK_LIST_FRIENDLY_NAME = "BPK-LIST";
- public static final int BPK_LIST_MAX_LENGTH = 32767;
-
- public static final String ENC_BPK_LIST_OID = "1.2.40.0.10.2.1.1.261.22";
- public static final String ENC_BPK_LIST_NAME = URN_OID_PREFIX+ENC_BPK_LIST_OID;
- public static final String ENC_BPK_LIST_FRIENDLY_NAME = "ENC-BPK-LIST";
- public static final int ENC_BPK_LIST_MAX_LENGTH = 32767;
-
- public static final String MAIL_OID = "0.9.2342.19200300.100.1.3";
- public static final String MAIL_NAME = URN_OID_PREFIX + MAIL_OID;
- public static final String MAIL_FRIENDLY_NAME = "MAIL";
- public static final int MAIL_MAX_LENGTH = 128;
-
- public static final String TEL_OID = "2.5.4.20";
- public static final String TEL_NAME = URN_OID_PREFIX + TEL_OID;
- public static final String TEL_FRIENDLY_NAME = "TEL";
- public static final int TEL_MAX_LENGTH = 32;
-
- public static final String PARTICIPANT_ID_OID = "1.2.40.0.10.2.1.1.71";
- public static final String PARTICIPANT_ID_NAME = URN_OID_PREFIX + PARTICIPANT_ID_OID;
- public static final String PARTICIPANT_ID_FRIENDLY_NAME = "PARTICIPANT-ID";
- public static final int PARTICIPANT_MAX_LENGTH = 39;
-
- public static final String PARTICIPANT_OKZ_OID = "1.2.40.0.10.2.1.1.261.24";
- public static final String PARTICIPANT_OKZ_NAME = URN_OID_PREFIX + PARTICIPANT_OKZ_OID;
- public static final String PARTICIPANT_OKZ_FRIENDLY_NAME = "PARTICIPANT-OKZ";
- public static final int PARTICIPANT_OKZ_MAX_LENGTH = 32;
-
- public static final String OU_OKZ_OID = "1.2.40.0.10.2.1.1.153";
- public static final String OU_OKZ_NAME = URN_OID_PREFIX + OU_OKZ_OID;
- public static final int OU_OKZ_MAX_LENGTH = 32;
-
- public static final String OU_GV_OU_ID_OID = "1.2.40.0.10.2.1.1.3";
- public static final String OU_GV_OU_ID_NAME = URN_OID_PREFIX + OU_GV_OU_ID_OID;
- public static final String OU_GV_OU_ID_FRIENDLY_NAME = "OU-GV-OU-ID";
- public static final int OU_GV_OU_ID_MAX_LENGTH = 39;
-
- public static final String OU_OID = "2.5.4.11";
- public static final String OU_NAME = URN_OID_PREFIX + OU_OID;
- public static final String OU_FRIENDLY_NAME = "OU";
- public static final int OU_MAX_LENGTH = 64;
-
- public static final String FUNCTION_OID = "1.2.40.0.10.2.1.1.33";
- public static final String FUNCTION_NAME = URN_OID_PREFIX + FUNCTION_OID;
- public static final String FUNCTION_FRIENDLY_NAME = "FUNCTION";
- public static final int FUNCTION_MAX_LENGTH = 32;
-
- public static final String ROLES_OID = "1.2.40.0.10.2.1.1.261.30";
- public static final String ROLES_NAME = URN_OID_PREFIX + ROLES_OID;
- public static final String ROLES_FRIENDLY_NAME = "ROLES";
- public static final int ROLES_MAX_LENGTH = 32767;
-
- @Deprecated public static final String EID_CITIZEN_QAA_LEVEL_OID = "1.2.40.0.10.2.1.1.261.94";
- @Deprecated public static final String EID_CITIZEN_QAA_LEVEL_NAME = URN_OID_PREFIX + EID_CITIZEN_QAA_LEVEL_OID;
- @Deprecated public static final String EID_CITIZEN_QAA_LEVEL_FRIENDLY_NAME = "EID-CITIZEN-QAA-LEVEL";
-
- public static final String EID_CITIZEN_EIDAS_QAA_LEVEL_OID = "1.2.40.0.10.2.1.1.261.108";
- public static final String EID_CITIZEN_EIDAS_QAA_LEVEL_NAME = URN_OID_PREFIX + EID_CITIZEN_EIDAS_QAA_LEVEL_OID;
- public static final String EID_CITIZEN_EIDAS_QAA_LEVEL_FRIENDLY_NAME = "EID-CITIZEN-QAA-EIDAS-LEVEL";
-
- public static final String EID_IDENTITY_STATUS_LEVEL_OID = "1.2.40.0.10.2.1.1.261.109";
- public static final String EID_IDENTITY_STATUS_LEVEL_NAME = URN_OID_PREFIX + EID_IDENTITY_STATUS_LEVEL_OID;
- public static final String EID_IDENTITY_STATUS_LEVEL_FRIENDLY_NAME = "EID-IDENTITY-STATUS-LEVEL";
- public enum EID_IDENTITY_STATUS_LEVEL_VALUES {
- IDENTITY("http://eid.gv.at/eID/status/identity"),
- TESTIDENTITY("http://eid.gv.at/eID/status/testidentity"),
- SYSTEM("http://eid.gv.at/eID/status/system");
-
- private final String uri;
-
- private EID_IDENTITY_STATUS_LEVEL_VALUES(String uri) {
- this.uri = uri;
- }
-
- /**
- * Get the URI based status identifier of an E-ID
- *
- * @return
- */
- public String getURI() {
- return this.uri;
- }
- };
-
- public static final String EID_ISSUING_NATION_OID = "1.2.40.0.10.2.1.1.261.32";
- public static final String EID_ISSUING_NATION_NAME = URN_OID_PREFIX + EID_ISSUING_NATION_OID;
- public static final String EID_ISSUING_NATION_FRIENDLY_NAME = "EID-ISSUING-NATION";
- public static final int EID_ISSUING_NATION_MAX_LENGTH = 2;
-
- public static final String EID_SECTOR_FOR_IDENTIFIER_OID = "1.2.40.0.10.2.1.1.261.34";
- public static final String EID_SECTOR_FOR_IDENTIFIER_NAME = URN_OID_PREFIX + EID_SECTOR_FOR_IDENTIFIER_OID;
- public static final String EID_SECTOR_FOR_IDENTIFIER_FRIENDLY_NAME = "EID-SECTOR-FOR-IDENTIFIER";
- public static final int EID_SECTOR_FOR_IDENTIFIER_MAX_LENGTH = 255;
-
- @Deprecated public static final String EID_SOURCE_PIN_OID = "1.2.40.0.10.2.1.1.261.36";
- @Deprecated public static final String EID_SOURCE_PIN_NAME = URN_OID_PREFIX + EID_SOURCE_PIN_OID;
- @Deprecated public static final String EID_SOURCE_PIN_FRIENDLY_NAME = "EID-SOURCE-PIN";
- @Deprecated public static final int EID_SOURCE_PIN_MAX_LENGTH = 128;
-
- @Deprecated public static final String EID_SOURCE_PIN_TYPE_OID = "1.2.40.0.10.2.1.1.261.104";
- @Deprecated public static final String EID_SOURCE_PIN_TYPE_NAME = URN_OID_PREFIX + EID_SOURCE_PIN_TYPE_OID;
- @Deprecated public static final String EID_SOURCE_PIN_TYPE_FRIENDLY_NAME = "EID-SOURCE-PIN-TYPE";
- @Deprecated public static final int EID_SOURCE_PIN_TYPE_MAX_LENGTH = 128;
-
- @Deprecated public static final String EID_IDENTITY_LINK_OID = "1.2.40.0.10.2.1.1.261.38";
- @Deprecated public static final String EID_IDENTITY_LINK_NAME = URN_OID_PREFIX + EID_IDENTITY_LINK_OID;
- @Deprecated public static final String EID_IDENTITY_LINK_FRIENDLY_NAME = "EID-IDENTITY-LINK";
- @Deprecated public static final int EID_IDENTITY_LINK_MAX_LENGTH = 32767;
-
- public static final String EID_E_ID_TOKEN_OID = "1.2.40.0.10.2.1.1.261.39";
- public static final String EID_E_ID_TOKEN_NAME = URN_OID_PREFIX + EID_E_ID_TOKEN_OID;
- public static final String EID_E_ID_TOKEN_FRIENDLY_NAME = "EID-E-ID-TOKEN";
- public static final int EID_E_ID_TOKEN_MAX_LENGTH = 32767;
-
- @Deprecated public static final String EID_AUTH_BLOCK_OID = "1.2.40.0.10.2.1.1.261.62";
- @Deprecated public static final String EID_AUTH_BLOCK_NAME = URN_OID_PREFIX + EID_AUTH_BLOCK_OID;
- @Deprecated public static final String EID_AUTH_BLOCK_FRIENDLY_NAME = "EID-AUTH-BLOCK";
- @Deprecated public static final int EID_AUTH_BLOCK_MAX_LENGTH = 32767;
-
- public static final String EID_CCS_URL_OID = "1.2.40.0.10.2.1.1.261.64";
- public static final String EID_CCS_URL_NAME = URN_OID_PREFIX + EID_CCS_URL_OID;
- public static final String EID_CCS_URL_FRIENDLY_NAME = "EID-CCS-URL";
- public static final int EID_CCS_URL_MAX_LENGTH = 1024;
-
- public static final String EID_SIGNER_CERTIFICATE_OID = "1.2.40.0.10.2.1.1.261.66";
- public static final String EID_SIGNER_CERTIFICATE_NAME = URN_OID_PREFIX + EID_SIGNER_CERTIFICATE_OID;
- public static final String EID_SIGNER_CERTIFICATE_FRIENDLY_NAME = "EID-SIGNER-CERTIFICATE";
- public static final int EID_SIGNER_CERTIFICATE_MAX_LENGTH = 32767;
-
- @Deprecated public static final String EID_STORK_TOKEN_OID = "1.2.40.0.10.2.1.1.261.96";
- @Deprecated public static final String EID_STORK_TOKEN_NAME = URN_OID_PREFIX + EID_STORK_TOKEN_OID;
- @Deprecated public static final String EID_STORK_TOKEN_FRIENDLY_NAME = "EID-STORK-TOKEN";
- @Deprecated public static final int EID_STORK_TOKEN_MAX_LENGTH = 32767;
-
- public static final String MANDATE_TYPE_OID = "1.2.40.0.10.2.1.1.261.68";
- public static final String MANDATE_TYPE_NAME = URN_OID_PREFIX + MANDATE_TYPE_OID;
- public static final String MANDATE_TYPE_FRIENDLY_NAME = "MANDATE-TYPE";
- public static final int MANDATE_TYPE_MAX_LENGTH = 256;
-
- public static final String MANDATE_TYPE_OID_OID = "1.2.40.0.10.2.1.1.261.106";
- public static final String MANDATE_TYPE_OID_NAME = URN_OID_PREFIX + MANDATE_TYPE_OID_OID;
- public static final String MANDATE_TYPE_OID_FRIENDLY_NAME = "MANDATE-TYPE-OID";
- public static final int MANDATE_TYPE_OID_MAX_LENGTH = 256;
-
- @Deprecated public static final String MANDATE_NAT_PER_SOURCE_PIN_OID = "1.2.40.0.10.2.1.1.261.70";
- @Deprecated public static final String MANDATE_NAT_PER_SOURCE_PIN_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_SOURCE_PIN_OID;
- @Deprecated public static final String MANDATE_NAT_PER_SOURCE_PIN_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-SOURCE-PIN";
- @Deprecated public static final int MANDATE_NAT_PER_SOURCE_PIN_MAX_LENGTH = 128;
-
- public static final String MANDATE_LEG_PER_SOURCE_PIN_OID = "1.2.40.0.10.2.1.1.261.100";
- public static final String MANDATE_LEG_PER_SOURCE_PIN_NAME = URN_OID_PREFIX + MANDATE_LEG_PER_SOURCE_PIN_OID;
- public static final String MANDATE_LEG_PER_SOURCE_PIN_FRIENDLY_NAME = "MANDATOR-LEGAL-PERSON-SOURCE-PIN";
- public static final int MANDATE_LEG_PER_SOURCE_PIN_MAX_LENGTH = 128;
-
- @Deprecated public static final String MANDATE_NAT_PER_SOURCE_PIN_TYPE_OID = "1.2.40.0.10.2.1.1.261.102";
- @Deprecated public static final String MANDATE_NAT_PER_SOURCE_PIN_TYPE_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_SOURCE_PIN_TYPE_OID;
- @Deprecated public static final String MANDATE_NAT_PER_SOURCE_PIN_TYPE_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-SOURCE-PIN-TYPE";
- @Deprecated public static final int MANDATE_NAT_PER_SOURCE_PIN_TYPE_MAX_LENGTH = 128;
-
- public static final String MANDATE_LEG_PER_SOURCE_PIN_TYPE_OID = "1.2.40.0.10.2.1.1.261.76";
- public static final String MANDATE_LEG_PER_SOURCE_PIN_TYPE_NAME = URN_OID_PREFIX + MANDATE_LEG_PER_SOURCE_PIN_TYPE_OID;
- public static final String MANDATE_LEG_PER_SOURCE_PIN_TYPE_FRIENDLY_NAME = "MANDATOR-LEGAL-PERSON-SOURCE-PIN-TYPE";
- public static final int MANDATE_LEG_PER_SOURCE_PIN_TYPE_MAX_LENGTH = 128;
-
- public static final String MANDATE_NAT_PER_BPK_OID = "1.2.40.0.10.2.1.1.261.98";
- public static final String MANDATE_NAT_PER_BPK_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_BPK_OID;
- public static final String MANDATE_NAT_PER_BPK_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-BPK";
- public static final int MANDATE_NAT_PER_BPK_MAX_LENGTH = 1024;
-
- public static final String MANDATE_NAT_PER_BPK_LIST_OID = "1.2.40.0.10.2.1.1.261.73";
- public static final String MANDATE_NAT_PER_BPK_LIST_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_BPK_LIST_OID;
- public static final String MANDATE_NAT_PER_BPK_LIST_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-BPK-LIST";
- public static final int MANDATE_NAT_PER_ENC_LIST_MAX_LENGTH = 32767;
-
- public static final String MANDATE_NAT_PER_ENC_BPK_LIST_OID = "1.2.40.0.10.2.1.1.261.72";
- public static final String MANDATE_NAT_PER_ENC_BPK_LIST_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_ENC_BPK_LIST_OID;
- public static final String MANDATE_NAT_PER_ENC_BPK_LIST_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-ENC-BPK-LIST";
- public static final int MANDATE_NAT_PER_ENC_BPK_LIST_MAX_LENGTH = 32767;
-
- public static final String MANDATE_NAT_PER_GIVEN_NAME_OID = "1.2.40.0.10.2.1.1.261.78";
- public static final String MANDATE_NAT_PER_GIVEN_NAME_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_GIVEN_NAME_OID;
- public static final String MANDATE_NAT_PER_GIVEN_NAME_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-GIVEN-NAME";
- public static final int MANDATE_NAT_PER_GIVEN_NAME_MAX_LENGTH = 128;
-
- public static final String MANDATE_NAT_PER_FAMILY_NAME_OID = "1.2.40.0.10.2.1.1.261.80";
- public static final String MANDATE_NAT_PER_FAMILY_NAME_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_FAMILY_NAME_OID;
- public static final String MANDATE_NAT_PER_FAMILY_NAME_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-FAMILY-NAME";
- public static final int MANDATE_NAT_PER_FAMILY_NAME_MAX_LENGTH = 128;
-
- public static final String MANDATE_NAT_PER_BIRTHDATE_OID = "1.2.40.0.10.2.1.1.261.82";
- public static final String MANDATE_NAT_PER_BIRTHDATE_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_BIRTHDATE_OID;
- public static final String MANDATE_NAT_PER_BIRTHDATE_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-BIRTHDATE";
- public static final String MANDATE_NAT_PER_BIRTHDATE_FORMAT_PATTERN = BIRTHDATE_FORMAT_PATTERN;
-
- public static final String MANDATE_LEG_PER_FULL_NAME_OID = "1.2.40.0.10.2.1.1.261.84";
- public static final String MANDATE_LEG_PER_FULL_NAME_NAME = URN_OID_PREFIX + MANDATE_LEG_PER_FULL_NAME_OID;
- public static final String MANDATE_LEG_PER_FULL_NAME_FRIENDLY_NAME = "MANDATOR-LEGAL-PERSON-FULL-NAME";
- public static final int MANDATE_LEG_PER_FULL_NAME_MAX_LENGTH = 256;
-
- public static final String MANDATE_PROF_REP_OID_OID = "1.2.40.0.10.2.1.1.261.86";
- public static final String MANDATE_PROF_REP_OID_NAME = URN_OID_PREFIX + MANDATE_PROF_REP_OID_OID;
- public static final String MANDATE_PROF_REP_OID_FRIENDLY_NAME = "MANDATE-PROF-REP-OID";
- public static final int MANDATE_PROF_REP_OID_MAX_LENGTH = 256;
-
- public static final String MANDATE_PROF_REP_DESC_OID = "1.2.40.0.10.2.1.1.261.88";
- public static final String MANDATE_PROF_REP_DESC_NAME = URN_OID_PREFIX + MANDATE_PROF_REP_DESC_OID;
- public static final String MANDATE_PROF_REP_DESC_FRIENDLY_NAME = "MANDATE-PROF-REP-DESCRIPTION";
- public static final int MANDATE_PROF_REP_DESC_MAX_LENGTH = 1024;
-
- public static final String MANDATE_REFERENCE_VALUE_OID = "1.2.40.0.10.2.1.1.261.90";
- public static final String MANDATE_REFERENCE_VALUE_NAME = URN_OID_PREFIX + MANDATE_REFERENCE_VALUE_OID;
- public static final String MANDATE_REFERENCE_VALUE_FRIENDLY_NAME = "MANDATE-REFERENCE-VALUE";
- public static final int MANDATE_REFERENCE_VALUE_MAX_LENGTH = 100;
-
- public static final String MANDATE_IDENTIFIER_OID = "1.2.40.0.10.2.1.1.261.91";
- public static final String MANDATE_IDENTIFIER_FRIENDLY_NAME = "MANDATE-IDENTIFIER";
- public static final String MANDATE_IDENTIFIER_NAME = URN_OID_PREFIX + MANDATE_IDENTIFIER_OID;
- public static final int MANDATE_IDENTIFIER_MAX_LENGTH = 256;
-
-
- @Deprecated public static final String MANDATE_FULL_MANDATE_OID = "1.2.40.0.10.2.1.1.261.92";
- @Deprecated public static final String MANDATE_FULL_MANDATE_NAME = URN_OID_PREFIX + MANDATE_FULL_MANDATE_OID;
- @Deprecated public static final String MANDATE_FULL_MANDATE_FRIENDLY_NAME = "MANDATE-FULL-MANDATE";
- @Deprecated public static final int MANDATE_FULL_MANDATE_MAX_LENGTH = 32767;
-
- public static final String INVOICE_RECPT_ID_OID = "1.2.40.0.10.2.1.1.261.40";
- public static final String INVOICE_RECPT_ID_NAME = URN_OID_PREFIX + INVOICE_RECPT_ID_OID;
- public static final String INVOICE_RECPT_ID_FRIENDLY_NAME = "INVOICE-RECPT-ID";
- public static final int INVOICE_RECPT_ID_MAX_LENGTH = 64;
-
- public static final String COST_CENTER_ID_OID = "1.2.40.0.10.2.1.1.261.50";
- public static final String COST_CENTER_ID_NAME = URN_OID_PREFIX + COST_CENTER_ID_OID;
- public static final String COST_CENTER_ID_FRIENDLY_NAME = "COST-CENTER-ID";
- public static final int COST_CENTER_ID_MAX_LENGTH = 32767;
-
- public static final String CHARGE_CODE_OID = "1.2.40.0.10.2.1.1.261.60";
- public static final String CHARGE_CODE_NAME = URN_OID_PREFIX + CHARGE_CODE_OID;
- public static final String CHARGE_CODE_FRIENDLY_NAME = "CHARGE-CODE";
- public static final int CHARGE_CODE_MAX_LENGTH = 32767;
-
- public static final String PVP_HOLDEROFKEY_OID = "1.2.40.0.10.2.1.1.261.xx.xx";
- public static final String PVP_HOLDEROFKEY_NAME = URN_OID_PREFIX + PVP_HOLDEROFKEY_OID;
- public static final String PVP_HOLDEROFKEY_FRIENDLY_NAME = "HOLDER-OF-KEY-CERTIFICATE";
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/PvpAttributeDefinitions.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/PvpAttributeDefinitions.java
new file mode 100644
index 00000000..2a9a8317
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/PvpAttributeDefinitions.java
@@ -0,0 +1,347 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+
+package at.gv.egiz.eaaf.core.api.data;
+
+public interface PvpAttributeDefinitions {
+
+ String URN_OID_PREFIX = "urn:oid:";
+
+ String PVP_VERSION_OID = "1.2.40.0.10.2.1.1.261.10";
+ String PVP_VERSION_NAME = URN_OID_PREFIX + PVP_VERSION_OID;
+ String PVP_VERSION_FRIENDLY_NAME = "PVP-VERSION";
+ String PVP_VERSION_2_1 = "2.2";
+
+ String SECCLASS_OID = "1.2.40.0.10.2.1.1.261.110";
+ String SECCLASS_FRIENDLY_NAME = "SECCLASS";
+ String SECCLASS_NAME = URN_OID_PREFIX + SECCLASS_OID;
+ int SECCLASS_MAX_LENGTH = 128;
+
+ String PRINCIPAL_NAME_OID = "1.2.40.0.10.2.1.1.261.20";
+ String PRINCIPAL_NAME_NAME = URN_OID_PREFIX + PRINCIPAL_NAME_OID;
+ String PRINCIPAL_NAME_FRIENDLY_NAME = "PRINCIPAL-NAME";
+ int PRINCIPAL_NAME_MAX_LENGTH = 128;
+
+ String GIVEN_NAME_OID = "2.5.4.42";
+ String GIVEN_NAME_NAME = URN_OID_PREFIX + GIVEN_NAME_OID;
+ String GIVEN_NAME_FRIENDLY_NAME = "GIVEN-NAME";
+ int GIVEN_NAME_MAX_LENGTH = 128;
+
+ String BIRTHDATE_OID = "1.2.40.0.10.2.1.1.55";
+ String BIRTHDATE_NAME = URN_OID_PREFIX + BIRTHDATE_OID;
+ String BIRTHDATE_FRIENDLY_NAME = "BIRTHDATE";
+ String BIRTHDATE_FORMAT_PATTERN = "yyyy-MM-dd";
+
+ String USERID_OID = "0.9.2342.19200300.100.1.1";
+ String USERID_NAME = URN_OID_PREFIX + USERID_OID;
+ String USERID_FRIENDLY_NAME = "USERID";
+ int USERID_MAX_LENGTH = 128;
+
+ String GID_OID = "1.2.40.0.10.2.1.1.1";
+ String GID_NAME = URN_OID_PREFIX + GID_OID;
+ String GID_FRIENDLY_NAME = "GID";
+ int GID_MAX_LENGTH = 128;
+
+ String BPK_OID = "1.2.40.0.10.2.1.1.149";
+ String BPK_NAME = URN_OID_PREFIX + BPK_OID;
+ String BPK_FRIENDLY_NAME = "BPK";
+ int BPK_MAX_LENGTH = 1024;
+ String BPK_R_PROFILE21_HEADER = "X-PVP-BPK";
+
+ String BPK_LIST_OID = "1.2.40.0.10.2.1.1.261.28";
+ String BPK_LIST_NAME = URN_OID_PREFIX + BPK_LIST_OID;
+ String BPK_LIST_FRIENDLY_NAME = "BPK-LIST";
+ int BPK_LIST_MAX_LENGTH = 32767;
+
+ String ENC_BPK_LIST_OID = "1.2.40.0.10.2.1.1.261.22";
+ String ENC_BPK_LIST_NAME = URN_OID_PREFIX + ENC_BPK_LIST_OID;
+ String ENC_BPK_LIST_FRIENDLY_NAME = "ENC-BPK-LIST";
+ int ENC_BPK_LIST_MAX_LENGTH = 32767;
+
+ String MAIL_OID = "0.9.2342.19200300.100.1.3";
+ String MAIL_NAME = URN_OID_PREFIX + MAIL_OID;
+ String MAIL_FRIENDLY_NAME = "MAIL";
+ int MAIL_MAX_LENGTH = 128;
+
+ String TEL_OID = "2.5.4.20";
+ String TEL_NAME = URN_OID_PREFIX + TEL_OID;
+ String TEL_FRIENDLY_NAME = "TEL";
+ int TEL_MAX_LENGTH = 32;
+
+ String PARTICIPANT_ID_OID = "1.2.40.0.10.2.1.1.71";
+ String PARTICIPANT_ID_NAME = URN_OID_PREFIX + PARTICIPANT_ID_OID;
+ String PARTICIPANT_ID_FRIENDLY_NAME = "PARTICIPANT-ID";
+ int PARTICIPANT_MAX_LENGTH = 39;
+
+ String PARTICIPANT_OKZ_OID = "1.2.40.0.10.2.1.1.261.24";
+ String PARTICIPANT_OKZ_NAME = URN_OID_PREFIX + PARTICIPANT_OKZ_OID;
+ String PARTICIPANT_OKZ_FRIENDLY_NAME = "PARTICIPANT-OKZ";
+ int PARTICIPANT_OKZ_MAX_LENGTH = 32;
+
+ String OU_OKZ_OID = "1.2.40.0.10.2.1.1.153";
+ String OU_OKZ_NAME = URN_OID_PREFIX + OU_OKZ_OID;
+ int OU_OKZ_MAX_LENGTH = 32;
+
+ String OU_GV_OU_ID_OID = "1.2.40.0.10.2.1.1.3";
+ String OU_GV_OU_ID_NAME = URN_OID_PREFIX + OU_GV_OU_ID_OID;
+ String OU_GV_OU_ID_FRIENDLY_NAME = "OU-GV-OU-ID";
+ int OU_GV_OU_ID_MAX_LENGTH = 39;
+
+ String OU_OID = "2.5.4.11";
+ String OU_NAME = URN_OID_PREFIX + OU_OID;
+ String OU_FRIENDLY_NAME = "OU";
+ int OU_MAX_LENGTH = 64;
+
+ String FUNCTION_OID = "1.2.40.0.10.2.1.1.33";
+ String FUNCTION_NAME = URN_OID_PREFIX + FUNCTION_OID;
+ String FUNCTION_FRIENDLY_NAME = "FUNCTION";
+ int FUNCTION_MAX_LENGTH = 32;
+
+ String ROLES_OID = "1.2.40.0.10.2.1.1.261.30";
+ String ROLES_NAME = URN_OID_PREFIX + ROLES_OID;
+ String ROLES_FRIENDLY_NAME = "ROLES";
+ int ROLES_MAX_LENGTH = 32767;
+
+ @Deprecated
+ String EID_CITIZEN_QAA_LEVEL_OID = "1.2.40.0.10.2.1.1.261.94";
+ @Deprecated
+ String EID_CITIZEN_QAA_LEVEL_NAME = URN_OID_PREFIX + EID_CITIZEN_QAA_LEVEL_OID;
+ @Deprecated
+ String EID_CITIZEN_QAA_LEVEL_FRIENDLY_NAME = "EID-CITIZEN-QAA-LEVEL";
+
+ String EID_CITIZEN_EIDAS_QAA_LEVEL_OID = "1.2.40.0.10.2.1.1.261.108";
+ String EID_CITIZEN_EIDAS_QAA_LEVEL_NAME = URN_OID_PREFIX + EID_CITIZEN_EIDAS_QAA_LEVEL_OID;
+ String EID_CITIZEN_EIDAS_QAA_LEVEL_FRIENDLY_NAME = "EID-CITIZEN-QAA-EIDAS-LEVEL";
+
+ String EID_IDENTITY_STATUS_LEVEL_OID = "1.2.40.0.10.2.1.1.261.109";
+ String EID_IDENTITY_STATUS_LEVEL_NAME = URN_OID_PREFIX + EID_IDENTITY_STATUS_LEVEL_OID;
+ String EID_IDENTITY_STATUS_LEVEL_FRIENDLY_NAME = "EID-IDENTITY-STATUS-LEVEL";
+
+ enum EidIdentityStatusLevelValues {
+ IDENTITY("http://eid.gv.at/eID/status/identity"), TESTIDENTITY("http://eid.gv.at/eID/status/testidentity"),
+ SYSTEM("http://eid.gv.at/eID/status/system");
+
+ private String uri;
+
+ EidIdentityStatusLevelValues(final String uri) {
+ this.uri = uri;
+ }
+
+ /**
+ * Get the URI based status identifier of an E-ID.
+ *
+ * @return
+ */
+ public String getUri() {
+ return this.uri;
+ }
+ }
+
+ String EID_ISSUING_NATION_OID = "1.2.40.0.10.2.1.1.261.32";
+ String EID_ISSUING_NATION_NAME = URN_OID_PREFIX + EID_ISSUING_NATION_OID;
+ String EID_ISSUING_NATION_FRIENDLY_NAME = "EID-ISSUING-NATION";
+ int EID_ISSUING_NATION_MAX_LENGTH = 2;
+
+ String EID_SECTOR_FOR_IDENTIFIER_OID = "1.2.40.0.10.2.1.1.261.34";
+ String EID_SECTOR_FOR_IDENTIFIER_NAME = URN_OID_PREFIX + EID_SECTOR_FOR_IDENTIFIER_OID;
+ String EID_SECTOR_FOR_IDENTIFIER_FRIENDLY_NAME = "EID-SECTOR-FOR-IDENTIFIER";
+ int EID_SECTOR_FOR_IDENTIFIER_MAX_LENGTH = 255;
+
+ @Deprecated
+ String EID_SOURCE_PIN_OID = "1.2.40.0.10.2.1.1.261.36";
+ @Deprecated
+ String EID_SOURCE_PIN_NAME = URN_OID_PREFIX + EID_SOURCE_PIN_OID;
+ @Deprecated
+ String EID_SOURCE_PIN_FRIENDLY_NAME = "EID-SOURCE-PIN";
+ @Deprecated
+ int EID_SOURCE_PIN_MAX_LENGTH = 128;
+
+ @Deprecated
+ String EID_SOURCE_PIN_TYPE_OID = "1.2.40.0.10.2.1.1.261.104";
+ @Deprecated
+ String EID_SOURCE_PIN_TYPE_NAME = URN_OID_PREFIX + EID_SOURCE_PIN_TYPE_OID;
+ @Deprecated
+ String EID_SOURCE_PIN_TYPE_FRIENDLY_NAME = "EID-SOURCE-PIN-TYPE";
+ @Deprecated
+ int EID_SOURCE_PIN_TYPE_MAX_LENGTH = 128;
+
+ @Deprecated
+ String EID_IDENTITY_LINK_OID = "1.2.40.0.10.2.1.1.261.38";
+ @Deprecated
+ String EID_IDENTITY_LINK_NAME = URN_OID_PREFIX + EID_IDENTITY_LINK_OID;
+ @Deprecated
+ String EID_IDENTITY_LINK_FRIENDLY_NAME = "EID-IDENTITY-LINK";
+ @Deprecated
+ int EID_IDENTITY_LINK_MAX_LENGTH = 32767;
+
+ String EID_E_ID_TOKEN_OID = "1.2.40.0.10.2.1.1.261.39";
+ String EID_E_ID_TOKEN_NAME = URN_OID_PREFIX + EID_E_ID_TOKEN_OID;
+ String EID_E_ID_TOKEN_FRIENDLY_NAME = "EID-E-ID-TOKEN";
+ int EID_E_ID_TOKEN_MAX_LENGTH = 32767;
+
+ @Deprecated
+ String EID_AUTH_BLOCK_OID = "1.2.40.0.10.2.1.1.261.62";
+ @Deprecated
+ String EID_AUTH_BLOCK_NAME = URN_OID_PREFIX + EID_AUTH_BLOCK_OID;
+ @Deprecated
+ String EID_AUTH_BLOCK_FRIENDLY_NAME = "EID-AUTH-BLOCK";
+ @Deprecated
+ int EID_AUTH_BLOCK_MAX_LENGTH = 32767;
+
+ String EID_CCS_URL_OID = "1.2.40.0.10.2.1.1.261.64";
+ String EID_CCS_URL_NAME = URN_OID_PREFIX + EID_CCS_URL_OID;
+ String EID_CCS_URL_FRIENDLY_NAME = "EID-CCS-URL";
+ int EID_CCS_URL_MAX_LENGTH = 1024;
+
+ String EID_SIGNER_CERTIFICATE_OID = "1.2.40.0.10.2.1.1.261.66";
+ String EID_SIGNER_CERTIFICATE_NAME = URN_OID_PREFIX + EID_SIGNER_CERTIFICATE_OID;
+ String EID_SIGNER_CERTIFICATE_FRIENDLY_NAME = "EID-SIGNER-CERTIFICATE";
+ int EID_SIGNER_CERTIFICATE_MAX_LENGTH = 32767;
+
+ @Deprecated
+ String EID_STORK_TOKEN_OID = "1.2.40.0.10.2.1.1.261.96";
+ @Deprecated
+ String EID_STORK_TOKEN_NAME = URN_OID_PREFIX + EID_STORK_TOKEN_OID;
+ @Deprecated
+ String EID_STORK_TOKEN_FRIENDLY_NAME = "EID-STORK-TOKEN";
+ @Deprecated
+ int EID_STORK_TOKEN_MAX_LENGTH = 32767;
+
+ String MANDATE_TYPE_OID = "1.2.40.0.10.2.1.1.261.68";
+ String MANDATE_TYPE_NAME = URN_OID_PREFIX + MANDATE_TYPE_OID;
+ String MANDATE_TYPE_FRIENDLY_NAME = "MANDATE-TYPE";
+ int MANDATE_TYPE_MAX_LENGTH = 256;
+
+ String MANDATE_TYPE_OID_OID = "1.2.40.0.10.2.1.1.261.106";
+ String MANDATE_TYPE_OID_NAME = URN_OID_PREFIX + MANDATE_TYPE_OID_OID;
+ String MANDATE_TYPE_OID_FRIENDLY_NAME = "MANDATE-TYPE-OID";
+ int MANDATE_TYPE_OID_MAX_LENGTH = 256;
+
+ @Deprecated
+ String MANDATE_NAT_PER_SOURCE_PIN_OID = "1.2.40.0.10.2.1.1.261.70";
+ @Deprecated
+ String MANDATE_NAT_PER_SOURCE_PIN_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_SOURCE_PIN_OID;
+ @Deprecated
+ String MANDATE_NAT_PER_SOURCE_PIN_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-SOURCE-PIN";
+ @Deprecated
+ int MANDATE_NAT_PER_SOURCE_PIN_MAX_LENGTH = 128;
+
+ String MANDATE_LEG_PER_SOURCE_PIN_OID = "1.2.40.0.10.2.1.1.261.100";
+ String MANDATE_LEG_PER_SOURCE_PIN_NAME = URN_OID_PREFIX + MANDATE_LEG_PER_SOURCE_PIN_OID;
+ String MANDATE_LEG_PER_SOURCE_PIN_FRIENDLY_NAME = "MANDATOR-LEGAL-PERSON-SOURCE-PIN";
+ int MANDATE_LEG_PER_SOURCE_PIN_MAX_LENGTH = 128;
+
+ @Deprecated
+ String MANDATE_NAT_PER_SOURCE_PIN_TYPE_OID = "1.2.40.0.10.2.1.1.261.102";
+ @Deprecated
+ String MANDATE_NAT_PER_SOURCE_PIN_TYPE_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_SOURCE_PIN_TYPE_OID;
+ @Deprecated
+ String MANDATE_NAT_PER_SOURCE_PIN_TYPE_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-SOURCE-PIN-TYPE";
+ @Deprecated
+ int MANDATE_NAT_PER_SOURCE_PIN_TYPE_MAX_LENGTH = 128;
+
+ String MANDATE_LEG_PER_SOURCE_PIN_TYPE_OID = "1.2.40.0.10.2.1.1.261.76";
+ String MANDATE_LEG_PER_SOURCE_PIN_TYPE_NAME = URN_OID_PREFIX + MANDATE_LEG_PER_SOURCE_PIN_TYPE_OID;
+ String MANDATE_LEG_PER_SOURCE_PIN_TYPE_FRIENDLY_NAME = "MANDATOR-LEGAL-PERSON-SOURCE-PIN-TYPE";
+ int MANDATE_LEG_PER_SOURCE_PIN_TYPE_MAX_LENGTH = 128;
+
+ String MANDATE_NAT_PER_BPK_OID = "1.2.40.0.10.2.1.1.261.98";
+ String MANDATE_NAT_PER_BPK_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_BPK_OID;
+ String MANDATE_NAT_PER_BPK_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-BPK";
+ int MANDATE_NAT_PER_BPK_MAX_LENGTH = 1024;
+
+ String MANDATE_NAT_PER_BPK_LIST_OID = "1.2.40.0.10.2.1.1.261.73";
+ String MANDATE_NAT_PER_BPK_LIST_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_BPK_LIST_OID;
+ String MANDATE_NAT_PER_BPK_LIST_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-BPK-LIST";
+ int MANDATE_NAT_PER_ENC_LIST_MAX_LENGTH = 32767;
+
+ String MANDATE_NAT_PER_ENC_BPK_LIST_OID = "1.2.40.0.10.2.1.1.261.72";
+ String MANDATE_NAT_PER_ENC_BPK_LIST_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_ENC_BPK_LIST_OID;
+ String MANDATE_NAT_PER_ENC_BPK_LIST_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-ENC-BPK-LIST";
+ int MANDATE_NAT_PER_ENC_BPK_LIST_MAX_LENGTH = 32767;
+
+ String MANDATE_NAT_PER_GIVEN_NAME_OID = "1.2.40.0.10.2.1.1.261.78";
+ String MANDATE_NAT_PER_GIVEN_NAME_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_GIVEN_NAME_OID;
+ String MANDATE_NAT_PER_GIVEN_NAME_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-GIVEN-NAME";
+ int MANDATE_NAT_PER_GIVEN_NAME_MAX_LENGTH = 128;
+
+ String MANDATE_NAT_PER_FAMILY_NAME_OID = "1.2.40.0.10.2.1.1.261.80";
+ String MANDATE_NAT_PER_FAMILY_NAME_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_FAMILY_NAME_OID;
+ String MANDATE_NAT_PER_FAMILY_NAME_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-FAMILY-NAME";
+ int MANDATE_NAT_PER_FAMILY_NAME_MAX_LENGTH = 128;
+
+ String MANDATE_NAT_PER_BIRTHDATE_OID = "1.2.40.0.10.2.1.1.261.82";
+ String MANDATE_NAT_PER_BIRTHDATE_NAME = URN_OID_PREFIX + MANDATE_NAT_PER_BIRTHDATE_OID;
+ String MANDATE_NAT_PER_BIRTHDATE_FRIENDLY_NAME = "MANDATOR-NATURAL-PERSON-BIRTHDATE";
+ String MANDATE_NAT_PER_BIRTHDATE_FORMAT_PATTERN = BIRTHDATE_FORMAT_PATTERN;
+
+ String MANDATE_LEG_PER_FULL_NAME_OID = "1.2.40.0.10.2.1.1.261.84";
+ String MANDATE_LEG_PER_FULL_NAME_NAME = URN_OID_PREFIX + MANDATE_LEG_PER_FULL_NAME_OID;
+ String MANDATE_LEG_PER_FULL_NAME_FRIENDLY_NAME = "MANDATOR-LEGAL-PERSON-FULL-NAME";
+ int MANDATE_LEG_PER_FULL_NAME_MAX_LENGTH = 256;
+
+ String MANDATE_PROF_REP_OID_OID = "1.2.40.0.10.2.1.1.261.86";
+ String MANDATE_PROF_REP_OID_NAME = URN_OID_PREFIX + MANDATE_PROF_REP_OID_OID;
+ String MANDATE_PROF_REP_OID_FRIENDLY_NAME = "MANDATE-PROF-REP-OID";
+ int MANDATE_PROF_REP_OID_MAX_LENGTH = 256;
+
+ String MANDATE_PROF_REP_DESC_OID = "1.2.40.0.10.2.1.1.261.88";
+ String MANDATE_PROF_REP_DESC_NAME = URN_OID_PREFIX + MANDATE_PROF_REP_DESC_OID;
+ String MANDATE_PROF_REP_DESC_FRIENDLY_NAME = "MANDATE-PROF-REP-DESCRIPTION";
+ int MANDATE_PROF_REP_DESC_MAX_LENGTH = 1024;
+
+ String MANDATE_REFERENCE_VALUE_OID = "1.2.40.0.10.2.1.1.261.90";
+ String MANDATE_REFERENCE_VALUE_NAME = URN_OID_PREFIX + MANDATE_REFERENCE_VALUE_OID;
+ String MANDATE_REFERENCE_VALUE_FRIENDLY_NAME = "MANDATE-REFERENCE-VALUE";
+ int MANDATE_REFERENCE_VALUE_MAX_LENGTH = 100;
+
+ String MANDATE_IDENTIFIER_OID = "1.2.40.0.10.2.1.1.261.91";
+ String MANDATE_IDENTIFIER_FRIENDLY_NAME = "MANDATE-IDENTIFIER";
+ String MANDATE_IDENTIFIER_NAME = URN_OID_PREFIX + MANDATE_IDENTIFIER_OID;
+ int MANDATE_IDENTIFIER_MAX_LENGTH = 256;
+
+ @Deprecated
+ String MANDATE_FULL_MANDATE_OID = "1.2.40.0.10.2.1.1.261.92";
+ @Deprecated
+ String MANDATE_FULL_MANDATE_NAME = URN_OID_PREFIX + MANDATE_FULL_MANDATE_OID;
+ @Deprecated
+ String MANDATE_FULL_MANDATE_FRIENDLY_NAME = "MANDATE-FULL-MANDATE";
+ @Deprecated
+ int MANDATE_FULL_MANDATE_MAX_LENGTH = 32767;
+
+ String INVOICE_RECPT_ID_OID = "1.2.40.0.10.2.1.1.261.40";
+ String INVOICE_RECPT_ID_NAME = URN_OID_PREFIX + INVOICE_RECPT_ID_OID;
+ String INVOICE_RECPT_ID_FRIENDLY_NAME = "INVOICE-RECPT-ID";
+ int INVOICE_RECPT_ID_MAX_LENGTH = 64;
+
+ String COST_CENTER_ID_OID = "1.2.40.0.10.2.1.1.261.50";
+ String COST_CENTER_ID_NAME = URN_OID_PREFIX + COST_CENTER_ID_OID;
+ String COST_CENTER_ID_FRIENDLY_NAME = "COST-CENTER-ID";
+ int COST_CENTER_ID_MAX_LENGTH = 32767;
+
+ String CHARGE_CODE_OID = "1.2.40.0.10.2.1.1.261.60";
+ String CHARGE_CODE_NAME = URN_OID_PREFIX + CHARGE_CODE_OID;
+ String CHARGE_CODE_FRIENDLY_NAME = "CHARGE-CODE";
+ int CHARGE_CODE_MAX_LENGTH = 32767;
+
+ String PVP_HOLDEROFKEY_OID = "1.2.40.0.10.2.1.1.261.xx.xx";
+ String PVP_HOLDEROFKEY_NAME = URN_OID_PREFIX + PVP_HOLDEROFKEY_OID;
+ String PVP_HOLDEROFKEY_FRIENDLY_NAME = "HOLDER-OF-KEY-CERTIFICATE";
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/XMLNamespaceConstants.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/XMLNamespaceConstants.java
deleted file mode 100644
index 2b70fd4c..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/XMLNamespaceConstants.java
+++ /dev/null
@@ -1,506 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-
-
-package at.gv.egiz.eaaf.core.api.data;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-
-/**
- * Contains various constants used throughout the system.
-
- */
-public interface XMLNamespaceConstants {
- /** Root location of the schema files. */
- public static final String SCHEMA_ROOT = "/schemas/";
-
- /** URI of the Widerrufregister XML namespace. */
- public static final String WRR_NS_URI =
- "http://reference.e-government.gv.at/namespace/moavv/20041223";
-
- /** Prefix used for the Widerrufregister XML namespace */
- public static final String WRR_PREFIX = "wrr";
-
- /** URI of the StandardTextBlock XML namespace. */
- public static final String STB_NS_URI =
- "http://reference.e-government.gv.at/namespace/standardtextblock/20041105#";
-
- /** Prefix used for the standard text block XML namespace */
- public static final String STB_PREFIX = "stb";
-
- /** URI of the MOA XML namespace. */
- public static final String MOA_NS_URI =
- "http://reference.e-government.gv.at/namespace/moa/20020822#";
-
- /** Name of the mandates infobox */
- public static final String INFOBOXIDENTIFIER_MANDATES = "Mandates";
-
- /** Prefix used for the Mandate XML namespace */
- public static final String MD_PREFIX = "md";
-
- /** URI of the Mandate XML namespace. */
- public static final String MD_NS_URI =
- "http://reference.e-government.gv.at/namespace/mandates/20040701#";
-
- /** Prefix used for the Mandate XML namespace */
- public static final String MVV_PREFIX = "mvv";
-
- /** URI of the Mandate XML namespace. */
- public static final String MVV_NS_URI =
- "http://reference.e-government.gv.at/namespace/moavv/app2mvv/20041125";
-
- /** Prefix used for the MandateCheckProfile XML namespace */
- public static final String MDP_PREFIX = "mdp";
-
- /** URI of the Mandate XML namespace. */
- public static final String MDP_NS_URI =
- "http://reference.e-government.gv.at/namespace/mandateprofile/20041105#";
-
- /** Prefix used for the MOA XML namespace */
- public static final String MOA_PREFIX = "moa";
-
- /** Local location of the MOA XML schema definition. */
- public static final String MOA_SCHEMA_LOCATION =
- SCHEMA_ROOT + "MOA-SPSS-2.0.0.xsd";
-
- /** URI of the MOA configuration XML namespace. */
- public static final String MOA_CONFIG_NS_URI =
- "http://reference.e-government.gv.at/namespace/moaconfig/20021122#";
-
- /** URI of the MOA ID configuration XML namespace. */
- public static final String MOA_ID_CONFIG_NS_URI =
- "http://www.buergerkarte.at/namespaces/moaconfig#";
-
- /** Prefix used for the MOA configuration XML namespace */
- public static final String MOA_CONFIG_PREFIX = "conf";
-
- /** Prefix used for the MOA configuration XML namespace */
- public static final String MOA_ID_CONFIG_PREFIX = "confID";
-
- /** Local location of the MOA configuration XML schema definition. */
- public static final String MOA_CONFIG_SCHEMA_LOCATION =
- SCHEMA_ROOT + "MOA-SPSS-config-2.0.0.xsd";
-
- /** Local location of the MOA ID configuration XML schema definition. */
- public static final String MOA_ID_CONFIG_SCHEMA_LOCATION =
- SCHEMA_ROOT + "MOA-ID-Configuration-1.5.2.xsd";
-
- /** URI of the Security Layer 1.0 namespace. */
- public static final String SL10_NS_URI =
- "http://www.buergerkarte.at/namespaces/securitylayer/20020225#";
-
- /** Prefix used for the Security Layer 1.0 XML namespace */
- public static final String SL10_PREFIX = "sl10";
-
- /** Local location of the Security Layer 1.0 XML schema definition */
- public static final String SL10_SCHEMA_LOCATION =
- SCHEMA_ROOT + "Core.20020225.xsd";
-
- /** URI of the Security Layer 1.1 XML namespace */
- public static final String SL11_NS_URI =
- "http://www.buergerkarte.at/namespaces/securitylayer/20020831#";
-
- /** Prefix used for the Security Layer 1.1 XML namespace */
- public static final String SL11_PREFIX = "sl11";
-
- /** Local location of the Security Layer 1.1 XML schema definition */
- public static final String SL11_SCHEMA_LOCATION =
- SCHEMA_ROOT + "Core.20020831.xsd";
-
- /** URI of the Security Layer 1.2 XML namespace */
- public static final String SL12_NS_URI =
- "http://www.buergerkarte.at/namespaces/securitylayer/1.2#";
-
- /** Prefix used for the Security Layer 1.2 XML namespace */
- public static final String SL12_PREFIX = "sl";
-
- /** Local location of the Security Layer 1.2 XML schema definition */
- public static final String SL12_SCHEMA_LOCATION =
- SCHEMA_ROOT + "Core-1.2.xsd";
-
- /** URI of the ECDSA XML namespace */
- public static final String ECDSA_NS_URI =
- "http://www.w3.org/2001/04/xmldsig-more#";
-
- /** Prefix used for ECDSA namespace */
- public static final String ECDSA_PREFIX = "ecdsa";
-
- /** Local location of ECDSA XML schema definition */
- public static final String ECDSA_SCHEMA_LOCATION =
- SCHEMA_ROOT + "ECDSAKeyValue.xsd";
-
- /** URI of the PersonData XML namespace. */
- public static final String PD_NS_URI =
- "http://reference.e-government.gv.at/namespace/persondata/20020228#";
-
- /** Prefix used for the PersonData XML namespace */
- public static final String PD_PREFIX = "pr";
-
-// /** Local location of the PersonData XML schema definition */
-// public static final String PD_SCHEMA_LOCATION =
-// SCHEMA_ROOT + "PersonData.xsd";
-
- /** Local location of the PersonData XML schema definition */
- public static final String PD_SCHEMA_LOCATION =
- SCHEMA_ROOT + "PersonData_20_en_moaWID.xsd";
-
- /** URI of the SAML namespace. */
- public static final String SAML_NS_URI =
- "urn:oasis:names:tc:SAML:1.0:assertion";
-
- /** Prefix used for the SAML XML namespace */
- public static final String SAML_PREFIX = "saml";
-
- /** Local location of the SAML XML schema definition. */
- public static final String SAML_SCHEMA_LOCATION =
- SCHEMA_ROOT + "cs-sstc-schema-assertion-01.xsd";
-
- /** URI of the SAML request-response protocol namespace. */
- public static final String SAMLP_NS_URI =
- "urn:oasis:names:tc:SAML:1.0:protocol";
-
- /** Prefix used for the SAML request-response protocol namespace */
- public static final String SAMLP_PREFIX = "samlp";
-
- /** Local location of the SAML request-response protocol schema definition. */
- public static final String SAMLP_SCHEMA_LOCATION =
- SCHEMA_ROOT + "cs-sstc-schema-protocol-01.xsd";
-
- /** URI of the XML namespace. */
- public static final String XML_NS_URI =
- "http://www.w3.org/XML/1998/namespace";
-
- /** Prefix used for the XML namespace */
- public static final String XML_PREFIX = "xml";
-
- /** Local location of the XML schema definition. */
- public static final String XML_SCHEMA_LOCATION = SCHEMA_ROOT + "xml.xsd";
-
- /** URI of the XMLNS namespace */
- public static final String XMLNS_NS_URI = "http://www.w3.org/2000/xmlns/";
-
- /** Prefix used for the XSI namespace */
- public static final String XSI_PREFIX = "xsi";
-
- /** Local location of the XSI schema definition. */
- public static final String XSI_SCHEMA_LOCATION =
- SCHEMA_ROOT + "XMLSchema-instance.xsd";
-
- /** URI of the XSI XMLNS namespace */
- public static final String XSI_NS_URI =
- "http://www.w3.org/2001/XMLSchema-instance";
-
- /** URI of the XSLT XML namespace */
- public static final String XSLT_NS_URI =
- "http://www.w3.org/1999/XSL/Transform";
-
- /** Prefix used for the XSLT XML namespace */
- public static final String XSLT_PREFIX = "xsl";
-
- /** URI of the XMLDSig XML namespace. */
- public static final String DSIG_NS_URI = "http://www.w3.org/2000/09/xmldsig#";
-
- /** Prefix used for the XMLDSig XML namespace */
- public static final String DSIG_PREFIX = "dsig";
-
- /** Local location of the XMLDSig XML schema. */
- public static final String DSIG_SCHEMA_LOCATION =
- SCHEMA_ROOT + "xmldsig-core-schema.xsd";
-
- /** URI of the XMLDSig XPath Filter XML namespace. */
- public static final String DSIG_FILTER2_NS_URI =
- "http://www.w3.org/2002/06/xmldsig-filter2";
-
- /** Prefix used for the XMLDSig XPath Filter XML namespace */
- public static final String DSIG_FILTER2_PREFIX = "dsig-filter2";
-
- /** Local location of the XMLDSig XPath Filter XML schema definition. */
- public static final String DSIG_FILTER2_SCHEMA_LOCATION =
- SCHEMA_ROOT + "xmldsig-filter2.xsd";
-
- /** URI of the Exclusive Canonicalization XML namespace */
- public static final String DSIG_EC_NS_URI =
- "http://www.w3.org/2001/10/xml-exc-c14n#";
-
- /** Prefix used for the Exclusive Canonicalization XML namespace */
- public static final String DSIG_EC_PREFIX = "ec";
-
- /** Local location of the Exclusive Canonicalizaion XML schema definition */
- public static final String DSIG_EC_SCHEMA_LOCATION =
- SCHEMA_ROOT + "exclusive-canonicalization.xsd";
-
- /** URI of the XMLLoginParameterResolver Configuration XML namespace */
- public static final String XMLLPR_NS_URI="http://reference.e-government.gv.at/namespace/moa/20020822#/xmllpr20030814";
-
- /** Local location of the XMLLoginParameterResolver Configuration XML schema definition */
- public static final String XMLLPR_SCHEMA_LOCATION =
- SCHEMA_ROOT + "MOAIdentities.xsd";
-
- /** Local location of the XAdES v1.1.1 schema definition */
- public static final String XADES_1_1_1_SCHEMA_LOCATION =
- SCHEMA_ROOT + "XAdES-1.1.1.xsd";
-
- /** URI of the XAdES v1.1.1 namespace */
- public static final String XADES_1_1_1_NS_URI = "http://uri.etsi.org/01903/v1.1.1#";
-
- public static final String XADES_1_1_1_NS_PREFIX = "xades111";
-
- /** Local location of the XAdES v1.2.2 schema definition */
- public static final String XADES_1_2_2_SCHEMA_LOCATION =
- SCHEMA_ROOT + "XAdES-1.2.2.xsd";
-
- /** URI of the XAdES v1.2.2 namespace */
- public static final String XADES_1_2_2_NS_URI = "http://uri.etsi.org/01903/v1.2.2#";
-
- public static final String XADES_1_2_2_NS_PREFIX = "xades122";
-
- /** Local location of the XAdES v1.1.1 schema definition */
- public static final String XADES_1_3_2_SCHEMA_LOCATION =
- SCHEMA_ROOT + "XAdES-1.3.2.xsd";
-
- /** URI of the XAdES v1.3.2 namespace */
- public static final String XADES_1_3_2_NS_URI = "http://uri.etsi.org/01903/v1.3.2#";
-
- public static final String XADES_1_3_2_NS_PREFIX = "xades132";
-
- /** Local location of the XAdES v1.4.1 schema definition */
- public static final String XADES_1_4_1_SCHEMA_LOCATION =
- SCHEMA_ROOT + "XAdES-1.4.1.xsd";
-
- /** URI of the XAdES v1.4.1 namespace */
- public static final String XADES_1_4_1_NS_URI = "http://uri.etsi.org/01903/v1.4.1#";
-
- public static final String XADES_1_4_1_NS_PREFIX = "xades141";
- /** URI of the SAML 2.0 namespace. */
- public static final String SAML2_NS_URI =
- "urn:oasis:names:tc:SAML:2.0:assertion";
-
- /** Prefix used for the SAML 2.0 XML namespace */
- public static final String SAML2_PREFIX = "saml2";
-
- /** Local location of the SAML 2.0 XML schema definition. */
- public static final String SAML2_SCHEMA_LOCATION =
- SCHEMA_ROOT + "saml-schema-assertion-2.0.xsd";
-
- /** URI of the SAML 2.0 protocol namespace. */
- public static final String SAML2P_NS_URI =
- "urn:oasis:names:tc:SAML:2.0:protocol";
-
- /** Prefix used for the SAML 2.0 protocol XML namespace */
- public static final String SAML2P_PREFIX = "saml2p";
-
- /** Local location of the SAML 2.0 protocol XML schema definition. */
- public static final String SAML2P_SCHEMA_LOCATION =
- SCHEMA_ROOT + "saml-schema-protocol-2.0.xsd";
-
- /** URI of the STORK namespace. */
- public static final String STORK_NS_URI =
- "urn:eu:stork:names:tc:STORK:1.0:assertion";
-
- /** Prefix used for the STORK XML namespace */
- public static final String STORK_PREFIX = "stork";
-
- /** Local location of the STORK XML schema definition. */
- public static final String STORK_SCHEMA_LOCATION =
- SCHEMA_ROOT + "stork-schema-assertion-1.0.xsd";
-
- /** URI of the STORK protocol namespace. */
- public static final String STORKP_NS_URI =
- "urn:eu:stork:names:tc:STORK:1.0:protocol";
-
- /** Prefix used for the STORK protocol XML namespace */
- public static final String STORKP_PREFIX = "storkp";
-
- /** Local location of the STORK protocol XML schema definition. */
- public static final String STORKP_SCHEMA_LOCATION =
- SCHEMA_ROOT + "stork-schema-protocol-1.0.xsd";
-
- /** URI of the TSL namespace. */
- public static final String TSL_NS_URI =
- "http://uri.etsi.org/02231/v2#";
-
- /** Prefix used for the TSL namespace */
- public static final String TSL_PREFIX = "tsl1";
-
- /** Local location of the TSL schema definition. */
- public static final String TSL_SCHEMA_LOCATION =
- SCHEMA_ROOT + "ts_119612v010201_xsd.xsd";
-
- /** URI of the TSL SIE namespace. */
- public static final String TSL_SIE_NS_URI =
- "http://uri.etsi.org/TrstSvc/SvcInfoExt/eSigDir-1999-93-EC-TrustedList/#";
-
- /** Prefix used for the TSL SIE namespace */
- public static final String TSL_SIE_PREFIX = "tslsie";
-
- /** Local location of the TSL SIE schema definition. */
- public static final String TSL_SIE_SCHEMA_LOCATION =
- SCHEMA_ROOT + "ts_119612v010201_sie_xsd.xsd";
-
- /** URI of the TSL additional types namespace. */
- public static final String TSL_ADDTYPES_NS_URI =
- "http://uri.etsi.org/02231/v2/additionaltypes#";
-
- /** Prefix used for the TSL additional types namespace */
- public static final String TSL_ADDTYPES_PREFIX = "tsltype";
-
- /** Local location of the TSL additional types schema definition. */
- public static final String TSL_ADDTYPES_SCHEMA_LOCATION =
- SCHEMA_ROOT + "ts_ts_119612v010201_additionaltypes_xsd.xsd";
-
- /** URI of the XML Encryption namespace. */
- public static final String XENC_NS_URI =
- "http://www.w3.org/2001/04/xmlenc#";
-
- /** Prefix used for the XML Encryption XML namespace */
- public static final String XENC_PREFIX = "xenc";
-
- /** Local location of the XML Encryption XML schema definition. */
- public static final String XENC_SCHEMA_LOCATION =
- SCHEMA_ROOT + "xenc-schema.xsd";
-
- /** Prefix used for the XML Encryption XML namespace */
- public static final String SAML2_METADATA_PREFIX = "md";
-
- /** Prefix used for the XML Encryption XML namespace */
- public static final String SAML2_METADATA_URI = "urn:oasis:names:tc:SAML:2.0:metadata";
-
- /** Local location of the XML Encryption XML schema definition. */
- public static final String SAML2_METADATA_SCHEMA_LOCATION =
- SCHEMA_ROOT + "saml-schema-metadata-2.0.xsd";
-
-
- /* Prefix and Schema definition for eIDAS specific SAML2 extensions*/
- public static final String SAML2_eIDAS_EXTENSIONS_PREFIX = "eidas";
- public static final String SAML2_eIDAS_EXTENSIONS = "http://eidas.europa.eu/saml-extensions";
- public static final String SAML2_eIDAS_EXTENSIONS_SCHEMA_LOCATION = SCHEMA_ROOT + "eIDAS_saml_extensions.xsd";
-
-
- /* Prefix and Schema for SAML2 Entity Attributes */
- public static final String SAML2_MDATTR_EXTENSIONS_PREFIX = "mdattr";
- public static final String SAML2_MDATTR_EXTENSIONS = "urn:oasis:names:tc:SAML:metadata:attribute";
- public static final String SAML2_MDATTR_EXTENSIONS_SCHEMA_LOCATION = SCHEMA_ROOT + "sstc-metadata-attr.xsd";
-
- /**
- * Contains all namespaces and local schema locations for XML schema
- * definitions relevant for MOA. For use in validating XML parsers.
- */
- public static final String ALL_SCHEMA_LOCATIONS =
- (MOA_NS_URI + " " + MOA_SCHEMA_LOCATION + " ")
- + (MOA_CONFIG_NS_URI + " " + MOA_CONFIG_SCHEMA_LOCATION + " ")
- + (MOA_ID_CONFIG_NS_URI + " " + MOA_ID_CONFIG_SCHEMA_LOCATION + " ")
- + (SL10_NS_URI + " " + SL10_SCHEMA_LOCATION + " ")
- + (SL11_NS_URI + " " + SL11_SCHEMA_LOCATION + " ")
- + (SL12_NS_URI + " " + SL12_SCHEMA_LOCATION + " ")
- + (ECDSA_NS_URI + " " + ECDSA_SCHEMA_LOCATION + " ")
- + (PD_NS_URI + " " + PD_SCHEMA_LOCATION + " ")
- + (SAML_NS_URI + " " + SAML_SCHEMA_LOCATION + " ")
- + (SAMLP_NS_URI + " " + SAMLP_SCHEMA_LOCATION + " ")
- + (XML_NS_URI + " " + XML_SCHEMA_LOCATION + " ")
- + (XSI_NS_URI + " " + XSI_SCHEMA_LOCATION + " ")
- + (DSIG_NS_URI + " " + DSIG_SCHEMA_LOCATION + " ")
- + (DSIG_FILTER2_NS_URI + " " + DSIG_FILTER2_SCHEMA_LOCATION + " ")
- + (DSIG_EC_NS_URI + " " + DSIG_EC_SCHEMA_LOCATION + " ")
- + (XMLLPR_NS_URI + " " + XMLLPR_SCHEMA_LOCATION + " ")
- + (XADES_1_1_1_NS_URI + " " + XADES_1_1_1_SCHEMA_LOCATION + " ")
- + (XADES_1_2_2_NS_URI + " " + XADES_1_2_2_SCHEMA_LOCATION + " ")
- + (XADES_1_3_2_NS_URI + " " + XADES_1_3_2_SCHEMA_LOCATION + " ")
- + (XADES_1_4_1_NS_URI + " " + XADES_1_4_1_SCHEMA_LOCATION + " ")
- + (TSL_NS_URI + " " + TSL_SCHEMA_LOCATION + " ")
- + (TSL_SIE_NS_URI + " " + TSL_SIE_SCHEMA_LOCATION + " ")
- + (TSL_ADDTYPES_NS_URI + " " + TSL_ADDTYPES_SCHEMA_LOCATION + " ")
- + (SAML2_NS_URI + " " + SAML2_SCHEMA_LOCATION + " ")
- + (SAML2P_NS_URI + " " + SAML2P_SCHEMA_LOCATION + " ")
- + (STORK_NS_URI + " " + STORK_SCHEMA_LOCATION + " ")
- + (STORKP_NS_URI + " " + STORKP_SCHEMA_LOCATION + " ")
- + (SAML2_METADATA_URI + " " + SAML2_METADATA_SCHEMA_LOCATION + " ")
- + (XENC_NS_URI + " " + XENC_SCHEMA_LOCATION + " ")
- + (SAML2_eIDAS_EXTENSIONS + " " + SAML2_eIDAS_EXTENSIONS_SCHEMA_LOCATION + " ")
- + (SAML2_MDATTR_EXTENSIONS + " " + SAML2_MDATTR_EXTENSIONS_SCHEMA_LOCATION);
-
-
- /** Security Layer manifest type URI. */
- public static final String SL_MANIFEST_TYPE_URI =
- "http://www.buergerkarte.at/specifications/Security-Layer/20020225#SignatureManifest";
-
- /** URI of the SHA1 digest algorithm */
- public static final String SHA1_URI =
- "http://www.w3.org/2000/09/xmldsig#sha1";
-
- /** URI of the SHA1 digest algorithm */
- public static final String SHA256_URI =
- "http://www.w3.org/2000/09/xmldsig#sha256";
-
- /** URI of the SHA1 digest algorithm */
- public static final String SHA384_URI =
- "http://www.w3.org/2000/09/xmldsig#sha384";
-
- /** URI of the SHA1 digest algorithm */
- public static final String SHA512_URI =
- "http://www.w3.org/2000/09/xmldsig#sha512";
-
- public static final String SHA3_256_URI =
- "http://www.w3.org/2007/05/xmldsig-more#sha3-256";
-
- public static final String SHA3_512_URI =
- "http://www.w3.org/2007/05/xmldsig-more#sha3-512";
-
-
-
- /** URI of the Canonical XML algorithm */
- public static final String C14N_URI =
- "http://www.w3.org/TR/2001/REC-xml-c14n-20010315";
-
- /** URI of the Canoncial XML with comments algorithm */
- public static final String C14N_WITH_COMMENTS_URI =
- "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments";
-
- /** URI of the Exclusive Canonical XML algorithm */
- public static final String EXC_C14N_URI =
- "http://www.w3.org/2001/10/xml-exc-c14n#";
-
- /** URI of the Exclusive Canonical XML with commments algorithm */
- public static final String EXC_C14N_WITH_COMMENTS_URI =
- "http://www.w3.org/2001/10/xml-exc-c14n#WithComments";
-
- /**
- * A map used to map namespace prefixes to namespace URIs
- */
- public static final Map<String, String> nSMap = Collections.unmodifiableMap(new HashMap<String, String>(){
- private static final long serialVersionUID = 3845384324295136490L;
- {
- put(XMLNamespaceConstants.SAML_PREFIX, XMLNamespaceConstants.SAML_NS_URI);
- put(XMLNamespaceConstants.ECDSA_PREFIX, "http://www.w3.org/2001/04/xmldsig-more#");
- put(XMLNamespaceConstants.DSIG_PREFIX, XMLNamespaceConstants.DSIG_NS_URI);
- }
- });
-
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/XmlNamespaceConstants.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/XmlNamespaceConstants.java
new file mode 100644
index 00000000..5c10fd1e
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/XmlNamespaceConstants.java
@@ -0,0 +1,412 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+
+package at.gv.egiz.eaaf.core.api.data;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Contains various constants used throughout the system.
+ *
+ */
+public interface XmlNamespaceConstants {
+ /** Root location of the schema files. */
+ String SCHEMA_ROOT = "/schemas/";
+
+ /** URI of the Widerrufregister XML namespace. */
+ String WRR_NS_URI = "http://reference.e-government.gv.at/namespace/moavv/20041223";
+
+ /** Prefix used for the Widerrufregister XML namespace. */
+ String WRR_PREFIX = "wrr";
+
+ /** URI of the StandardTextBlock XML namespace. */
+ String STB_NS_URI = "http://reference.e-government.gv.at/namespace/standardtextblock/20041105#";
+
+ /** Prefix used for the standard text block XML namespace. */
+ String STB_PREFIX = "stb";
+
+ /** URI of the MOA XML namespace. */
+ String MOA_NS_URI = "http://reference.e-government.gv.at/namespace/moa/20020822#";
+
+ /** Name of the mandates infobox. */
+ String INFOBOXIDENTIFIER_MANDATES = "Mandates";
+
+ /** Prefix used for the Mandate XML namespace. */
+ String MD_PREFIX = "md";
+
+ /** URI of the Mandate XML namespace. */
+ String MD_NS_URI = "http://reference.e-government.gv.at/namespace/mandates/20040701#";
+
+ /** Prefix used for the Mandate XML namespace. */
+ String MVV_PREFIX = "mvv";
+
+ /** URI of the Mandate XML namespace. */
+ String MVV_NS_URI = "http://reference.e-government.gv.at/namespace/moavv/app2mvv/20041125";
+
+ /** Prefix used for the MandateCheckProfile XML namespace. */
+ String MDP_PREFIX = "mdp";
+
+ /** URI of the Mandate XML namespace. */
+ String MDP_NS_URI = "http://reference.e-government.gv.at/namespace/mandateprofile/20041105#";
+
+ /** Prefix used for the MOA XML namespace. */
+ String MOA_PREFIX = "moa";
+
+ /** Local location of the MOA XML schema definition. */
+ String MOA_SCHEMA_LOCATION = SCHEMA_ROOT + "MOA-SPSS-2.0.0.xsd";
+
+ /** URI of the MOA configuration XML namespace. */
+ String MOA_CONFIG_NS_URI = "http://reference.e-government.gv.at/namespace/moaconfig/20021122#";
+
+ /** URI of the MOA ID configuration XML namespace. */
+ String MOA_ID_CONFIG_NS_URI = "http://www.buergerkarte.at/namespaces/moaconfig#";
+
+ /** Prefix used for the MOA configuration XML namespace. */
+ String MOA_CONFIG_PREFIX = "conf";
+
+ /** Prefix used for the MOA configuration XML namespace. */
+ String MOA_ID_CONFIG_PREFIX = "confID";
+
+ /** Local location of the MOA configuration XML schema definition. */
+ String MOA_CONFIG_SCHEMA_LOCATION = SCHEMA_ROOT + "MOA-SPSS-config-2.0.0.xsd";
+
+ /** Local location of the MOA ID configuration XML schema definition. */
+ String MOA_ID_CONFIG_SCHEMA_LOCATION = SCHEMA_ROOT + "MOA-ID-Configuration-1.5.2.xsd";
+
+ /** URI of the Security Layer 1.0 namespace. */
+ String SL10_NS_URI = "http://www.buergerkarte.at/namespaces/securitylayer/20020225#";
+
+ /** Prefix used for the Security Layer 1.0 XML namespace */
+ String SL10_PREFIX = "sl10";
+
+ /** Local location of the Security Layer 1.0 XML schema definition */
+ String SL10_SCHEMA_LOCATION = SCHEMA_ROOT + "Core.20020225.xsd";
+
+ /** URI of the Security Layer 1.1 XML namespace */
+ String SL11_NS_URI = "http://www.buergerkarte.at/namespaces/securitylayer/20020831#";
+
+ /** Prefix used for the Security Layer 1.1 XML namespace */
+ String SL11_PREFIX = "sl11";
+
+ /** Local location of the Security Layer 1.1 XML schema definition */
+ String SL11_SCHEMA_LOCATION = SCHEMA_ROOT + "Core.20020831.xsd";
+
+ /** URI of the Security Layer 1.2 XML namespace */
+ String SL12_NS_URI = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#";
+
+ /** Prefix used for the Security Layer 1.2 XML namespace */
+ String SL12_PREFIX = "sl";
+
+ /** Local location of the Security Layer 1.2 XML schema definition */
+ String SL12_SCHEMA_LOCATION = SCHEMA_ROOT + "Core-1.2.xsd";
+
+ /** URI of the ECDSA XML namespace .*/
+ String ECDSA_NS_URI = "http://www.w3.org/2001/04/xmldsig-more#";
+
+ /** Prefix used for ECDSA namespace. */
+ String ECDSA_PREFIX = "ecdsa";
+
+ /** Local location of ECDSA XML schema definition .*/
+ String ECDSA_SCHEMA_LOCATION = SCHEMA_ROOT + "ECDSAKeyValue.xsd";
+
+ /** URI of the PersonData XML namespace. */
+ String PD_NS_URI = "http://reference.e-government.gv.at/namespace/persondata/20020228#";
+
+ /** Prefix used for the PersonData XML namespace. */
+ String PD_PREFIX = "pr";
+
+ // /** Local location of the PersonData XML schema definition */
+ // String PD_SCHEMA_LOCATION =
+ // SCHEMA_ROOT + "PersonData.xsd";
+
+ /** Local location of the PersonData XML schema definition. */
+ String PD_SCHEMA_LOCATION = SCHEMA_ROOT + "PersonData_20_en_moaWID.xsd";
+
+ /** URI of the SAML namespace. */
+ String SAML_NS_URI = "urn:oasis:names:tc:SAML:1.0:assertion";
+
+ /** Prefix used for the SAML XML namespace. */
+ String SAML_PREFIX = "saml";
+
+ /** Local location of the SAML XML schema definition. */
+ String SAML_SCHEMA_LOCATION = SCHEMA_ROOT + "cs-sstc-schema-assertion-01.xsd";
+
+ /** URI of the SAML request-response protocol namespace. */
+ String SAMLP_NS_URI = "urn:oasis:names:tc:SAML:1.0:protocol";
+
+ /** Prefix used for the SAML request-response protocol namespace. */
+ String SAMLP_PREFIX = "samlp";
+
+ /** Local location of the SAML request-response protocol schema definition. */
+ String SAMLP_SCHEMA_LOCATION = SCHEMA_ROOT + "cs-sstc-schema-protocol-01.xsd";
+
+ /** URI of the XML namespace. */
+ String XML_NS_URI = "http://www.w3.org/XML/1998/namespace";
+
+ /** Prefix used for the XML namespace. */
+ String XML_PREFIX = "xml";
+
+ /** Local location of the XML schema definition. */
+ String XML_SCHEMA_LOCATION = SCHEMA_ROOT + "xml.xsd";
+
+ /** URI of the XMLNS namespace. */
+ String XMLNS_NS_URI = "http://www.w3.org/2000/xmlns/";
+
+ /** Prefix used for the XSI namespace. */
+ String XSI_PREFIX = "xsi";
+
+ /** Local location of the XSI schema definition. */
+ String XSI_SCHEMA_LOCATION = SCHEMA_ROOT + "XMLSchema-instance.xsd";
+
+ /** URI of the XSI XMLNS namespace. */
+ String XSI_NS_URI = "http://www.w3.org/2001/XMLSchema-instance";
+
+ /** URI of the XSLT XML namespace. */
+ String XSLT_NS_URI = "http://www.w3.org/1999/XSL/Transform";
+
+ /** Prefix used for the XSLT XML namespace.*/
+ String XSLT_PREFIX = "xsl";
+
+ /** URI of the XMLDSig XML namespace. */
+ String DSIG_NS_URI = "http://www.w3.org/2000/09/xmldsig#";
+
+ /** Prefix used for the XMLDSig XML namespace. */
+ String DSIG_PREFIX = "dsig";
+
+ /** Local location of the XMLDSig XML schema. */
+ String DSIG_SCHEMA_LOCATION = SCHEMA_ROOT + "xmldsig-core-schema.xsd";
+
+ /** URI of the XMLDSig XPath Filter XML namespace. */
+ String DSIG_FILTER2_NS_URI = "http://www.w3.org/2002/06/xmldsig-filter2";
+
+ /** Prefix used for the XMLDSig XPath Filter XML namespace. */
+ String DSIG_FILTER2_PREFIX = "dsig-filter2";
+
+ /** Local location of the XMLDSig XPath Filter XML schema definition. */
+ String DSIG_FILTER2_SCHEMA_LOCATION = SCHEMA_ROOT + "xmldsig-filter2.xsd";
+
+ /** URI of the Exclusive Canonicalization XML namespace. */
+ String DSIG_EC_NS_URI = "http://www.w3.org/2001/10/xml-exc-c14n#";
+
+ /** Prefix used for the Exclusive Canonicalization XML namespace. */
+ String DSIG_EC_PREFIX = "ec";
+
+ /** Local location of the Exclusive Canonicalizaion XML schema definition. */
+ String DSIG_EC_SCHEMA_LOCATION = SCHEMA_ROOT + "exclusive-canonicalization.xsd";
+
+ /** URI of the XMLLoginParameterResolver Configuration XML namespace. */
+ String XMLLPR_NS_URI = "http://reference.e-government.gv.at/namespace/moa/20020822#/xmllpr20030814";
+
+ /**
+ * Local location of the XMLLoginParameterResolver Configuration XML schema
+ * definition.
+ */
+ String XMLLPR_SCHEMA_LOCATION = SCHEMA_ROOT + "MOAIdentities.xsd";
+
+ /** Local location of the XAdES v1.1.1 schema definition */
+ String XADES_1_1_1_SCHEMA_LOCATION = SCHEMA_ROOT + "XAdES-1.1.1.xsd";
+
+ /** URI of the XAdES v1.1.1 namespace */
+ String XADES_1_1_1_NS_URI = "http://uri.etsi.org/01903/v1.1.1#";
+
+ String XADES_1_1_1_NS_PREFIX = "xades111";
+
+ /** Local location of the XAdES v1.2.2 schema definition */
+ String XADES_1_2_2_SCHEMA_LOCATION = SCHEMA_ROOT + "XAdES-1.2.2.xsd";
+
+ /** URI of the XAdES v1.2.2 namespace */
+ String XADES_1_2_2_NS_URI = "http://uri.etsi.org/01903/v1.2.2#";
+
+ String XADES_1_2_2_NS_PREFIX = "xades122";
+
+ /** Local location of the XAdES v1.1.1 schema definition */
+ String XADES_1_3_2_SCHEMA_LOCATION = SCHEMA_ROOT + "XAdES-1.3.2.xsd";
+
+ /** URI of the XAdES v1.3.2 namespace */
+ String XADES_1_3_2_NS_URI = "http://uri.etsi.org/01903/v1.3.2#";
+
+ String XADES_1_3_2_NS_PREFIX = "xades132";
+
+ /** Local location of the XAdES v1.4.1 schema definition */
+ String XADES_1_4_1_SCHEMA_LOCATION = SCHEMA_ROOT + "XAdES-1.4.1.xsd";
+
+ /** URI of the XAdES v1.4.1 namespace */
+ String XADES_1_4_1_NS_URI = "http://uri.etsi.org/01903/v1.4.1#";
+
+ String XADES_1_4_1_NS_PREFIX = "xades141";
+ /** URI of the SAML 2.0 namespace. */
+ String SAML2_NS_URI = "urn:oasis:names:tc:SAML:2.0:assertion";
+
+ /** Prefix used for the SAML 2.0 XML namespace */
+ String SAML2_PREFIX = "saml2";
+
+ /** Local location of the SAML 2.0 XML schema definition. */
+ String SAML2_SCHEMA_LOCATION = SCHEMA_ROOT + "saml-schema-assertion-2.0.xsd";
+
+ /** URI of the SAML 2.0 protocol namespace. */
+ String SAML2P_NS_URI = "urn:oasis:names:tc:SAML:2.0:protocol";
+
+ /** Prefix used for the SAML 2.0 protocol XML namespace */
+ String SAML2P_PREFIX = "saml2p";
+
+ /** Local location of the SAML 2.0 protocol XML schema definition. */
+ String SAML2P_SCHEMA_LOCATION = SCHEMA_ROOT + "saml-schema-protocol-2.0.xsd";
+
+ /** URI of the STORK namespace. */
+ String STORK_NS_URI = "urn:eu:stork:names:tc:STORK:1.0:assertion";
+
+ /** Prefix used for the STORK XML namespace. */
+ String STORK_PREFIX = "stork";
+
+ /** Local location of the STORK XML schema definition. */
+ String STORK_SCHEMA_LOCATION = SCHEMA_ROOT + "stork-schema-assertion-1.0.xsd";
+
+ /** URI of the STORK protocol namespace. */
+ String STORKP_NS_URI = "urn:eu:stork:names:tc:STORK:1.0:protocol";
+
+ /** Prefix used for the STORK protocol XML namespace. */
+ String STORKP_PREFIX = "storkp";
+
+ /** Local location of the STORK protocol XML schema definition. */
+ String STORKP_SCHEMA_LOCATION = SCHEMA_ROOT + "stork-schema-protocol-1.0.xsd";
+
+ /** URI of the TSL namespace. */
+ String TSL_NS_URI = "http://uri.etsi.org/02231/v2#";
+
+ /** Prefix used for the TSL namespace. */
+ String TSL_PREFIX = "tsl1";
+
+ /** Local location of the TSL schema definition. */
+ String TSL_SCHEMA_LOCATION = SCHEMA_ROOT + "ts_119612v010201_xsd.xsd";
+
+ /** URI of the TSL SIE namespace. */
+ String TSL_SIE_NS_URI = "http://uri.etsi.org/TrstSvc/SvcInfoExt/eSigDir-1999-93-EC-TrustedList/#";
+
+ /** Prefix used for the TSL SIE namespace. */
+ String TSL_SIE_PREFIX = "tslsie";
+
+ /** Local location of the TSL SIE schema definition. */
+ String TSL_SIE_SCHEMA_LOCATION = SCHEMA_ROOT + "ts_119612v010201_sie_xsd.xsd";
+
+ /** URI of the TSL additional types namespace. */
+ String TSL_ADDTYPES_NS_URI = "http://uri.etsi.org/02231/v2/additionaltypes#";
+
+ /** Prefix used for the TSL additional types namespace. */
+ String TSL_ADDTYPES_PREFIX = "tsltype";
+
+ /** Local location of the TSL additional types schema definition. */
+ String TSL_ADDTYPES_SCHEMA_LOCATION = SCHEMA_ROOT + "ts_ts_119612v010201_additionaltypes_xsd.xsd";
+
+ /** URI of the XML Encryption namespace. */
+ String XENC_NS_URI = "http://www.w3.org/2001/04/xmlenc#";
+
+ /** Prefix used for the XML Encryption XML namespace. */
+ String XENC_PREFIX = "xenc";
+
+ /** Local location of the XML Encryption XML schema definition. */
+ String XENC_SCHEMA_LOCATION = SCHEMA_ROOT + "xenc-schema.xsd";
+
+ /** Prefix used for the XML Encryption XML namespace. */
+ String SAML2_METADATA_PREFIX = "md";
+
+ /** Prefix used for the XML Encryption XML namespace. */
+ String SAML2_METADATA_URI = "urn:oasis:names:tc:SAML:2.0:metadata";
+
+ /** Local location of the XML Encryption XML schema definition. */
+ String SAML2_METADATA_SCHEMA_LOCATION = SCHEMA_ROOT + "saml-schema-metadata-2.0.xsd";
+
+ /* Prefix and Schema definition for eIDAS specific SAML2 extensions */
+ String SAML2_eIDAS_EXTENSIONS_PREFIX = "eidas";
+ String SAML2_eIDAS_EXTENSIONS = "http://eidas.europa.eu/saml-extensions";
+ String SAML2_eIDAS_EXTENSIONS_SCHEMA_LOCATION = SCHEMA_ROOT + "eIDAS_saml_extensions.xsd";
+
+ /* Prefix and Schema for SAML2 Entity Attributes */
+ String SAML2_MDATTR_EXTENSIONS_PREFIX = "mdattr";
+ String SAML2_MDATTR_EXTENSIONS = "urn:oasis:names:tc:SAML:metadata:attribute";
+ String SAML2_MDATTR_EXTENSIONS_SCHEMA_LOCATION = SCHEMA_ROOT + "sstc-metadata-attr.xsd";
+
+ /**
+ * Contains all namespaces and local schema locations for XML schema definitions
+ * relevant for MOA. For use in validating XML parsers.
+ */
+ String ALL_SCHEMA_LOCATIONS = MOA_NS_URI + " " + MOA_SCHEMA_LOCATION + " " + MOA_CONFIG_NS_URI + " "
+ + MOA_CONFIG_SCHEMA_LOCATION + " " + MOA_ID_CONFIG_NS_URI + " " + MOA_ID_CONFIG_SCHEMA_LOCATION + " "
+ + SL10_NS_URI + " " + SL10_SCHEMA_LOCATION + " " + SL11_NS_URI + " " + SL11_SCHEMA_LOCATION + " " + SL12_NS_URI
+ + " " + SL12_SCHEMA_LOCATION + " " + ECDSA_NS_URI + " " + ECDSA_SCHEMA_LOCATION + " " + PD_NS_URI + " "
+ + PD_SCHEMA_LOCATION + " " + SAML_NS_URI + " " + SAML_SCHEMA_LOCATION + " " + SAMLP_NS_URI + " "
+ + SAMLP_SCHEMA_LOCATION + " " + XML_NS_URI + " " + XML_SCHEMA_LOCATION + " " + XSI_NS_URI + " "
+ + XSI_SCHEMA_LOCATION + " " + DSIG_NS_URI + " " + DSIG_SCHEMA_LOCATION + " " + DSIG_FILTER2_NS_URI + " "
+ + DSIG_FILTER2_SCHEMA_LOCATION + " " + DSIG_EC_NS_URI + " " + DSIG_EC_SCHEMA_LOCATION + " " + XMLLPR_NS_URI + " "
+ + XMLLPR_SCHEMA_LOCATION + " " + XADES_1_1_1_NS_URI + " " + XADES_1_1_1_SCHEMA_LOCATION + " " + XADES_1_2_2_NS_URI
+ + " " + XADES_1_2_2_SCHEMA_LOCATION + " " + XADES_1_3_2_NS_URI + " " + XADES_1_3_2_SCHEMA_LOCATION + " "
+ + XADES_1_4_1_NS_URI + " " + XADES_1_4_1_SCHEMA_LOCATION + " " + TSL_NS_URI + " " + TSL_SCHEMA_LOCATION + " "
+ + TSL_SIE_NS_URI + " " + TSL_SIE_SCHEMA_LOCATION + " " + TSL_ADDTYPES_NS_URI + " " + TSL_ADDTYPES_SCHEMA_LOCATION
+ + " " + SAML2_NS_URI + " " + SAML2_SCHEMA_LOCATION + " " + SAML2P_NS_URI + " " + SAML2P_SCHEMA_LOCATION + " "
+ + STORK_NS_URI + " " + STORK_SCHEMA_LOCATION + " " + STORKP_NS_URI + " " + STORKP_SCHEMA_LOCATION + " "
+ + SAML2_METADATA_URI + " " + SAML2_METADATA_SCHEMA_LOCATION + " " + XENC_NS_URI + " " + XENC_SCHEMA_LOCATION + " "
+ + SAML2_eIDAS_EXTENSIONS + " " + SAML2_eIDAS_EXTENSIONS_SCHEMA_LOCATION + " " + SAML2_MDATTR_EXTENSIONS + " "
+ + SAML2_MDATTR_EXTENSIONS_SCHEMA_LOCATION;
+
+ /** Security Layer manifest type URI. */
+ String SL_MANIFEST_TYPE_URI = "http://www.buergerkarte.at/specifications/Security-Layer/20020225#SignatureManifest";
+
+ /** URI of the SHA1 digest algorithm. */
+ String SHA1_URI = "http://www.w3.org/2000/09/xmldsig#sha1";
+
+ /** URI of the SHA1 digest algorithm. */
+ String SHA256_URI = "http://www.w3.org/2000/09/xmldsig#sha256";
+
+ /** URI of the SHA1 digest algorithm. */
+ String SHA384_URI = "http://www.w3.org/2000/09/xmldsig#sha384";
+
+ /** URI of the SHA1 digest algorithm. */
+ String SHA512_URI = "http://www.w3.org/2000/09/xmldsig#sha512";
+
+ String SHA3_256_URI = "http://www.w3.org/2007/05/xmldsig-more#sha3-256";
+
+ String SHA3_512_URI = "http://www.w3.org/2007/05/xmldsig-more#sha3-512";
+
+ /** URI of the Canonical XML algorithm. */
+ String C14N_URI = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315";
+
+ /** URI of the Canoncial XML with comments algorithm. */
+ String C14N_WITH_COMMENTS_URI = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments";
+
+ /** URI of the Exclusive Canonical XML algorithm. */
+ String EXC_C14N_URI = "http://www.w3.org/2001/10/xml-exc-c14n#";
+
+ /** URI of the Exclusive Canonical XML with commments algorithm. */
+ String EXC_C14N_WITH_COMMENTS_URI = "http://www.w3.org/2001/10/xml-exc-c14n#WithComments";
+
+ /**
+ * A map used to map namespace prefixes to namespace URIs.
+ */
+ Map<String, String> nSMap = Collections.unmodifiableMap(new HashMap<String, String>() {
+ private static final long serialVersionUID = -4750456733381176033L;
+
+ {
+ put(XmlNamespaceConstants.SAML_PREFIX, XmlNamespaceConstants.SAML_NS_URI);
+ put(XmlNamespaceConstants.ECDSA_PREFIX, "http://www.w3.org/2001/04/xmldsig-more#");
+ put(XmlNamespaceConstants.DSIG_PREFIX, XmlNamespaceConstants.DSIG_NS_URI);
+ }
+ });
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/GroupDefinition.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/GroupDefinition.java
index 441f1917..30491ca2 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/GroupDefinition.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/GroupDefinition.java
@@ -1,34 +1,33 @@
package at.gv.egiz.eaaf.core.api.gui;
public class GroupDefinition {
-
- private final String name;
- private final TYPE type;
-
- private GroupDefinition(String name, TYPE type) {
- this.name = name;
- this.type = type;
- }
-
- public static GroupDefinition getInstance(String name, TYPE type) {
- return new GroupDefinition(name, type);
- }
-
- public String getName() {
- return name;
- }
-
- public TYPE getType() {
- return type;
- }
-
- public enum TYPE {
- LIST("list"),
- MAP("map");
-
- private TYPE(String type) {
- }
- }
-
-}
+ private final String name;
+ private final Type type;
+
+ GroupDefinition(final String name, final Type type) {
+ this.name = name;
+ this.type = type;
+ }
+
+ public static GroupDefinition getInstance(final String name, final Type type) {
+ return new GroupDefinition(name, type);
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public Type getType() {
+ return type;
+ }
+
+ public enum Type {
+ LIST("list"), MAP("map");
+
+ Type(final String type) {
+
+ }
+ }
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGUIBuilderConfiguration.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGUIBuilderConfiguration.java
deleted file mode 100644
index 82d82a3a..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGUIBuilderConfiguration.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.api.gui;
-
-import java.util.Map;
-
-/**
- * @author tlenz
- *
- */
-public interface IGUIBuilderConfiguration {
-
-
- /**
- * Define the name of the template (with suffix) which should be used
- *
- * @return templatename, but never null
- */
- public String getViewName();
-
- /**
- * Define the parameters, which should be evaluated in the template
- *
- * @return Map of parameters, which should be added to template
- */
- public Map<String, Object> getViewParameters();
-
- /**
- * Get the contentType, which should be set in HTTP response
- * <br><br>
- * <b>DefaultValue:</b> text/html;charset=UTF-8
- *
- * @return ContentType, or null if default ContentType should be used.
- */
- public String getDefaultContentType();
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGUIBuilderConfigurationFactory.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGUIBuilderConfigurationFactory.java
deleted file mode 100644
index 1776a630..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGUIBuilderConfigurationFactory.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.api.gui;
-
-import java.net.MalformedURLException;
-import java.net.URI;
-
-import at.gv.egiz.eaaf.core.api.IRequest;
-
-public interface IGUIBuilderConfigurationFactory {
-
- /**
- * Get a DefaultGuiBuilderConfiguration to render an error message
- *
- * @param authURL PublicURLPrefix of the IDP but never null
- * @return
- */
- public IGUIBuilderConfiguration getDefaultErrorGUI(String authURL);
-
- /**
- * @param Current processed pending-request but never null
- * @param viewName Name of the default template (with suffix) but never null
- * @param configRootContextDir Path to configuration root directory
- * @return
- * @throws MalformedURLException If configRootContextDir is not a valid URI
- */
- public IVelocityGUIBuilderConfiguration getSPSpecificSAML2PostConfiguration(IRequest pendingReq, String viewName, URI configRootContextDir)
- throws MalformedURLException;
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGUIFormBuilder.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGUIFormBuilder.java
deleted file mode 100644
index 7730e516..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGUIFormBuilder.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.api.gui;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import at.gv.egiz.eaaf.core.exceptions.GUIBuildException;
-
-/**
- * @author tlenz
- *
- */
-public interface IGUIFormBuilder {
-
-
-
- /**
- * Parse a GUI template, with parameters into a http servlet-response
- * and use the default http-response content-type.
- * <br><br>
- * The parser use the <code>VelocityEngine</code> as internal template evaluator.
- *
- * @param httpReq http-request object
- * @param httpResp http-response object
- * @param config Configuration object
- * @param loggerName String, which should be used from logger
- *
- * @throws GUIBuildException
- */
- public void build(HttpServletRequest httpReq, HttpServletResponse httpResp, IGUIBuilderConfiguration config, String loggerName) throws GUIBuildException;
-
- /**
- * Parse a GUI template, with parameters into a http servlet-response.
- * <br><br>
- * The parser use the <code>VelocityEngine</code> as internal template evaluator.
- *
- * @param httpReq http-request object
- * @param httpResp http-response object
- * @param config Configuration object
- * @param contentType http-response content-type, which should be set
- * @param loggerName String, which should be used from logger
- *
- * @throws GUIBuildException
- */
- void build(HttpServletRequest httpReq, HttpServletResponse httpResp, IGUIBuilderConfiguration config, String contentType,
- String loggerName) throws GUIBuildException;
-
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiBuilderConfiguration.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiBuilderConfiguration.java
new file mode 100644
index 00000000..55197b52
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiBuilderConfiguration.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+
+package at.gv.egiz.eaaf.core.api.gui;
+
+import java.util.Map;
+
+/**
+ * GUI builder configuration.
+ *
+ * @author tlenz
+ *
+ */
+public interface IGuiBuilderConfiguration {
+
+ /**
+ * Define the name of the template (with suffix) which should be used.
+ *
+ * @return templatename, but never null
+ */
+ String getViewName();
+
+ /**
+ * Define the parameters, which should be evaluated in the template.
+ *
+ * @return Map of parameters, which should be added to template
+ */
+ Map<String, Object> getViewParameters();
+
+ /**
+ * Get the contentType, which should be set in HTTP response. <br>
+ * <br>
+ * <b>DefaultValue:</b> text/html;charset=UTF-8
+ *
+ * @return ContentType, or null if default ContentType should be used.
+ */
+ String getDefaultContentType();
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiBuilderConfigurationFactory.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiBuilderConfigurationFactory.java
new file mode 100644
index 00000000..ed888f87
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiBuilderConfigurationFactory.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.api.gui;
+
+import java.net.MalformedURLException;
+import java.net.URI;
+
+import at.gv.egiz.eaaf.core.api.IRequest;
+
+public interface IGuiBuilderConfigurationFactory {
+
+ /**
+ * Get a DefaultGuiBuilderConfiguration to render an error message.
+ *
+ * @param authUrl PublicURLPrefix of the IDP but never null
+ * @return
+ */
+ IGuiBuilderConfiguration getDefaultErrorGui(String authUrl);
+
+ /**
+ * Default Velocity based GUI builder configuration.
+ *
+ * <p>
+ * Manly used for SAML2 POST-Binding
+ * </p>
+ *
+ * @param pendingReq Current processed pending-request but never null
+ * @param viewName Name of the default template (with suffix) but
+ * never null
+ * @param configRootContextDir Path to configuration root directory
+ * @return GUI builder configuration
+ * @throws MalformedURLException If configRootContextDir is not a valid URI
+ */
+ IVelocityGuiBuilderConfiguration getSpSpecificSaml2PostConfiguration(IRequest pendingReq, String viewName,
+ URI configRootContextDir) throws MalformedURLException;
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiFormBuilder.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiFormBuilder.java
new file mode 100644
index 00000000..d376d17b
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IGuiFormBuilder.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.api.gui;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import at.gv.egiz.eaaf.core.exceptions.GuiBuildException;
+
+/**
+ * Builder to generate HTML GUIs.
+ *
+ * @author tlenz
+ *
+ */
+public interface IGuiFormBuilder {
+
+ /**
+ * Parse a GUI template, with parameters into a http servlet-response and use
+ * the default http-response content-type. <br>
+ * <br>
+ * The parser use the <code>VelocityEngine</code> as internal template
+ * evaluator.
+ *
+ * @param httpReq http-request object
+ * @param httpResp http-response object
+ * @param config Configuration object
+ * @param loggerName String, which should be used from logger
+ *
+ * @throws GuiBuildException in case of an error
+ */
+ void build(HttpServletRequest httpReq, HttpServletResponse httpResp, IGuiBuilderConfiguration config,
+ String loggerName) throws GuiBuildException;
+
+ /**
+ * Parse a GUI template, with parameters into a http servlet-response. <br>
+ * <br>
+ * The parser use the <code>VelocityEngine</code> as internal template
+ * evaluator.
+ *
+ * @param httpReq http-request object
+ * @param httpResp http-response object
+ * @param config Configuration object
+ * @param contentType http-response content-type, which should be set
+ * @param loggerName String, which should be used from logger
+ *
+ * @throws GuiBuildException in case of an error
+ */
+ void build(HttpServletRequest httpReq, HttpServletResponse httpResp, IGuiBuilderConfiguration config,
+ String contentType, String loggerName) throws GuiBuildException;
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/ISpringMVCGUIFormBuilder.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/ISpringMVCGUIFormBuilder.java
deleted file mode 100644
index e759b253..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/ISpringMVCGUIFormBuilder.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package at.gv.egiz.eaaf.core.api.gui;
-
-public interface ISpringMVCGUIFormBuilder extends IGUIFormBuilder{
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/ISpringMvcGuiFormBuilder.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/ISpringMvcGuiFormBuilder.java
new file mode 100644
index 00000000..43591b5d
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/ISpringMvcGuiFormBuilder.java
@@ -0,0 +1,5 @@
+package at.gv.egiz.eaaf.core.api.gui;
+
+public interface ISpringMvcGuiFormBuilder extends IGuiFormBuilder {
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IVelocityGUIBuilderConfiguration.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IVelocityGUIBuilderConfiguration.java
deleted file mode 100644
index e56bf1af..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IVelocityGUIBuilderConfiguration.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package at.gv.egiz.eaaf.core.api.gui;
-
-import java.io.InputStream;
-
-public interface IVelocityGUIBuilderConfiguration extends IGUIBuilderConfiguration {
- /**
- * Get a specific classpath template-directory prefix, which is used
- * to load a template from classpath by using <code>ClassLoader.getResourceAsStream(...)</code>
- *
- * @return Classpath directory, or null if the default directory should be used
- */
- public String getClasspathTemplateDir();
-
- /**
- * Get the GUI template with a specific name
- *
- * @param viewName Name of the template
- * @return Tempate as <code>InputStream</code>, or null if default getTemplate method should be used
- */
- public InputStream getTemplate(String viewName);
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IVelocityGuiBuilderConfiguration.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IVelocityGuiBuilderConfiguration.java
new file mode 100644
index 00000000..47de65ff
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/IVelocityGuiBuilderConfiguration.java
@@ -0,0 +1,24 @@
+package at.gv.egiz.eaaf.core.api.gui;
+
+import java.io.InputStream;
+
+public interface IVelocityGuiBuilderConfiguration extends IGuiBuilderConfiguration {
+ /**
+ * Get a specific classpath template-directory prefix, which is used to load a
+ * template from classpath by using
+ * <code>ClassLoader.getResourceAsStream(...)</code>.
+ *
+ * @return Classpath directory, or null if the default directory should be used
+ */
+ String getClasspathTemplateDir();
+
+ /**
+ * Get the GUI template with a specific name.
+ *
+ * @param viewName Name of the template
+ * @return Tempate as <code>InputStream</code>, or null if default getTemplate
+ * method should be used
+ */
+ InputStream getTemplate(String viewName);
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/ModifyableGuiBuilderConfiguration.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/ModifyableGuiBuilderConfiguration.java
index 6df6a78f..9c4a4471 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/ModifyableGuiBuilderConfiguration.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/gui/ModifyableGuiBuilderConfiguration.java
@@ -1,29 +1,22 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.gui;
import javax.annotation.Nonnull;
@@ -31,24 +24,29 @@ import javax.annotation.Nullable;
public interface ModifyableGuiBuilderConfiguration {
- /**
- * Add a key/value pair into Velocity context.<br>
- * <b>IMPORTANT:</b> external HTML escapetion is required, because it is NOT done internally
- *
- * @param group Group element of the key parameter, or null if root element should be set
- * @param key velocity context key
- * @param value of this key
- */
- void putCustomParameterWithOutEscaption(@Nullable GroupDefinition group, @Nonnull String key, @Nonnull Object value);
+ /**
+ * Add a key/value pair into Velocity context.<br>
+ * <b>IMPORTANT:</b> external HTML escapetion is required, because it is NOT
+ * done internally
+ *
+ * @param group Group element of the key parameter, or null if root element
+ * should be set
+ * @param key velocity context key, can be null in case of List based group
+ * element
+ * @param value of this key
+ */
+ void putCustomParameterWithOutEscaption(@Nullable GroupDefinition group, @Nullable String key, @Nonnull Object value);
- /**
- * Add a key/value pair into Velocity context.<br>
- * All parameters get escaped internally
- *
- * @param group Group element of the key parameter, or null if root element should be set
- * @param key velocity context key
- * @param value of this key
- */
- void putCustomParameter(@Nullable GroupDefinition group, @Nonnull String key, @Nonnull String value);
+ /**
+ * Add a key/value pair into Velocity context.<br>
+ * All parameters get escaped internally
+ *
+ * @param group Group element of the key parameter, or null if root element
+ * should be set
+ * @param key velocity context key, can be null in case of List based group
+ * element
+ * @param value of this key
+ */
+ void putCustomParameter(@Nullable GroupDefinition group, @Nullable String key, @Nonnull String value);
-} \ No newline at end of file
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/EAAFAuthProcessDataConstants.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/EAAFAuthProcessDataConstants.java
deleted file mode 100644
index 7ce24cf4..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/EAAFAuthProcessDataConstants.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.api.idp;
-
-public interface EAAFAuthProcessDataConstants {
-
- public static final String GENERIC_PREFIX = "generic_";
-
- public static final String VALUE_ISSUEINSTANT = "direct_issueInstant";
-
- public static final String FLAG_IS_AUTHENTICATED = "direct_flagIsAuth";
- public static final String FLAG_IS_FOREIGNER = "direct_flagIsForeigner";
- public static final String FLAG_USE_MANDATE = "direct_flagUseMandate";
- public static final String FLAG_IS_ORGANWALTER = "direct_flagOrganwalter";
- public static final String FLAG_IS_NEW_EID_PROCESS = "direct_flagIsNewEID";
-
- @Deprecated public static final String VALUE_IDENTITYLINK = "direct_idl";
- public static final String VALUE_QAALEVEL = "direct_qaaLevel";
- @Deprecated public static final String VALUE_MISMANDATE = "direct_MIS_Mandate";
-
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/EaafAuthProcessDataConstants.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/EaafAuthProcessDataConstants.java
new file mode 100644
index 00000000..98c59236
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/EaafAuthProcessDataConstants.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.api.idp;
+
+public interface EaafAuthProcessDataConstants {
+
+ String GENERIC_PREFIX = "generic_";
+
+ String VALUE_ISSUEINSTANT = "direct_issueInstant";
+
+ String FLAG_IS_AUTHENTICATED = "direct_flagIsAuth";
+ String FLAG_IS_FOREIGNER = "direct_flagIsForeigner";
+ String FLAG_USE_MANDATE = "direct_flagUseMandate";
+ String FLAG_IS_ORGANWALTER = "direct_flagOrganwalter";
+ String FLAG_IS_NEW_EID_PROCESS = "direct_flagIsNewEID";
+
+ @Deprecated
+ String VALUE_IDENTITYLINK = "direct_idl";
+ String VALUE_QAALEVEL = "direct_qaaLevel";
+ @Deprecated
+ String VALUE_MISMANDATE = "direct_MIS_Mandate";
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAction.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAction.java
index a40394b3..9a057801 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAction.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAction.java
@@ -1,67 +1,43 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.idp;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import at.gv.egiz.eaaf.core.api.IRequest;
-import at.gv.egiz.eaaf.core.api.idp.slo.SLOInformationInterface;
-import at.gv.egiz.eaaf.core.exceptions.EAAFException;
-
+import at.gv.egiz.eaaf.core.api.idp.slo.SloInformationInterface;
+import at.gv.egiz.eaaf.core.exceptions.EaafException;
/**
- * Basic interface of a specific operation that is requested by an authentication protocol implementation
- *
+ * Basic interface of a specific operation that is requested by an
+ * authentication protocol implementation.
+ *
* @author tlenz
*
*/
public interface IAction {
- public SLOInformationInterface processRequest(IRequest req, HttpServletRequest httpReq, HttpServletResponse httpResp, IAuthData authData)
- throws EAAFException;
- public boolean needAuthentication(IRequest req, HttpServletRequest httpReq, HttpServletResponse httpResp);
-
- public String getDefaultActionName();
+ SloInformationInterface processRequest(IRequest req, HttpServletRequest httpReq, HttpServletResponse httpResp,
+ IAuthData authData) throws EaafException;
+
+ boolean needAuthentication(IRequest req, HttpServletRequest httpReq, HttpServletResponse httpResp);
+
+ String getDefaultActionName();
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAttributeBuilder.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAttributeBuilder.java
index 902aabbe..9c451282 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAttributeBuilder.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAttributeBuilder.java
@@ -1,56 +1,31 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.idp;
import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
public interface IAttributeBuilder {
- public String getName();
-
- public <ATT> ATT build(final ISPConfiguration oaParam, final IAuthData authData,
- final IAttributeGenerator<ATT> g) throws AttributeBuilderException;
-
- public <ATT> ATT buildEmpty(final IAttributeGenerator<ATT> g);
+ String getName();
+
+ <ATT> ATT build(final ISpConfiguration oaParam, final IAuthData authData, final IAttributeGenerator<ATT> g)
+ throws AttributeBuilderException;
+
+ <ATT> ATT buildEmpty(final IAttributeGenerator<ATT> g);
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAttributeGenerator.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAttributeGenerator.java
index 3591e313..072f76e6 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAttributeGenerator.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAttributeGenerator.java
@@ -1,63 +1,38 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
-
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
*
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.idp;
public interface IAttributeGenerator<ATT> {
- /**
- *
- * @param friendlyName FriendlyName
- * @param name Name
- * @param value value
- * @return
- */
- public abstract ATT buildStringAttribute(final String friendlyName, final String name, final String value);
-
- public abstract ATT buildIntegerAttribute(final String friendlyName, final String name, final int value);
-
- public abstract ATT buildLongAttribute(final String friendlyName, final String name, final long value);
-
- public abstract ATT buildEmptyAttribute(final String friendlyName, final String name);
+ /**
+ * Protocol attribute generator.
+ *
+ * @param friendlyName FriendlyName
+ * @param name Name
+ * @param value value
+ * @return
+ */
+ ATT buildStringAttribute(final String friendlyName, final String name, final String value);
+
+ ATT buildIntegerAttribute(final String friendlyName, final String name, final int value);
+
+ ATT buildLongAttribute(final String friendlyName, final String name, final long value);
+
+ ATT buildEmptyAttribute(final String friendlyName, final String name);
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAuthData.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAuthData.java
index e9d86efa..ca946496 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAuthData.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAuthData.java
@@ -1,251 +1,212 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/**
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
*
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.idp;
import java.util.Date;
-import java.util.List;
import at.gv.egiz.eaaf.core.api.idp.auth.data.IIdentityLink;
-import at.gv.egiz.eaaf.core.impl.data.Pair;
/**
+ * Service-Provider specific authentication-data.
+ *
* @author tlenz
*
*/
public interface IAuthData {
- /**
- * BaseId transfer policy
- *
- * @return true if baseID transfer to service provider is allowed, otherwise false
- */
- boolean isBaseIDTransferRestrication();
-
- /**
- * Identifier of the IDP that authenicates the user
- *
- * @return
- */
- String getAuthenticationIssuer();
-
- /**
- * Timestamp of the authentication process
- *
- * @return
- */
- Date getAuthenticationIssueInstant();
-
- /**
- * Get string formated timestamp of the authentication process
- *
- * @return
- */
- String getAuthenticationIssueInstantString();
-
-
- /**
- * Familyname of the user
- *
- * @return
- */
- String getFamilyName();
-
- /**
- * Givenname of the user
- *
- * @return
- */
- String getGivenName();
-
- /**
- * Date of birth of the user
- *
- * @return date of birth or null no data of birth is available
- */
- Date getDateOfBirth();
-
- /**
- * String formated date of birth of the user with pattern yyyy-MM-dd
- *
- *
- * @return date of birth or '2999-12-31' if no data of birth is available
- */
- String getFormatedDateOfBirth();
-
- /**
- * Get the encrypted SourceId (vSZ) from new E-ID scheme
- *
- * @return
- */
- String getEncryptedSourceId();
-
- /**
- * Get the type identifier of encrypted SourceId
- *
- * @return
- */
- String getEncryptedSourceIdType();
-
- /**
- * Return LoA for this user authentication
- *
- * @return eIDAS LoA URI
- */
- public String getEIDASQAALevel();
-
-
- /**
- * Indicates that the user is a foreigner
- *
- * @return true if the user is foreigner, otherwise false
- */
- boolean isForeigner();
-
- /**
- * Code of the citizen country of the authenticated user
- *
- * @return
- */
- String getCiticenCountryCode();
-
-
- /**
- * Indicate that the authentication was done by using an active single sign-on session
- *
- * @return true if it an SSO session was used, otherwise false
- */
- boolean isSsoSession();
-
- /**
- * Date, up to which the SSO that was used for authentication is valid to
- *
- * @return
- */
- Date getSsoSessionValidTo();
-
-
- /**
- * SessionIndex, if it was an reauthentication on a service provider by using the same SSO session
- *
- * @return
- */
- String getSessionIndex();
-
- /**
- * SAML2 NameID for the user
- *
- * @return
- */
- String getNameID();
-
- /**
- * Format of the SAML2 NameID
- *
- * @return
- */
- String getNameIDFormat();
-
-
- /**
- * Get generic information for this authenticated user
- *
- * @param key Identifier for the generic data
- * @param clazz Type of the generic data
- * @return return the generic data of specific type, otherwise null
- */
- public <T> T getGenericData(String key, final Class<T> clazz);
-
-
- /**
- * Get bPK of the user
- *
- * @return
- */
- @Deprecated
- String getBPK();
-
- /**
- * Get sector for user's bPK
- *
- *
- * @return Sector identifier with prefix
- */
- @Deprecated
- String getBPKType();
-
-
- /**
- * Get List of bPK/bPKType tuples for this service provider
- * @return List of Pairs<bPK, bPKType>
- */
- @Deprecated
- List<Pair<String, String>> getAdditionalbPKs();
-
- /**
- * Get baseId of this user
- *
- * @return
- */
- @Deprecated
- String getIdentificationValue();
-
- /**
- * Get type identifier of the baseId
- * By default, this type is urn:publicid:gv.at:baseid
- *
- * @return
- */
- @Deprecated
- String getIdentificationType();
-
-
- /**
- * Get the identityLink for the authenticated user
- *
- * @return IDL, or NULL if no IDL is available
- */
- @Deprecated
- IIdentityLink getIdentityLink();
+ /**
+ * BaseId transfer policy.
+ *
+ * @return true if baseID transfer to service provider is allowed, otherwise
+ * false
+ */
+ boolean isBaseIdTransferRestrication();
+
+ /**
+ * Identifier of the IDP that authenicates the user.
+ *
+ * @return
+ */
+ String getAuthenticationIssuer();
+
+ /**
+ * Timestamp of the authentication process.
+ *
+ * @return
+ */
+ Date getAuthenticationIssueInstant();
+
+ /**
+ * Get string formated timestamp of the authentication process.
+ *
+ * @return
+ */
+ String getAuthenticationIssueInstantString();
+
+ /**
+ * Familyname of the user.
+ *
+ * @return
+ */
+ String getFamilyName();
+
+ /**
+ * Givenname of the user.
+ *
+ * @return
+ */
+ String getGivenName();
+
+ /**
+ * Date of birth of the user.
+ *
+ * @return date of birth or null no data of birth is available
+ */
+ Date getDateOfBirth();
+
+ /**
+ * String formated date of birth of the user with pattern yyyy-MM-dd.
+ *
+ *
+ * @return date of birth or '2999-12-31' if no data of birth is available
+ */
+ String getFormatedDateOfBirth();
+
+ /**
+ * Get the encrypted SourceId (vSZ) from new E-ID scheme.
+ *
+ * @return
+ */
+ String getEncryptedSourceId();
+
+ /**
+ * Get the type identifier of encrypted SourceId.
+ *
+ * @return
+ */
+ String getEncryptedSourceIdType();
+
+ /**
+ * Return LoA for this user authentication.
+ *
+ * @return eIDAS LoA URI
+ */
+ String getEidasQaaLevel();
+
+ /**
+ * Indicates that the user is a foreigner.
+ *
+ * @return true if the user is foreigner, otherwise false
+ */
+ boolean isForeigner();
+
+ /**
+ * Code of the citizen country of the authenticated user.
+ *
+ * @return
+ */
+ String getCiticenCountryCode();
+
+ /**
+ * Indicate that the authentication was done by using an active single sign-on
+ * session.
+ *
+ * @return true if it an SSO session was used, otherwise false
+ */
+ boolean isSsoSession();
+
+ /**
+ * Date, up to which the SSO that was used for authentication is valid to.
+ *
+ * @return
+ */
+ Date getSsoSessionValidTo();
+
+ /**
+ * SessionIndex, if it was an reauthentication on a service provider by using
+ * the same SSO session.
+ *
+ * @return
+ */
+ String getSessionIndex();
+
+ /**
+ * SAML2 NameID for the user.
+ *
+ * @return
+ */
+ String getNameID();
+
+ /**
+ * Format of the SAML2 NameID.
+ *
+ * @return
+ */
+ String getNameIdFormat();
+
+ /**
+ * Get generic information for this authenticated user.
+ *
+ * @param key Identifier for the generic data
+ * @param clazz Type of the generic data
+ * @return return the generic data of specific type, otherwise null
+ */
+ <T> T getGenericData(String key, final Class<T> clazz);
+
+ /**
+ * Get bPK of the user.
+ *
+ * @return
+ */
+ String getBpk();
+
+ /**
+ * Get sector for user's bPK.
+ *
+ *
+ * @return Sector identifier with prefix
+ */
+ String getBpkType();
+
+ /**
+ * Get baseId of this user.
+ *
+ * @return
+ */
+ @Deprecated
+ String getIdentificationValue();
+
+ /**
+ * Get type identifier of the baseId By default, this type is
+ * urn:publicid:gv.at:baseid.
+ *
+ * @return
+ */
+ @Deprecated
+ String getIdentificationType();
+
+ /**
+ * Get the identityLink for the authenticated user.
+ *
+ * @return IDL, or NULL if no IDL is available
+ */
+ @Deprecated
+ IIdentityLink getIdentityLink();
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAuthenticationDataBuilder.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAuthenticationDataBuilder.java
index 2e67f2a8..8c99b783 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAuthenticationDataBuilder.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IAuthenticationDataBuilder.java
@@ -1,38 +1,29 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.idp;
import at.gv.egiz.eaaf.core.api.IRequest;
-import at.gv.egiz.eaaf.core.exceptions.EAAFAuthenticationException;
+import at.gv.egiz.eaaf.core.exceptions.EaafAuthenticationException;
public interface IAuthenticationDataBuilder {
- IAuthData buildAuthenticationData(IRequest pendingReq) throws EAAFAuthenticationException;
+ IAuthData buildAuthenticationData(IRequest pendingReq) throws EaafAuthenticationException;
-
-
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IConfiguration.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IConfiguration.java
index 3ed505ef..b9ba9869 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IConfiguration.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IConfiguration.java
@@ -1,78 +1,69 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.idp;
import java.net.URI;
public interface IConfiguration {
-
- /**
- * Get a configuration value from file based configuration
- *
- * @param key configuration key
- * @return configuration value or null if it is not found
- */
- public String getBasicConfiguration(final String key);
-
-
- /**
- * Get a configuration value from file based configuration
- *
- * @param key configuration key
- * @param defaultValue Default value if no value with this key is found
- * @return configuration value
- */
- public String getBasicConfiguration(final String key, final String defaultValue);
-
-
- /**
- * Get a configuration value from file based configuration
- *
- * @param key configuration key
- * @return configuration value as {@link Boolean.parseBoolean(value)} or <code>null</code> if key does not exist
- */
- public Boolean getBasicConfigurationBoolean(final String key);
-
- /**
- * Get a configuration value from file based configuration
- *
- * @param key configuration key
- * @param defaultValue Default value if no value with this key is found
- * @return configuration value as {@link Boolean.parseBoolean(value)} or <code>defaultValue</code> if key does not exist
- */
- public boolean getBasicConfigurationBoolean(final String key, final boolean defaultValue);
-
-
- /**
- * Get the root directory of the configuration folder
- *
- * @return
- */
- public URI getConfigurationRootDirectory();
-
-
+
+ /**
+ * Get a configuration value from file based configuration.
+ *
+ * @param key configuration key
+ * @return configuration value or null if it is not found
+ */
+ String getBasicConfiguration(final String key);
+
+ /**
+ * Get a configuration value from file based configuration.
+ *
+ * @param key configuration key
+ * @param defaultValue Default value if no value with this key is found
+ * @return configuration value
+ */
+ String getBasicConfiguration(final String key, final String defaultValue);
+
+ /**
+ * Get a configuration value from file based configuration.
+ *
+ * @param key configuration key
+ * @return configuration value as {@link Boolean} or <code>false</code> if key
+ * does not exist
+ */
+ boolean getBasicConfigurationBoolean(final String key);
+
+ /**
+ * Get a configuration value from file based configuration.
+ *
+ * @param key configuration key
+ * @param defaultValue Default value if no value with this key is found
+ * @return configuration value as {@link Boolean} or <code>defaultValue</code>
+ * if key does not exist
+ */
+ boolean getBasicConfigurationBoolean(final String key, final boolean defaultValue);
+
+ /**
+ * Get the root directory of the configuration folder.
+ *
+ * @return
+ */
+ URI getConfigurationRootDirectory();
+
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IConfigurationWithSP.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IConfigurationWithSP.java
index ef453808..1ab27e7f 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IConfigurationWithSP.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IConfigurationWithSP.java
@@ -5,53 +5,58 @@ import java.util.Map;
import javax.annotation.Nullable;
-import at.gv.egiz.eaaf.core.exceptions.EAAFConfigurationException;
-import at.gv.egiz.eaaf.core.exceptions.EAAFException;
+import at.gv.egiz.eaaf.core.exceptions.EaafConfigurationException;
+import at.gv.egiz.eaaf.core.exceptions.EaafException;
public interface IConfigurationWithSP extends IConfiguration {
- public static final String CONFIG_PROPS_AUTH_DEFAULT_COUNTRYCODE = "configuration.auth.default.countrycode";
-
-
- /**
- * Get a configuration entry for a specific Service Provider
- *
- * @param uniqueID Unique identifier of the Service Provider
- * @return {@link ISPConfiguration} or <code>null</code> if no SP configuration was found
- * @throws EAAFConfigurationException
- */
- @Nullable
- public ISPConfiguration getServiceProviderConfiguration(final String uniqueID) throws EAAFConfigurationException;
-
-
- /**
- * Get a configuration entry for a specific Service Provider that is decorated by a Object
- *
- * @param spIdentifier EntityID of a Service Provider
- * @param decorator Decorator that should be used to decorate the result.
- * This decorator has to be implement or extend the {@link ISPConfiguration} interface
- * @return <code>T</code> or <code>null</code> if no SP configuration was found
- * @throws EAAFConfigurationException
- */
- @Nullable
- public <T> T getServiceProviderConfiguration(String spIdentifier, final Class<T> decorator) throws EAAFConfigurationException;
-
-
- /**
- * Get a set of configuration values from file based configuration that starts with this prefix
- * <br><br>
- * <b>Important:</b> The configuration values must be of type String!
- *
- * @param prefix Prefix of the configuration key
- * @return Map<String, String> without prefix, but never null
- */
- public Map<String, String> getBasicConfigurationWithPrefix(final String prefix);
-
- /**
- * Validate a URL if it it is allowed by configuration.
- *
- * @param authReqUrl URL for validation
- * @return URL of the application context if the authReqUrl was valid, otherwise null
- */
- public String validateIDPURL(URL authReqUrl) throws EAAFException;
+ String CONFIG_PROPS_AUTH_DEFAULT_COUNTRYCODE = "configuration.auth.default.countrycode";
+
+ /**
+ * Get a configuration entry for a specific Service Provider.
+ *
+ * @param uniqueID Unique identifier of the Service Provider
+ * @return {@link ISpConfiguration} or <code>null</code> if no SP configuration
+ * was found
+ * @throws EaafConfigurationException In case of a Service-Provider loading
+ * error
+ */
+ @Nullable
+ ISpConfiguration getServiceProviderConfiguration(final String uniqueID) throws EaafConfigurationException;
+
+ /**
+ * Get a configuration entry for a specific Service Provider that is decorated
+ * by a Object.
+ *
+ * @param spIdentifier EntityID of a Service Provider
+ * @param decorator Decorator that should be used to decorate the result.
+ * This decorator has to be implement or extend the
+ * {@link ISpConfiguration} interface
+ * @return <code>T</code> or <code>null</code> if no SP configuration was found
+ * @throws EaafConfigurationException In case of a Service-Provider loading
+ * error
+ */
+ @Nullable
+ <T> T getServiceProviderConfiguration(String spIdentifier, final Class<T> decorator)
+ throws EaafConfigurationException;
+
+ /**
+ * Get a set of configuration values from file based configuration that starts
+ * with this prefix. <br>
+ * <br>
+ * <b>Important:</b> The configuration values must be of type String!
+ *
+ * @param prefix Prefix of the configuration key
+ * @return Map String/String without prefix, but never null
+ */
+ Map<String, String> getBasicConfigurationWithPrefix(final String prefix);
+
+ /**
+ * Validate a URL if it it is allowed by configuration.
+ *
+ * @param authReqUrl URL for validation
+ * @return URL of the application context if the authReqUrl was valid, otherwise
+ * null
+ */
+ String validateIdpUrl(URL authReqUrl) throws EaafException;
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IEidAuthData.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IEidAuthData.java
index 74c84468..323e4aeb 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IEidAuthData.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IEidAuthData.java
@@ -1,45 +1,41 @@
package at.gv.egiz.eaaf.core.api.idp;
-import at.gv.egiz.eaaf.core.api.data.PVPAttributeDefinitions;
+import at.gv.egiz.eaaf.core.api.data.PvpAttributeDefinitions;
public interface IEidAuthData extends IAuthData {
- /**
- * Get the serialized signing certificate that was used to sign the consent
- *
- * @return
- */
- byte[] getSignerCertificate();
+ /**
+ * Get the serialized signing certificate that was used to sign the consent.
+ *
+ * @return
+ */
+ byte[] getSignerCertificate();
-
- /**
- * Get the serialized E-ID token that can be used to validate the Identity-Link
- *
- * @return
- */
- byte[] getEIDToken();
+ /**
+ * Get the serialized E-ID token that can be used to validate the Identity-Link.
+ *
+ * @return
+ */
+ byte[] getEidToken();
+ /**
+ * Get the status of the E-ID.
+ *
+ * @return {@link PvpAttributeDefinitions.EidIdentityStatusLevelValues}
+ */
+ PvpAttributeDefinitions.EidIdentityStatusLevelValues getEidStatus();
- /**
- * Get the status of the E-ID
- *
- * @return {@link PVPAttributeDefinitions.EID_IDENTITY_STATUS_LEVEL_VALUES}
- */
- PVPAttributeDefinitions.EID_IDENTITY_STATUS_LEVEL_VALUES getEIDStatus();
-
-
- /**
- * Get the URL of the VDA EndPoint, that was used for authentication
- *
- * @return
- */
- String getVdaEndPointUrl();
-
-
- /**
- * Flag that mandates are used
- *
- * @return true if mandates are used, otherwise false
- */
- boolean isUseMandate();
+ /**
+ * Get the URL of the VDA EndPoint, that was used for authentication.
+ *
+ * @return
+ */
+ String getVdaEndPointUrl();
+
+ /**
+ * Flag that mandates are used.
+ *
+ * @return true if mandates are used, otherwise false
+ */
+ boolean isUseMandate();
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IExtendedConfiguration.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IExtendedConfiguration.java
index a12a7260..ec09995d 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IExtendedConfiguration.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IExtendedConfiguration.java
@@ -5,20 +5,20 @@ import java.util.Properties;
public interface IExtendedConfiguration extends IConfigurationWithSP {
- /**
- * Get the full configuration properties object
- *
- * @return
- */
- @Deprecated
- public Properties getFullConfigurationProperties();
-
- /**
- * Get the path to EAAFCore configuration that is internally used
- *
- * @return
- */
- @Deprecated
- public URI getConfigurationFilePath();
-
+ /**
+ * Get the full configuration properties object.
+ *
+ * @return
+ */
+ @Deprecated
+ Properties getFullConfigurationProperties();
+
+ /**
+ * Get the path to EAAFCore configuration that is internally used.
+ *
+ * @return
+ */
+ @Deprecated
+ URI getConfigurationFilePath();
+
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IModulInfo.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IModulInfo.java
index 06aed047..4834f15e 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IModulInfo.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IModulInfo.java
@@ -1,47 +1,22 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.idp;
import javax.servlet.http.HttpServletRequest;
@@ -50,50 +25,51 @@ import javax.servlet.http.HttpServletResponse;
import at.gv.egiz.eaaf.core.api.IRequest;
/**
- * Basic interface of an authentication protocol implementation on IDP side
- *
+ * Basic interface of an authentication protocol implementation on IDP side.
+ *
* @author tlenz
*
*/
public interface IModulInfo {
-
- /**
- * Name of this IDP authentication module
- *
- * @return
- */
- public String getName();
-
- /**
- * Authentication protocol identifier for this module
- *
- * @return
- */
- public String getAuthProtocolIdentifier();
-
- /**
- * Generates a protocol specific error message
- *
- *
- * @param e Exception that contains the error message
- * @param request httpRequest object from servlet container
- * @param response httpResponse object from servlet container
- * @param protocolRequest incoming protocol request
- * @return return <i>true</i> if a protocol specific error message was generated, otherwise <i>false</i>
- * @throws Throwable
- */
- public boolean generateErrorMessage(Throwable e,
- HttpServletRequest request, HttpServletResponse response,
- IRequest protocolRequest) throws Throwable;
-
- /**
- * additional validation of a incoming authentication request
- *
- * @param request httpRequest object from servlet container
- * @param response httpResponse object from servlet container
- * @param pending incoming protocol request
- * @return return <i>true</i> if the incoming request is valid, otherwise <i>false</i>
- */
- public boolean validate(HttpServletRequest request,
- HttpServletResponse response, IRequest pending);
+
+ /**
+ * Name of this IDP authentication module.
+ *
+ * @return
+ */
+ String getName();
+
+ /**
+ * Authentication protocol identifier for this module.
+ *
+ * @return
+ */
+ String getAuthProtocolIdentifier();
+
+ /**
+ * Generates a protocol specific error message.
+ *
+ *
+ * @param e Exception that contains the error message
+ * @param request httpRequest object from servlet container
+ * @param response httpResponse object from servlet container
+ * @param protocolRequest incoming protocol request
+ * @return return <i>true</i> if a protocol specific error message was
+ * generated, otherwise <i>false</i>
+ * @throws Throwable In case of an internal error during error message
+ * generation
+ */
+ boolean generateErrorMessage(Throwable e, HttpServletRequest request, HttpServletResponse response,
+ IRequest protocolRequest) throws Throwable;
+
+ /**
+ * additional validation of a incoming authentication request.
+ *
+ * @param request httpRequest object from servlet container
+ * @param response httpResponse object from servlet container
+ * @param pending incoming protocol request
+ * @return return <i>true</i> if the incoming request is valid, otherwise
+ * <i>false</i>
+ */
+ boolean validate(HttpServletRequest request, HttpServletResponse response, IRequest pending);
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IPVPAttributeBuilder.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IPVPAttributeBuilder.java
deleted file mode 100644
index eab7af9b..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IPVPAttributeBuilder.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.api.idp;
-
-import at.gv.egiz.eaaf.core.api.data.PVPAttributeDefinitions;
-
-public interface IPVPAttributeBuilder extends PVPAttributeDefinitions, IAttributeBuilder {
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IPvpAttributeBuilder.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IPvpAttributeBuilder.java
new file mode 100644
index 00000000..5115327d
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/IPvpAttributeBuilder.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.api.idp;
+
+import at.gv.egiz.eaaf.core.api.data.PvpAttributeDefinitions;
+
+public interface IPvpAttributeBuilder extends PvpAttributeDefinitions, IAttributeBuilder {
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/ISPConfiguration.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/ISPConfiguration.java
deleted file mode 100644
index 9d92b713..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/ISPConfiguration.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.api.idp;
-
-import java.io.Serializable;
-import java.util.List;
-import java.util.Map;
-
-import at.gv.egiz.eaaf.core.api.data.EAAFConstants;
-
-public interface ISPConfiguration extends Serializable {
-
- public static final String CONFIG_KEY_RESTRICTIONS_BASEID_INTERNAL = "configuration.restrictions.baseID.idpProcessing";
- public static final String CONFIG_KEY_RESTRICTIONS_BASEID_TRANSMISSION = "configuration.restrictions.baseID.spTransmission";
-
- public static final String CONFIG_KEY_RESTRICTIONS_EID_DEMO_MODE = "configuration.restrictions.eIDTestMode";
-
- /**
- * Get the full key/value configuration for this Service Provider
- *
- * @return an unmodifiable map of key/value pairs
- */
- public Map<String, String> getFullConfiguration();
-
- /**
- * Get a configuration value from Service Provider key/value configuration
- *
- * @param key The key identifier of a configuration value
- * @return The configuration value {String} or null if the key does not exist
- */
- public String getConfigurationValue(String key);
-
- /**
- * Get a configuration value from Service Provider key/value configuration
- *
- * @param key The key identifier of a configuration value
- * @param defaultValue Default value if key does not exist
- * @return The configuration value {String} or defaultValue if the key does not exist
- */
- public String getConfigurationValue(String key, String defaultValue);
-
- /**
- * Get a boolean configuration value from Service Provider key/value configuration
- *
- * @param key The key identifier of a configuration value
- * @return true / false, or null if the key does not exist
- */
- public Boolean isConfigurationValue(String key);
-
-
- /**
- * Get a boolean configuration value from Service Provider key/value configuration
- *
- * @param key The key identifier of a configuration value
- * @param defaultValue Default value if key does not exist
- * @return true / false, or defaultValue if the key does not exist
- */
- public boolean isConfigurationValue(String key, boolean defaultValue);
-
- /**
- * Check if a configuration key is available in this Service Provider configuration
- *
- * @param key The key identifier of a configuration value
- * @return true if the configuration key exists, otherwise false
- */
- boolean containsConfigurationKey(String key);
-
- /**
- * Return the unique identifier of this Service Provider
- *
- * @return
- */
- public String getUniqueIdentifier();
-
- /**
- * Return the unique identifier of this Service Provider
- *
- * @return
- */
- public String getFriendlyName();
-
- /**
- * Indicates if this service provider has private area restrictions that disallow baseId processing in general
- * *
- * @return true if there is a restriction, otherwise false
- */
- public boolean hasBaseIdInternalProcessingRestriction();
-
-
- /**
- * Indicates if this service provider has private area restrictions that disallow baseId transfer to SP
- *
- * @return true if there is a restriction, otherwise false
- */
- public boolean hasBaseIdTransferRestriction();
-
- /**
- * Get the {@link List} of identifier's that indicates no baseID processing restriction exists.<br>
- * This list can be configured by key: "configuration.restrictions.baseID.idpProcessing"
- *
- * @return
- */
- public List<String> getTargetsWithNoBaseIdInternalProcessingRestriction();
-
- /**
- * Get the {@link List} of identifier's that indicates no baseID transfer restriction exists.<br>
- * This list can be configured by key: "configuration.restrictions.baseID.spTransmission"
- *
- * @return
- */
- public List<String> getTargetsWithNoBaseIdTransferRestriction();
-
- /**
- * Get the List eIDAS LoA that are required by this service provider
- *
- * {@link EAAFConstants.EIDAS_LOA_LOW}
- * {@link EAAFConstants.EIDAS_LOA_SUBSTANTIAL}
- * {@link EAAFConstants.EIDAS_LOA_HIGH}
- * or any other non-notified LoA scheme
- *
- * @return return List of eIDAS LoAs
- */
- public List<String> getRequiredLoA();
-
- /**
- * Get required matching mode for LoAs
- * {@link EIDAS_LOA_MATCHING_MINIMUM}
- * {@link EIDAS_LOA_MATCHING_EXACT}
- *
- * @return
- */
- public String getLoAMatchingMode();
-
-
- /**
- * Get the full area-identifier for this service provider to calculate the
- * area-specific unique person identifier (bPK, wbPK, eIDAS unique identifier, ...).
- * This identifier always contains the full prefix
- *
- * @return area identifier with prefix
- */
- public String getAreaSpecificTargetIdentifier();
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/ISpConfiguration.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/ISpConfiguration.java
new file mode 100644
index 00000000..5a16f655
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/ISpConfiguration.java
@@ -0,0 +1,164 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.api.idp;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+public interface ISpConfiguration extends Serializable {
+
+ String CONFIG_KEY_RESTRICTIONS_BASEID_INTERNAL = "configuration.restrictions.baseID.idpProcessing";
+ String CONFIG_KEY_RESTRICTIONS_BASEID_TRANSMISSION = "configuration.restrictions.baseID.spTransmission";
+
+ String CONFIG_KEY_RESTRICTIONS_EID_DEMO_MODE = "configuration.restrictions.eIDTestMode";
+
+ /**
+ * Get the full key/value configuration for this Service Provider.
+ *
+ * @return an unmodifiable map of key/value pairs
+ */
+ Map<String, String> getFullConfiguration();
+
+ /**
+ * Get a configuration value from Service Provider key/value configuration.
+ *
+ * @param key The key identifier of a configuration value
+ * @return The configuration value {String} or null if the key does not exist
+ */
+ String getConfigurationValue(String key);
+
+ /**
+ * Get a configuration value from Service Provider key/value configuration.
+ *
+ * @param key The key identifier of a configuration value
+ * @param defaultValue Default value if key does not exist
+ * @return The configuration value {String} or defaultValue if the key does not
+ * exist
+ */
+ String getConfigurationValue(String key, String defaultValue);
+
+ /**
+ * Get a boolean configuration value from Service Provider key/value
+ * configuration.
+ *
+ * @param key The key identifier of a configuration value
+ * @return true / false, or false if the key does not exist
+ */
+ boolean isConfigurationValue(String key);
+
+ /**
+ * Get a boolean configuration value from Service Provider key/value
+ * configuration.
+ *
+ * @param key The key identifier of a configuration value
+ * @param defaultValue Default value if key does not exist
+ * @return true / false, or defaultValue if the key does not exist
+ */
+ boolean isConfigurationValue(String key, boolean defaultValue);
+
+ /**
+ * Check if a configuration key is available in this Service Provider
+ * configuration.
+ *
+ * @param key The key identifier of a configuration value
+ * @return true if the configuration key exists, otherwise false
+ */
+ boolean containsConfigurationKey(String key);
+
+ /**
+ * Return the unique identifier of this Service Provider.
+ *
+ * @return
+ */
+ String getUniqueIdentifier();
+
+ /**
+ * Return the unique identifier of this Service Provider.
+ *
+ * @return
+ */
+ String getFriendlyName();
+
+ /**
+ * Indicates if this service provider has private area restrictions that
+ * disallow baseId. processing in general *
+ *
+ * @return true if there is a restriction, otherwise false
+ */
+ boolean hasBaseIdInternalProcessingRestriction();
+
+ /**
+ * Indicates if this service provider has private area restrictions that
+ * disallow baseId transfer. to SP
+ *
+ * @return true if there is a restriction, otherwise false
+ */
+ boolean hasBaseIdTransferRestriction();
+
+ /**
+ * Get the {@link List} of identifier's that indicates no baseID processing
+ * restriction exists.<br>
+ * This list can be configured by key:
+ * "configuration.restrictions.baseID.idpProcessing"
+ *
+ * @return
+ */
+ List<String> getTargetsWithNoBaseIdInternalProcessingRestriction();
+
+ /**
+ * Get the {@link List} of identifier's that indicates no baseID transfer
+ * restriction exists.<br>
+ * This list can be configured by key:
+ * "configuration.restrictions.baseID.spTransmission"
+ *
+ * @return
+ */
+ List<String> getTargetsWithNoBaseIdTransferRestriction();
+
+ /**
+ * Get the List eIDAS LoA that are required by this service provider.
+ *
+ * {@link at.gv.egiz.eaaf.core.api.data.EaafConstants.EIDAS_LOA_LOW}
+ * {@link at.gv.egiz.eaaf.core.api.data.EaafConstants.EIDAS_LOA_SUBSTANTIAL}
+ * {@link at.gv.egiz.eaaf.core.api.data.EaafConstants.EIDAS_LOA_HIGH} or any other non-notified LoA scheme
+ *
+ * @return return List of eIDAS LoAs
+ */
+ List<String> getRequiredLoA();
+
+ /**
+ * Get required matching mode for LoAs {@link EIDAS_LOA_MATCHING_MINIMUM}.
+ * {@link EIDAS_LOA_MATCHING_EXACT}
+ *
+ * @return
+ */
+ String getLoAMatchingMode();
+
+ /**
+ * Get the full area-identifier for this service provider to calculate the
+ * area-specific unique person identifier (bPK, wbPK, eIDAS unique identifier,
+ * ...). This identifier always contains the full prefix
+ *
+ * @return area identifier with prefix
+ */
+ String getAreaSpecificTargetIdentifier();
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/IAuthenticationManager.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/IAuthenticationManager.java
index 4381211d..3dba4e78 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/IAuthenticationManager.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/IAuthenticationManager.java
@@ -1,94 +1,90 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.idp.auth;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import at.gv.egiz.eaaf.core.api.IRequest;
-import at.gv.egiz.eaaf.core.api.idp.slo.ISLOInformationContainer;
-import at.gv.egiz.eaaf.core.exceptions.EAAFException;
+import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
+import at.gv.egiz.eaaf.core.api.idp.slo.ISloInformationContainer;
+import at.gv.egiz.eaaf.core.exceptions.EaafException;
public interface IAuthenticationManager {
-
- public static int EVENT_AUTHENTICATION_PROCESS_FOR_SP = 4003;
- public static int EVENT_AUTHENTICATION_PROCESS_STARTED = 4000;
- public static int EVENT_AUTHENTICATION_PROCESS_FINISHED = 4001;
- public static int EVENT_AUTHENTICATION_PROCESS_ERROR = 4002;
-
-
- /**
- * Add a request parameter to whitelist. All parameters that are part of the white list are added into {@link ExecutionContext}
- *
- * @param httpReqParam http parameter name, but never null
- */
- void addParameterNameToWhiteList(String httpReqParam);
- /**
- * Add a request header to whitelist. All parameters that are part of the white list are added into {@link ExecutionContext}
- *
- * @param httpReqParam http header name, but never null
- */
- void addHeaderNameToWhiteList(String httpReqParam);
-
+ int EVENT_AUTHENTICATION_PROCESS_FOR_SP = 4003;
+ int EVENT_AUTHENTICATION_PROCESS_STARTED = 4000;
+ int EVENT_AUTHENTICATION_PROCESS_FINISHED = 4001;
+ int EVENT_AUTHENTICATION_PROCESS_ERROR = 4002;
+
+ /**
+ * Add a request parameter to whitelist. All parameters that are part of the
+ * white list are added into {@link ExecutionContext}
+ *
+ * @param httpReqParam http parameter name, but never null
+ */
+ void addParameterNameToWhiteList(String httpReqParam);
+
+ /**
+ * Add a request header to whitelist. All parameters that are part of the white
+ * list are added into {@link ExecutionContext}
+ *
+ * @param httpReqParam http header name, but never null
+ */
+ void addHeaderNameToWhiteList(String httpReqParam);
+
+ /**
+ * Starts an authentication process for a specific pending request.
+ *
+ * @param httpReq http servlet request
+ * @param httpResp http servlet response
+ * @param pendingReq Pending request for that an authentication is required
+ * @return true if the pending request is already authenticated, otherwise false
+ * @throws EaafException In case of an authentication error
+ */
+ boolean doAuthentication(HttpServletRequest httpReq, HttpServletResponse httpResp, IRequest pendingReq)
+ throws EaafException;
+
+ /**
+ * Close an active authenticated session on IDP side.
+ *
+ * @param request http servlet request
+ * @param response http servlet response
+ * @param pendingReq ReqPending request for that an authentication session
+ * should be closed
+ */
+ void performOnlyIdpLogOut(HttpServletRequest request, HttpServletResponse response, IRequest pendingReq);
- /**
- * Starts an authentication process for a specific pending request
- *
- * @param httpReq http servlet request
- * @param httpResp http servlet response
- * @param pendingReq Pending request for that an authentication is required
- * @return true if the pending request is already authenticated, otherwise false
- * @throws EAAFException
- */
- boolean doAuthentication(HttpServletRequest httpReq, HttpServletResponse httpResp,
- IRequest pendingReq) throws EAAFException;
-
- /**
- * Close an active authenticated session on IDP side
- *
- * @param request http servlet request
- * @param response http servlet response
- * @param pendingReq ReqPending request for that an authentication session should be closed
- */
- void performOnlyIDPLogOut(HttpServletRequest request, HttpServletResponse response, IRequest pendingReq);
-
-
- /**
- * Close an active authenticated session on IDP side and get a list authenticated service providers
- *
- * @param request http servlet request
- * @param response http servlet response
- * @param pendingReq ReqPending request for that an authentication session should be closed
- * @param internalSSOId internal SSO session identifier
- * @return A container that contains all active SP sessions
- * @throws EAAFException
- */
- ISLOInformationContainer performSingleLogOut(HttpServletRequest httpReq, HttpServletResponse httpResp, IRequest pendingReq, String internalSSOId) throws EAAFException;
+ /**
+ * Close an active authenticated session on IDP side and get a list
+ * authenticated service providers.
+ *
+ * @param httpReq http servlet request
+ * @param httpResp http servlet response
+ * @param pendingReq ReqPending request for that an authentication session
+ * should be closed
+ * @param internalSsoId internal SSO session identifier
+ * @return A container that contains all active SP sessions
+ * @throws EaafException In case of an internal SLO error
+ */
+ ISloInformationContainer performSingleLogOut(HttpServletRequest httpReq, HttpServletResponse httpResp,
+ IRequest pendingReq, String internalSsoId) throws EaafException;
-
-} \ No newline at end of file
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/ISSOManager.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/ISSOManager.java
deleted file mode 100644
index 5481fd52..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/ISSOManager.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.api.idp.auth;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import at.gv.egiz.eaaf.core.api.IRequest;
-import at.gv.egiz.eaaf.core.api.idp.slo.SLOInformationInterface;
-import at.gv.egiz.eaaf.core.exceptions.EAAFSSOException;
-
-public interface ISSOManager {
-
- //TODO
- public static int EVENT_SSO_SESSION_INVALID = -1;
- public static int EVENT_SSO_SESSION_VALID = -1;
-
-
- public static final String PROCESS_ENGINE_SSO_CONSENTS_EVALUATION = "ssoconsentsevaluation";
- public static final String AUTH_DATA_SSO_SESSIONID = "eaaf_authdata_sso_sessionId";
-
-
- /**
- * Check if there is an active and valid SSO session for the current pending request.
- * <br>
- * If there is an active SSO session, the pending request will be populated with eID information from SSO session
- *
- * @param pendingReq Current incoming pending request
- * @param httpReq http Servlet request
- * @param httpResp http Servlet response
- * @return true if there is a valid SSO session, otherwise false
- * @throws EAAFSSOException
- */
- public boolean checkAndValidateSSOSession(IRequest pendingReq, HttpServletRequest httpReq, HttpServletResponse httpResp) throws EAAFSSOException;
-
- /**
- * Populate service provider specific SSO settings
- *
- * Check if Single Sign-On is allowed for the current pending request and the requested service provider
- * Set IRequest.needSingleSignOnFunctionality() to true if SSO is allowed
- *
- * @param pendingReq Current incoming pending request
- * @param httpReq http Servlet request
- */
- public void isSSOAllowedForSP(IRequest pendingReq, HttpServletRequest httpReq);
-
-
- /**
- * Populate the current pending request with eID information from an existing SSO session
- *
- * @param pendingReq pending request that should be populated by SSO session
- * @throws EAAFSSOException if pending request contains no SSO information or population failed
- */
- public void populatePendingRequestWithSSOInformation(IRequest pendingReq) throws EAAFSSOException;
-
-
- /**
- * Destroy an active SSO session on IDP site only
- *
- * @param httpReq http servlet request
- * @param httpResp http servlet response
- * @param pendingReq
- * @return true if a SSO session was closed successfully, otherwise false
- * @throws EAAFSSOException in case of an internal processing error
- */
- public boolean destroySSOSessionOnIDPOnly(HttpServletRequest httpReq, HttpServletResponse httpResp, IRequest pendingReq) throws EAAFSSOException;
-
-
-
- /**
- * Create a new SSO session-cookie for a specific pendingRequest and add it into http response
- *
- * @param req http Request
- * @param resp http Response
- * @param pendingReq Current open PendingRequest
- * @return new created SSO identifier
- * @throws EAAFSSOException
- */
- public String createNewSSOSessionCookie(HttpServletRequest req, HttpServletResponse resp, IRequest pendingReq) throws EAAFSSOException;
-
-
- /**
- * Create a new SSO session in database
- *
- * @param pendingReq
- * @param newSSOSessionId
- * @throws EAAFSSOException
- */
- public void createNewSSOSession(IRequest pendingReq, String newSSOSessionId) throws EAAFSSOException;
-
-
- /**
- * Updateing an existing SSO session in database
- *
- * @param pendingReq
- * @param newSSOSessionId
- * @param sloInformation
- * @throws EAAFSSOException
- */
- public void updateSSOSession(IRequest pendingReq, String newSSOSessionId, SLOInformationInterface sloInformation) throws EAAFSSOException;
-
-
-
-
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/ISsoManager.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/ISsoManager.java
new file mode 100644
index 00000000..f0d6cfca
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/ISsoManager.java
@@ -0,0 +1,122 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.api.idp.auth;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import at.gv.egiz.eaaf.core.api.IRequest;
+import at.gv.egiz.eaaf.core.api.idp.slo.SloInformationInterface;
+import at.gv.egiz.eaaf.core.exceptions.EaafSsoException;
+
+public interface ISsoManager {
+
+ // TODO
+ int EVENT_SSO_SESSION_INVALID = -1;
+ int EVENT_SSO_SESSION_VALID = -1;
+
+ String PROCESS_ENGINE_SSO_CONSENTS_EVALUATION = "ssoconsentsevaluation";
+ String AUTH_DATA_SSO_SESSIONID = "eaaf_authdata_sso_sessionId";
+
+ /**
+ * Check if there is an active and valid SSO session for the current pending
+ * request. <br>
+ * If there is an active SSO session, the pending request will be populated with
+ * eID information from SSO session
+ *
+ * @param pendingReq Current incoming pending request
+ * @param httpReq http Servlet request
+ * @param httpResp http Servlet response
+ * @return true if there is a valid SSO session, otherwise false
+ * @throws EaafSsoException In case of an internal error
+ */
+ boolean checkAndValidateSsoSession(IRequest pendingReq, HttpServletRequest httpReq, HttpServletResponse httpResp)
+ throws EaafSsoException;
+
+ /**
+ * Populate service provider specific SSO settings.
+ *
+ * <p>
+ * Check if Single Sign-On is allowed for the current pending request and the
+ * requested service provider Set IRequest.needSingleSignOnFunctionality() to
+ * true if SSO is allowed
+ * </p>
+ *
+ * @param pendingReq Current incoming pending request
+ * @param httpReq http Servlet request
+ */
+ void isSsoAllowedForSp(IRequest pendingReq, HttpServletRequest httpReq);
+
+ /**
+ * Populate the current pending request with eID information from an existing
+ * SSO session.
+ *
+ * @param pendingReq pending request that should be populated by SSO session
+ * @throws EaafSsoException if pending request contains no SSO information or
+ * population failed
+ */
+ void populatePendingRequestWithSsoInformation(IRequest pendingReq) throws EaafSsoException;
+
+ /**
+ * Destroy an active SSO session on IDP site only.
+ *
+ * @param httpReq http servlet request
+ * @param httpResp http servlet response
+ * @param pendingReq current pending request
+ * @return true if a SSO session was closed successfully, otherwise false
+ * @throws EaafSsoException in case of an internal processing error
+ */
+ boolean destroySsoSessionOnIdpOnly(HttpServletRequest httpReq, HttpServletResponse httpResp, IRequest pendingReq)
+ throws EaafSsoException;
+
+ /**
+ * Create a new SSO session-cookie for a specific pendingRequest and add it into
+ * http response.
+ *
+ * @param req http Request
+ * @param resp http Response
+ * @param pendingReq Current open PendingRequest
+ * @return new created SSO identifier
+ * @throws EaafSsoException In case of an internal error
+ */
+ String createNewSsoSessionCookie(HttpServletRequest req, HttpServletResponse resp, IRequest pendingReq)
+ throws EaafSsoException;
+
+ /**
+ * Create a new SSO session in database.
+ *
+ * @param pendingReq current pending request
+ * @param newSsoSessionId new SSO sessionId
+ * @throws EaafSsoException In case of an internal error
+ */
+ void createNewSsoSession(IRequest pendingReq, String newSsoSessionId) throws EaafSsoException;
+
+ /**
+ * Updateing an existing SSO session in database.
+ *
+ * @param pendingReq current pending request
+ * @param newSsoSessionId new SSO session Id
+ * @param sloInformation SLO information container
+ * @throws EaafSsoException In case of an internal error
+ */
+ void updateSsoSession(IRequest pendingReq, String newSsoSessionId, SloInformationInterface sloInformation)
+ throws EaafSsoException;
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/data/IAuthProcessDataContainer.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/data/IAuthProcessDataContainer.java
index 17ec6445..6c7292ac 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/data/IAuthProcessDataContainer.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/data/IAuthProcessDataContainer.java
@@ -1,185 +1,189 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.idp.auth.data;
import java.util.Date;
import java.util.Map;
-import at.gv.egiz.eaaf.core.exceptions.EAAFStorageException;
+import at.gv.egiz.eaaf.core.exceptions.EaafStorageException;
public interface IAuthProcessDataContainer {
- /**
- * Returns the issuing time of the AUTH-Block SAML assertion.
- *
- * @return The issuing time of the AUTH-Block SAML assertion.
- */
- String getIssueInstant();
-
- /**
- * Sets the issuing time of the AUTH-Block SAML assertion.
- *
- * @param issueInstant
- * The issueInstant to set.
- */
- void setIssueInstant(String issueInstant);
-
- /**
- * Indicate if the authentication process is finished
- *
- * @return
- */
- boolean isAuthenticated();
-
- /**
- * Mark the authentication as authenticated, which means that the authenication process is completed
- *
- * @param authenticated
- */
- void setAuthenticated(boolean authenticated);
-
- /**
- * Returns the identityLink.
- *
- * @return IdentityLink
- */
- @Deprecated
- IIdentityLink getIdentityLink();
-
- /**
- * Sets the identityLink.
- *
- * @param identityLink
- * The identityLink to set
- */
- @Deprecated
- void setIdentityLink(IIdentityLink identityLink);
-
-
- /**
- * Flag marks the authentication process as new E-ID process
- *
- * @return true if E-ID process, otherwise false
- */
- boolean isEIDProcess();
-
-
- /**
- * Set the flag to make the process as new E-ID process
- *
- * @param value true if new E-ID process, otherwise false
- */
- void setEIDProcess(boolean value);
-
- /**
- * Indicate that mandates was used in this auth. process
- *
- * @return
- */
- boolean isMandateUsed();
-
- /**
- * Mark that mandates was used in this auth. process
- *
- * @param useMandates
- */
- void setUseMandates(boolean useMandates);
-
- /**
- * Indicate that the auth. process was performed by a foreigner
- *
- * @return
- */
- boolean isForeigner();
-
- /**
- * Mark that the auth. process was done by a foreigner
- *
- * @param isForeigner
- */
- void setForeigner(boolean isForeigner);
-
- /**
- * Indicate that the auth. process was performed by an official representatives
- *
- * @return is official representatives
- */
- boolean isOW();
-
- /**
- * Mark that the auth. process was done by an official representatives
- *
- */
- void setOW(boolean isOW);
-
- /**
- * eIDAS QAA level
- *
- * @return the qAALevel
- */
- String getQAALevel();
-
- /**
- * set QAA level in eIDAS form
- *
- * @param qAALevel the qAALevel to set
- */
- void setQAALevel(String qAALevel);
-
- /**
- * @return the sessionCreated
- */
- Date getSessionCreated();
-
- Map<String, Object> getGenericSessionDataStorage();
-
- /**
- * Returns a generic session-data object with is stored with a specific identifier
- *
- * @param key The specific identifier of the session-data object
- * @return The session-data object or null if no data is found with this key
- */
- Object getGenericDataFromSession(String key);
-
- /**
- * Returns a generic session-data object with is stored with a specific identifier
- *
- * @param key The specific identifier of the session-data object
- * @param clazz The class type which is stored with this key
- * @return The session-data object or null if no data is found with this key
- */
- <T> T getGenericDataFromSession(String key, Class<T> clazz);
-
- /**
- * Store a generic data-object to session with a specific identifier
- *
- * @param key Identifier for this data-object
- * @param object Generic data-object which should be stored. This data-object had to be implement the 'java.io.Serializable' interface
- * @throws EAAFStorageException Error message if the data-object can not stored to generic session-data storage
- */
- void setGenericDataToSession(String key, Object object) throws EAAFStorageException;
+ /**
+ * Returns the issuing time of the AUTH-Block SAML assertion.
+ *
+ * @return The issuing time of the AUTH-Block SAML assertion.
+ */
+ String getIssueInstant();
+
+ /**
+ * Sets the issuing time of the AUTH-Block SAML assertion.
+ *
+ * @param issueInstant The issueInstant to set.
+ */
+ void setIssueInstant(String issueInstant);
+
+ /**
+ * Sets the issuing time of the AUTH-Block SAML assertion.
+ *
+ * @param issueInstant The issueInstant to set.
+ */
+ void setIssueInstant(Date issueInstant);
+
+ /**
+ * Indicate if the authentication process is finished.
+ *
+ * @return
+ */
+ boolean isAuthenticated();
+
+ /**
+ * Mark the authentication as authenticated, which means that the authenication
+ * process is completed.
+ *
+ * @param authenticated If true, the authentication-process is marked as finished
+ */
+ void setAuthenticated(boolean authenticated);
+
+ /**
+ * Returns the identityLink.
+ *
+ * @return IdentityLink
+ */
+ @Deprecated
+ IIdentityLink getIdentityLink();
+
+ /**
+ * Sets the identityLink.
+ *
+ * @param identityLink The identityLink to set
+ */
+ @Deprecated
+ void setIdentityLink(IIdentityLink identityLink);
+
+ /**
+ * Flag marks the authentication process as new E-ID process.
+ *
+ * @return true if E-ID process, otherwise false
+ */
+ boolean isEidProcess();
+
+ /**
+ * Set the flag to make the process as new E-ID process.
+ *
+ * @param value true if new E-ID process, otherwise false
+ */
+ void setEidProcess(boolean value);
+
+ /**
+ * Indicate that mandates was used in this auth. process
+ *
+ * @return
+ */
+ boolean isMandateUsed();
+
+ /**
+ * Mark that mandates was used in this auth. process
+ *
+ * @param useMandates true, if mandates are used
+ */
+ void setUseMandates(boolean useMandates);
+
+ /**
+ * Indicate that the auth. process was performed by a foreigner
+ *
+ * @return
+ */
+ boolean isForeigner();
+
+ /**
+ * Mark that the auth. process was done by a foreigner
+ *
+ * @param isForeigner true, if citizenn is a foreigner
+ */
+ void setForeigner(boolean isForeigner);
+
+ /**
+ * Indicate that the auth. process was performed by an official representatives
+ *
+ * @return is official representatives
+ */
+ boolean isOW();
+
+ /**
+ * Mark that the auth. process was done by an official representatives
+ *
+ */
+ void setOW(boolean isOW);
+
+ /**
+ * eIDAS QAA level.
+ *
+ * @return the qAALevel
+ */
+ String getQaaLevel();
+
+ /**
+ * set QAA level in eIDAS form.
+ *
+ * @param qaaLevel the qAALevel to set
+ */
+ void setQaaLevel(String qaaLevel);
+
+ /**
+ * Get Timestamp when session was created.
+ *
+ * @return the sessionCreated
+ */
+ Date getSessionCreated();
+
+ Map<String, Object> getGenericSessionDataStorage();
+
+ /**
+ * Returns a generic session-data object with is stored with a specific
+ * identifier.
+ *
+ * @param key The specific identifier of the session-data object
+ * @return The session-data object or null if no data is found with this key
+ */
+ Object getGenericDataFromSession(String key);
+
+ /**
+ * Returns a generic session-data object with is stored with a specific
+ * identifier.
+ *
+ * @param key The specific identifier of the session-data object
+ * @param clazz The class type which is stored with this key
+ * @return The session-data object or null if no data is found with this key
+ */
+ <T> T getGenericDataFromSession(String key, Class<T> clazz);
+
+ /**
+ * Store a generic data-object to session with a specific identifier.
+ *
+ * @param key Identifier for this data-object
+ * @param object Generic data-object which should be stored. This data-object
+ * had to be implement the 'java.io.Serializable' interface
+ * @throws EaafStorageException Error message if the data-object can not stored
+ * to generic session-data storage
+ */
+ void setGenericDataToSession(String key, Object object) throws EaafStorageException;
+
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/data/IIdentityLink.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/data/IIdentityLink.java
index df71b30a..74c82181 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/data/IIdentityLink.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/data/IIdentityLink.java
@@ -1,29 +1,22 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.idp.auth.data;
import java.io.IOException;
@@ -34,149 +27,171 @@ import javax.xml.transform.TransformerException;
import org.w3c.dom.Element;
/**
+ * Deprecated IdentityLink interface.
+ *
* @author tlenz
*
*/
public interface IIdentityLink {
- /**
- * Returns the dateOfBirth.
- * @return Calendar
- */
- String getDateOfBirth();
-
- /**
- * Returns the familyName.
- * @return String
- */
- String getFamilyName();
-
- /**
- * Returns the givenName.
- * @return String
- */
- String getGivenName();
-
- /**
- * Return the name as 'givenName + " " + familyName'<br>
- * This method should be used any more. Use getFamilyName() and getGivenName() separately.
- *
- * @return The name.
- */
- @Deprecated
- String getName();
-
- /**
- * Returns the identificationValue.
- * <code>"identificationValue"</code> is the translation of <code>"Stammzahl"</code>.
- * @return String
- */
- String getIdentificationValue();
-
- /**
- * Returns the identificationType.
- * <code>"identificationType"</code> type of the identificationValue in the IdentityLink.
- * @return String
- */
- String getIdentificationType();
-
- /**
- * Sets the dateOfBirth.
- * @param dateOfBirth The dateOfBirth to set
- */
- void setDateOfBirth(String dateOfBirth);
-
- /**
- * Sets the familyName.
- * @param familyName The familyName to set
- */
- void setFamilyName(String familyName);
-
- /**
- * Sets the givenName.
- * @param givenName The givenName to set
- */
- void setGivenName(String givenName);
-
- /**
- * Sets the identificationValue.
- * <code>"identificationValue"</code> is the translation of <code>"Stammzahl"</code>.
- * @param identificationValue The identificationValue to set
- */
- void setIdentificationValue(String identificationValue);
-
- /**
- * Sets the Type of the identificationValue.
- * @param identificationType The type of identificationValue to set
- */
- void setIdentificationType(String identificationType);
-
- /**
- * Returns the samlAssertion.
- * @return Element
- */
- Element getSamlAssertion();
-
- /**
- * Returns the samlAssertion.
- * @return Element
- */
- String getSerializedSamlAssertion();
-
- /**
- * Sets the samlAssertion and the serializedSamlAssertion.
- * @param samlAssertion The samlAssertion to set
- */
- void setSamlAssertion(Element samlAssertion) throws TransformerException, IOException;
-
- /**
- * Returns the dsigReferenceTransforms.
- * @return Element[]
- */
- Element[] getDsigReferenceTransforms();
-
- /**
- * Sets the dsigReferenceTransforms.
- * @param dsigReferenceTransforms The dsigReferenceTransforms to set
- */
- void setDsigReferenceTransforms(Element[] dsigReferenceTransforms);
-
- /**
- * Returns the publicKey.
- * @return PublicKey[]
- */
- PublicKey[] getPublicKey();
-
- /**
- * Sets the publicKey.
- * @param publicKey The publicKey to set
- */
- void setPublicKey(PublicKey[] publicKey);
-
- /**
- * Returns the prPerson.
- * @return Element
- */
- Element getPrPerson();
-
- /**
- * Sets the prPerson.
- * @param prPerson The prPerson to set
- */
- void setPrPerson(Element prPerson);
-
- /**
- * Returns the issuing time of the identity link SAML assertion.
- *
- * @return The issuing time of the identity link SAML assertion.
- */
- String getIssueInstant();
-
- /**
- * Sets the issuing time of the identity link SAML assertion.
- *
- * @param issueInstant The issueInstant to set.
- */
- void setIssueInstant(String issueInstant);
-
-} \ No newline at end of file
+ /**
+ * Returns the dateOfBirth.
+ *
+ * @return Calendar
+ */
+ String getDateOfBirth();
+
+ /**
+ * Returns the familyName.
+ *
+ * @return String
+ */
+ String getFamilyName();
+
+ /**
+ * Returns the givenName.
+ *
+ * @return String
+ */
+ String getGivenName();
+
+ /**
+ * Return the name as 'givenName + " " + familyName'<br>
+ * This method should be used any more. Use getFamilyName() and getGivenName()
+ * separately.
+ *
+ * @return The name.
+ */
+ @Deprecated
+ String getName();
+
+ /**
+ * Returns the identificationValue. <code>"identificationValue"</code> is the
+ * translation of <code>"Stammzahl"</code>.
+ *
+ * @return String
+ */
+ String getIdentificationValue();
+
+ /**
+ * Returns the identificationType. <code>"identificationType"</code> type of the
+ * identificationValue in the IdentityLink.
+ *
+ * @return String
+ */
+ String getIdentificationType();
+
+ /**
+ * Sets the dateOfBirth.
+ *
+ * @param dateOfBirth The dateOfBirth to set
+ */
+ void setDateOfBirth(String dateOfBirth);
+
+ /**
+ * Sets the familyName.
+ *
+ * @param familyName The familyName to set
+ */
+ void setFamilyName(String familyName);
+
+ /**
+ * Sets the givenName.
+ *
+ * @param givenName The givenName to set
+ */
+ void setGivenName(String givenName);
+
+ /**
+ * Sets the identificationValue. <code>"identificationValue"</code> is the
+ * translation of <code>"Stammzahl"</code>.
+ *
+ * @param identificationValue The identificationValue to set
+ */
+ void setIdentificationValue(String identificationValue);
+
+ /**
+ * Sets the Type of the identificationValue.
+ *
+ * @param identificationType The type of identificationValue to set
+ */
+ void setIdentificationType(String identificationType);
+
+ /**
+ * Returns the samlAssertion.
+ *
+ * @return Element
+ */
+ Element getSamlAssertion();
+
+ /**
+ * Returns the samlAssertion.
+ *
+ * @return Element
+ */
+ String getSerializedSamlAssertion();
+
+ /**
+ * Sets the samlAssertion and the serializedSamlAssertion.
+ *
+ * @param samlAssertion The samlAssertion to set
+ */
+ void setSamlAssertion(Element samlAssertion) throws TransformerException, IOException;
+
+ /**
+ * Returns the dsigReferenceTransforms.
+ *
+ * @return Element[]
+ */
+ Element[] getDsigReferenceTransforms();
+
+ /**
+ * Sets the dsigReferenceTransforms.
+ *
+ * @param dsigReferenceTransforms The dsigReferenceTransforms to set
+ */
+ void setDsigReferenceTransforms(Element[] dsigReferenceTransforms);
+
+ /**
+ * Returns the publicKey.
+ *
+ * @return PublicKey[]
+ */
+ PublicKey[] getPublicKey();
+
+ /**
+ * Sets the publicKey.
+ *
+ * @param publicKey The publicKey to set
+ */
+ void setPublicKey(PublicKey[] publicKey);
+
+ /**
+ * Returns the prPerson.
+ *
+ * @return Element
+ */
+ Element getPrPerson();
+
+ /**
+ * Sets the prPerson.
+ *
+ * @param prPerson The prPerson to set
+ */
+ void setPrPerson(Element prPerson);
+
+ /**
+ * Returns the issuing time of the identity link SAML assertion.
+ *
+ * @return The issuing time of the identity link SAML assertion.
+ */
+ String getIssueInstant();
+
+ /**
+ * Sets the issuing time of the identity link SAML assertion.
+ *
+ * @param issueInstant The issueInstant to set.
+ */
+ void setIssueInstant(String issueInstant);
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/modules/AuthModule.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/modules/AuthModule.java
index 7f5eef06..54a50920 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/modules/AuthModule.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/modules/AuthModule.java
@@ -1,69 +1,67 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.idp.auth.modules;
import at.gv.egiz.eaaf.core.api.IRequest;
import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
/**
- * Provides metadata of a certain module. Uses for module discovery and process selection.
+ * 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();
+ /**
+ * Returns the priority of the module. The priority defines the order of the
+ * respective module within the chain of discovered modules. Higher priorized
+ * modules are asked before lower priorized modules for a process that they can
+ * handle.
+ * <p/>
+ * Internal default modules are priorized neutral ({@code 0}. Use a higher
+ * priority ({@code 1...Integer.MAX_VALUE}) in order to have your module(s)
+ * priorized or a lower priority ({@code Integer.MIN_VALUE...-1}) in order to
+ * put your modules behind default modules.
+ *
+ * @return the priority of the module.
+ */
+ int getPriority();
- /**
- * Selects a process (description), referenced by its unique id, which is able to perform authentication with the
- * given {@link ExecutionContext}. Returns {@code null} if no appropriate process (description) was available within
- * this module.
- *
- * @param context
- * an ExecutionContext for a process.
- * @param pendingReq the current processed pending request
- * @return the process-ID of a process which is able to work with the given ExecutionContext, or {@code null}.
- */
- String selectProcess(ExecutionContext context, IRequest pendingReq);
+ /**
+ * Selects a process (description), referenced by its unique id, which is able
+ * to perform authentication with the given {@link ExecutionContext}. Returns
+ * {@code null} if no appropriate process (description) was available within
+ * this module.
+ *
+ * @param context an ExecutionContext for a process.
+ * @param pendingReq the current processed pending request
+ * @return the process-ID of a process which is able to work with the given
+ * ExecutionContext, or {@code null}.
+ */
+ String selectProcess(ExecutionContext context, IRequest pendingReq);
- /**
- * 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();
+ /**
+ * 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/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/services/IProtocolAuthenticationService.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/services/IProtocolAuthenticationService.java
index de5eb036..86d15d5b 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/services/IProtocolAuthenticationService.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/auth/services/IProtocolAuthenticationService.java
@@ -1,25 +1,22 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+
package at.gv.egiz.eaaf.core.api.idp.auth.services;
import java.io.IOException;
@@ -29,61 +26,70 @@ import javax.servlet.http.HttpServletResponse;
import at.gv.egiz.eaaf.core.api.IRequest;
import at.gv.egiz.eaaf.core.api.logging.IStatisticLogger;
-import at.gv.egiz.eaaf.core.exceptions.EAAFException;
+import at.gv.egiz.eaaf.core.exceptions.EaafException;
public interface IProtocolAuthenticationService {
- public String PARAM_GUI_ERROMSG = "errorMsg";
- public String PARAM_GUI_ERRORCODE = "errorCode";
- public String PARAM_GUI_ERRORCODEPARAMS = "errorParams";
- public String PARAM_GUI_ERRORSTACKTRACE = "stacktrace";
-
-
- /**
- * Initialize an authentication process for this protocol request
- *
- * @param httpReq HttpServletRequest
- * @param httpResp HttpServletResponse
- * @param protocolRequest Authentication request which is actually in process
- * @throws IOException
- * @throws EAAFException
- */
- void performAuthentication(HttpServletRequest req, HttpServletResponse resp, IRequest pendingReq)
- throws IOException, EAAFException;
+ String PARAM_GUI_ERROMSG = "errorMsg";
+ String PARAM_GUI_ERRORCODE = "errorCode";
+ String PARAM_GUI_ERRORCODEPARAMS = "errorParams";
+ String PARAM_GUI_ERRORSTACKTRACE = "stacktrace";
+
+ /**
+ * Initialize an authentication process for this protocol request.
+ *
+ * @param httpReq HttpServletRequest
+ * @param httpResp HttpServletResponse
+ * @param pendingReq Authentication request which is actually in process
+ * @throws IOException In case of a communication error
+ * @throws EaafException In case of an application error
+ */
+ void performAuthentication(HttpServletRequest httpReq, HttpServletResponse httpResp, IRequest pendingReq)
+ throws IOException, EaafException;
- /**
- * Finalize the requested protocol operation
- *
- * @param httpReq HttpServletRequest
- * @param httpResp HttpServletResponse
- * @param protocolRequest Authentication request which is actually in process
- * @throws IOException If response can not be written into {@link HttpServletResponse}
- * @throws EAAFException If an internal error occur
- */
- void finalizeAuthentication(HttpServletRequest req, HttpServletResponse resp, IRequest pendingReq) throws EAAFException, IOException;
+ /**
+ * Finalize the requested protocol operation.
+ *
+ * @param httpReq HttpServletRequest
+ * @param httpResp HttpServletResponse
+ * @param pendingReq Authentication request which is actually in process
+ * @throws IOException If response can not be written into
+ * {@link HttpServletResponse}
+ * @throws EaafException If an internal error occur
+ */
+ void finalizeAuthentication(HttpServletRequest httpReq, HttpServletResponse httpResp, IRequest pendingReq)
+ throws EaafException, IOException;
- /**
- * @param throwable Exception that should be handled
- * @param req Current open http request as {@link HttpServletRequest}
- * @param resp Current open http response as {@link HttpServletResponse}
- * @param pendingReq Authentication request which is actually in process
- * @throws IOException If response can not be written into {@link HttpServletResponse}
- * @throws EAAFException If an internal error occur
- */
- void buildProtocolSpecificErrorResponse(Throwable throwable, HttpServletRequest req, HttpServletResponse resp,
- IRequest pendingReq) throws IOException, EAAFException;
+ /**
+ * Build protocol-specific error message.
+ *
+ * @param throwable Exception that should be handled
+ * @param req Current open http request as {@link HttpServletRequest}
+ * @param resp Current open http response as {@link HttpServletResponse}
+ * @param pendingReq Authentication request which is actually in process
+ * @throws IOException If response can not be written into
+ * {@link HttpServletResponse}
+ * @throws EaafException If an internal error occur
+ */
+ void buildProtocolSpecificErrorResponse(Throwable throwable, HttpServletRequest req, HttpServletResponse resp,
+ IRequest pendingReq) throws IOException, EaafException;
- /**
- * Handles all exceptions with no pending request.
- * Therefore, the error is written to the users browser
- *
- * @param throwable Exception that should be handled
- * @param req Current open http request as {@link HttpServletRequest}
- * @param resp Current open http response as {@link HttpServletResponse}
- * @param writeExceptionToStatisticLog if <code>true</code>, the exception get logged into {@link IStatisticLogger}
- * @throws IOException If response can not be written into {@link HttpServletResponse}
- * @throws EAAFException If an internal error occure
- */
- void handleErrorNoRedirect(Throwable throwable, HttpServletRequest req, HttpServletResponse resp, boolean writeExceptionToStatisticLog) throws IOException, EAAFException;
+ /**
+ * Handles all exceptions with no pending request. Therefore, the error is
+ * written to the users browser
+ *
+ * @param throwable Exception that should be handled
+ * @param req Current open http request as
+ * {@link HttpServletRequest}
+ * @param resp Current open http response as
+ * {@link HttpServletResponse}
+ * @param writeExceptionToStatisticLog if <code>true</code>, the exception get
+ * logged into {@link IStatisticLogger}
+ * @throws IOException If response can not be written into
+ * {@link HttpServletResponse}
+ * @throws EaafException If an internal error occure
+ */
+ void handleErrorNoRedirect(Throwable throwable, HttpServletRequest req, HttpServletResponse resp,
+ boolean writeExceptionToStatisticLog) throws IOException, EaafException;
-} \ No newline at end of file
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExecutionContext.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExecutionContext.java
index 319db027..68584dc9 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExecutionContext.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/process/ExecutionContext.java
@@ -1,29 +1,22 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.idp.process;
import java.io.Serializable;
@@ -31,74 +24,78 @@ import java.util.Set;
/**
* Encapsulates data needed for or provided by task execution.
- *
+ *
* @author tknall
- *
+ *
*/
public interface ExecutionContext extends Serializable {
- /**
- * Flag that indicates that a Task canceled the current {@link ExecutionContext}
- *
- * @return true if the process-flow was marked as canceled, otherwise false
- */
- boolean isProcessCancelled();
-
- /**
- * Mark this {@link ExecutionContext} as cancelled
- *
- * The process-flow engine will stop execution when the task that sets this flag is finished
- *
- */
- void setCanceleProcessFlag();
-
- /**
- * Returns the identifier of underlying process instance.
- *
- * @return The identifier of the process instance.
- */
- String getProcessInstanceId();
+ /**
+ * Flag that indicates that a Task canceled the current
+ * {@link ExecutionContext}.
+ *
+ * @return true if the process-flow was marked as canceled, otherwise false
+ */
+ boolean isProcessCancelled();
+
+ /**
+ * Mark this {@link ExecutionContext} as cancelled.
+ *
+ * <p>
+ * The process-flow engine will stop execution when the task that sets this flag
+ * is finished
+ * </p>
+ */
+ void setCanceleProcessFlag();
+
+ /**
+ * 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);
- /**
- * 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);
- /**
- * 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);
- /**
- * 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);
+ /**
+ * 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();
+ /**
+ * Returns an unmodifiable set containing the stored keys.
+ *
+ * @return The keyset (never {@code null}).
+ */
+ Set<String> keySet();
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/ISLOInformationContainer.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/ISLOInformationContainer.java
deleted file mode 100644
index 419765c4..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/ISLOInformationContainer.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/**
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.eaaf.core.api.idp.slo;
-
-import java.io.Serializable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import at.gv.egiz.eaaf.core.api.IRequest;
-
-/**
- * @author tlenz
- *
- */
-public interface ISLOInformationContainer extends Serializable {
-
- boolean hasFrontChannelOA();
-
- Set<Entry<String, SLOInformationInterface>> getFrontChannelOASessionDescriptions();
-
- void removeFrontChannelOA(String oaID);
-
- Iterator<String> getNextBackChannelOA();
-
- SLOInformationInterface getBackChannelOASessionDescripten(String oaID);
-
- void removeBackChannelOA(String oaID);
-
- /**
- * @return the sloRequest
- */
- IRequest getSloRequest();
-
- /**
- * @param sloRequest the sloRequest to set
- */
- void setSloRequest(IRequest sloRequest);
-
- /**
- * @return the sloFailedOAs
- */
- List<String> getSloFailedOAs();
-
- void putFailedOA(String oaID);
-
- public String getTransactionID();
-
- public String getSessionID();
-} \ No newline at end of file
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/ISloInformationContainer.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/ISloInformationContainer.java
new file mode 100644
index 00000000..9338da43
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/ISloInformationContainer.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.api.idp.slo;
+
+import java.io.Serializable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map.Entry;
+import java.util.Set;
+
+import at.gv.egiz.eaaf.core.api.IRequest;
+
+/**
+ * Container object to process Single Log-Out operations.
+ *
+ * @author tlenz
+ *
+ */
+public interface ISloInformationContainer extends Serializable {
+
+ boolean hasFrontChannelOA();
+
+ Set<Entry<String, SloInformationInterface>> getFrontChannelOaSessionDescriptions();
+
+ void removeFrontChannelOA(String oaID);
+
+ Iterator<String> getNextBackChannelOA();
+
+ SloInformationInterface getBackChannelOaSessionDescripten(String oaID);
+
+ void removeBackChannelOA(String oaID);
+
+ /**
+ * Single Log-out request that starts the process.
+ *
+ * @return the sloRequest
+ */
+ IRequest getSloRequest();
+
+ /**
+ * Single Log-out request that starts the process.
+ *
+ * @param sloRequest the sloRequest to set
+ */
+ void setSloRequest(IRequest sloRequest);
+
+ /**
+ * List of Service-provider Ids for which SLO failed.
+ *
+ * @return the sloFailedOAs
+ */
+ List<String> getSloFailedOAs();
+
+ void putFailedOA(String oaID);
+
+ String getTransactionID();
+
+ String getSessionID();
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/SLOInformationInterface.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/SLOInformationInterface.java
deleted file mode 100644
index f17745f3..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/SLOInformationInterface.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/**
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.eaaf.core.api.idp.slo;
-
-/**
- * @author tlenz
- *
- */
-public interface SLOInformationInterface{
-
-
- /**
- * get AssertionID which was used for Service Provider Single LogOut request
- *
- * @return
- * SessionID (SessionIndex in case of SAML2)
- */
- public String getSessionIndex();
-
- /**
- * get user identifier which was used
- *
- * @return
- * bPK / wbPK (nameID in case of SAML2)
- */
- public String getUserNameIdentifier();
-
-
- /**
- * get protocol type which was used for authentication
- *
- * @return
- * return authentication protocol type
- */
- public String getProtocolType();
-
- /**
- * @return
- */
- public String getUserNameIDFormat();
-
- /**
- * Get the unique entityID of this Service-Provider
- *
- * @return unique identifier, but never null
- */
- public String getSpEntityID();
-
- public String getAuthURL();
-
- public String getServiceURL();
-
- public String getBinding();
-
- public void setUserNameIdentifier(String subjectNameId);
-
- public void setNameIDFormat(String format);
-
- public void setSessionIndex(String sessionIndex);
-
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/SloInformationInterface.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/SloInformationInterface.java
new file mode 100644
index 00000000..79fb18e3
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/idp/slo/SloInformationInterface.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.api.idp.slo;
+
+/**
+ * Container that holds information for Single Log-Out.
+ *
+ * @author tlenz
+ *
+ */
+public interface SloInformationInterface {
+
+ /**
+ * get AssertionID which was used for Service Provider Single LogOut request.
+ *
+ * @return SessionID (SessionIndex in case of SAML2)
+ */
+ String getSessionIndex();
+
+ /**
+ * get user identifier which was used.
+ *
+ * @return bPK / wbPK (nameID in case of SAML2)
+ */
+ String getUserNameIdentifier();
+
+ /**
+ * get protocol type which was used for authentication.
+ *
+ * @return return authentication protocol type
+ */
+ String getProtocolType();
+
+ /**
+ * Format of the User NameId.
+ *
+ * @return
+ */
+ String getUserNameIdFormat();
+
+ /**
+ * Get the unique entityID of this Service-Provider.
+ *
+ * @return unique identifier, but never null
+ */
+ String getSpEntityID();
+
+ String getAuthUrl();
+
+ String getServiceUrl();
+
+ String getBinding();
+
+ void setUserNameIdentifier(String subjectNameId);
+
+ void setNameIdFormat(String format);
+
+ void setSessionIndex(String sessionIndex);
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IMessageSourceLocation.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IMessageSourceLocation.java
new file mode 100644
index 00000000..b517568e
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IMessageSourceLocation.java
@@ -0,0 +1,13 @@
+package at.gv.egiz.eaaf.core.api.logging;
+
+import java.util.List;
+
+public interface IMessageSourceLocation {
+
+ /**
+ * Get the location of a module specific message source.
+ *
+ * @return
+ */
+ List<String> getMessageSourceLocation();
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IRevisionLogger.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IRevisionLogger.java
index 9ef17684..9a32e27b 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IRevisionLogger.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IRevisionLogger.java
@@ -1,62 +1,63 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.logging;
import at.gv.egiz.eaaf.core.api.IRequest;
-import at.gv.egiz.eaaf.core.api.idp.ISPConfiguration;
+import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
public interface IRevisionLogger {
-
-
- //TODO:
- public static final int AUTHPROTOCOL_TYPE = 3000;
-
- void logEvent(ISPConfiguration oaConfig, int eventCode, String message);
-
- void logEvent(IRequest pendingRequest, int eventCode);
-
- void logEvent(IRequest pendingRequest, int eventCode, String message);
-
- /**
- * @param sessionCreated
- * @param uniqueSessionIdentifier
- */
- void logEvent(int eventCode, String message);
-
- /**
- * @param sessionCreated
- * @param uniqueSessionIdentifier
- */
- void logEvent(String sessionID, String transactionID, int eventCode, String message);
-
- /**
- * @param sessionCreated
- * @param uniqueSessionIdentifier
- */
- void logEvent(String sessionID, String transactionID, int eventCode);
-
-} \ No newline at end of file
+
+ // TODO:
+ int AUTHPROTOCOL_TYPE = 3000;
+
+ void logEvent(ISpConfiguration oaConfig, int eventCode, String message);
+
+ void logEvent(IRequest pendingRequest, int eventCode);
+
+ void logEvent(IRequest pendingRequest, int eventCode, String message);
+
+ /**
+ * Log event.
+ *
+ * @param eventCode EventCode to Log
+ * @param message Message
+ */
+ void logEvent(int eventCode, String message);
+
+ /**
+ * Log event.
+ *
+ * @param sessionID Id of this session
+ * @param transactionID Id of this trasaction
+ * @param eventCode EventCode to Log
+ * @param message Message
+ */
+ void logEvent(String sessionID, String transactionID, int eventCode, String message);
+
+ /**
+ * Log event.
+ *
+ * @param sessionID Id of this session
+ * @param transactionID Id of this trasaction
+ * @param eventCode EventCode to Log
+ */
+ void logEvent(String sessionID, String transactionID, int eventCode);
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IStatisticLogger.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IStatisticLogger.java
index dfafe091..d190038a 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IStatisticLogger.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/logging/IStatisticLogger.java
@@ -1,44 +1,35 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.logging;
import at.gv.egiz.eaaf.core.api.IRequest;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
+public interface IStatisticLogger {
+ void logSuccessOperation(IRequest protocolRequest, IAuthData authData, boolean isSsoSession);
+
+ void logErrorOperation(Throwable throwable);
+
+ void logErrorOperation(Throwable throwable, IRequest errorRequest);
+
+ void internalTesting() throws Exception;
-public interface IStatisticLogger {
-
- public void logSuccessOperation(IRequest protocolRequest, IAuthData authData, boolean isSSOSession);
-
- public void logErrorOperation(Throwable throwable);
-
- public void logErrorOperation(Throwable throwable, IRequest errorRequest);
-
- public void internalTesting() throws Exception;
-
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/storage/ITransactionStorage.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/storage/ITransactionStorage.java
index ad424329..754ff9ac 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/storage/ITransactionStorage.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/storage/ITransactionStorage.java
@@ -1,138 +1,134 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.api.storage;
import java.util.Date;
import java.util.List;
-import at.gv.egiz.eaaf.core.exceptions.EAAFException;
-import at.gv.egiz.eaaf.core.exceptions.EAAFStorageException;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import at.gv.egiz.eaaf.core.exceptions.EaafException;
+import at.gv.egiz.eaaf.core.exceptions.EaafStorageException;
/**
+ * Interface to store arbitrary data.
+ *
* @author tlenz
*
*/
public interface ITransactionStorage {
- /**
- * Check if transaction storage contains a data object with a specific key
- *
- * @param key Key, which identifies a data object
- * @return true if key is found, otherwise false
- */
- public boolean containsKey(String key);
-
- /**
- * Store a data object with a key to transaction storage
- *
- * @param key Id which identifiers the data object
- * @param value Data object which should be stored.
- * This data must implement the <code>java.io.Serializable</code> interface
- * @param timeout_ms Defines the period of time a data object is kept within the storage
- * @throws EAAFStorageException In case of store operation failed
- */
- public void put(String key, Object value, int timeout_ms) throws EAAFException;
-
- /**
- * Get a data object from transaction storage
- *
- * @param key key Id which identifiers the data object
- * @return The transaction-data object, or null
- * @throws EAAFStorageException In case of load operation failed
- */
- public Object get(String key) throws EAAFException;
-
- /**
- * Get a data object from transaction storage
- *
- * @param key Id which identifiers the data object
- * @param clazz The class type which is stored with this key
- * @return The transaction-data object from type class, or null
- * @throws EAAFStorageException In case of load operation failed
- */
- public <T> T get(String key, final Class<T> clazz) throws EAAFException;
-
- /**
- * Get a data object from transaction storage
- *
- * @param key Id which identifiers the data object
- * @param clazz The class type which is stored with this key
- * @param Data-object timeout in [ms]
- * @return The transaction-data object from type class, or null
- * @throws EAAFStorageException In case of load operation failed
- */
- public <T> T get(String key, final Class<T> clazz, long dataTimeOut) throws EAAFException;
-
-
- /**
- * Change the key of a data object and store it under the new key
- *
- * @param oldKey Old key of the data object
- * @param newKey New key, which should be used to store the data object
- * @param value Data object which should be stored
- * @throws EAAFStorageException In case of store operation failed
- */
- public void changeKey(String oldKey, String newKey, Object value) throws EAAFException;
-
- /**
- * Remove a data object from transaction storage
- *
- * @param key Id which identifiers the data object
- */
- public void remove(String key);
-
- /**
- * Get all entries for Clean-up the transaction storage
- *
- * @param now Current time
- * @param dataTimeOut Data-object timeout in [ms]
- * @return List of entry-keys which as a timeout
- */
- public List<String> clean(Date now, long dataTimeOut);
-
-
- /**
- * Get a raw object from storage by using this key
- *
- * @param key
- * @return
- * @throws EAAFException
- */
- public Object getRaw(String key) throws EAAFException;
-
-
- /**
- * Set a raw object to storage
- *
- * @param key
- * @param element
- * @throws EAAFException
- */
- public void putRaw(String key, Object element) throws EAAFException;
-
-
+ /**
+ * Check if transaction storage contains a data object with a specific key.
+ *
+ * @param key Key, which identifies a data object
+ * @return true if key is found, otherwise false
+ */
+ boolean containsKey(String key);
+
+ /**
+ * Store a data object with a key to transaction storage.
+ *
+ * @param key Id which identifiers the data object
+ * @param value Data object which should be stored. This data must implement
+ * the <code>java.io.Serializable</code> interface
+ * @param timeoutMs Defines the period of time a data object is kept within the
+ * storage
+ * @throws EaafStorageException In case of store operation failed
+ */
+ void put(String key, Object value, int timeoutMs) throws EaafException;
+
+ /**
+ * Get a data object from transaction storage.
+ *
+ * @param key key Id which identifiers the data object
+ * @return The transaction-data object, or null
+ * @throws EaafStorageException In case of load operation failed
+ */
+ Object get(String key) throws EaafException;
+
+ /**
+ * Get a data object from transaction storage.
+ *
+ * @param key Id which identifiers the data object
+ * @param clazz The class type which is stored with this key
+ * @return The transaction-data object from type class, or null
+ * @throws EaafStorageException In case of load operation failed
+ */
+ <T> T get(String key, final Class<T> clazz) throws EaafException;
+
+ /**
+ * Get a data object from transaction storage.
+ *
+ * @param key Id which identifiers the data object
+ * @param clazz The class type which is stored with this key
+ * @param dataTimeOut Data-object timeout in [ms]
+ * @return The transaction-data object from type class, or null
+ * @throws EaafStorageException In case of load operation failed
+ */
+ <T> T get(String key, final Class<T> clazz, long dataTimeOut) throws EaafException;
+
+ /**
+ * Change the key of a data object and store it under the new key.
+ *
+ * @param oldKey Old key of the data object
+ * @param newKey New key, which should be used to store the data object
+ * @param value Data object which should be stored
+ * @throws EaafStorageException In case of store operation failed
+ */
+ void changeKey(String oldKey, String newKey, Object value) throws EaafException;
+
+ /**
+ * Remove a data object from transaction storage.
+ *
+ * @param key Id which identifiers the data object
+ */
+ void remove(String key);
+
+ /**
+ * Get all entries for Clean-up the transaction storage.
+ *
+ * @param now Current time
+ * @param dataTimeOut Data-object timeout in [ms]
+ * @return List of entry-keys which as a timeout
+ */
+ List<String> clean(Date now, long dataTimeOut);
+
+ /**
+ * Get a raw object from storage by using this key.
+ *
+ * @param key Storagekey
+ * @return Object stored with this key, or null
+ * @throws EaafException In case of a storage error
+ */
+ @Nullable
+ Object getRaw(String key) throws EaafException;
+
+ /**
+ * Set a raw object to storage.
+ *
+ * @param key Storagekey
+ * @param element Object to store
+ * @throws EaafException In case of a storage error
+ */
+ void putRaw(@Nonnull String key, @Nonnull Object element) throws EaafException;
+
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/utils/IPendingRequestIdGenerationStrategy.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/utils/IPendingRequestIdGenerationStrategy.java
index 5fe3fea6..d5dc8aca 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/utils/IPendingRequestIdGenerationStrategy.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/utils/IPendingRequestIdGenerationStrategy.java
@@ -3,39 +3,38 @@ package at.gv.egiz.eaaf.core.api.utils;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import at.gv.egiz.eaaf.core.exceptions.EAAFException;
+import at.gv.egiz.eaaf.core.exceptions.EaafException;
import at.gv.egiz.eaaf.core.exceptions.PendingReqIdValidationException;
public interface IPendingRequestIdGenerationStrategy {
- /**
- * Generate a new external pending-request id
- *
- * @return
- * @throws EAAFException
- */
- @Nonnull
- public String generateExternalPendingRequestId() throws EAAFException;
-
- /**
- * Validate a pendingRequestId according to implemented strategy
- *
- * @param pendingReqId pending-request Id that should be validated
- * @return internalPendingRequestId
- * @throws PendingReqIdValidationException
- */
- @Nonnull
- public String validateAndGetPendingRequestId(@Nullable String pendingReqId) throws PendingReqIdValidationException;
+ /**
+ * Generate a new external pending-request id.
+ *
+ * @return TransactionToken that can be used for pendingRequests
+ * @throws EaafException In case of a token generation error
+ */
+ @Nonnull
+ String generateExternalPendingRequestId() throws EaafException;
- /**
- * Get the internal pendingReqId without any validation
- *
- * @param pendingReqId pending-request Id that should be validated
- * @return internalPendingRequestId
- * @throws PendingReqIdValidationException
- */
- @Nonnull
- public String getPendingRequestIdWithOutChecks(@Nullable String externalPendingReqId) throws PendingReqIdValidationException;
+ /**
+ * Validate a pendingRequestId according to implemented strategy.
+ *
+ * @param pendingReqId pending-request Id that should be validated
+ * @return internalPendingRequestId
+ * @throws PendingReqIdValidationException In case of a token validation error
+ */
+ @Nonnull
+ String validateAndGetPendingRequestId(@Nullable String pendingReqId) throws PendingReqIdValidationException;
+ /**
+ * Get the internal pendingReqId without any validation.
+ *
+ * @param externalPendingReqId pending-request Id that should be validated
+ * @return internalPendingRequestId
+ * @throws PendingReqIdValidationException In case of token processing error
+ */
+ @Nonnull
+ String getPendingRequestIdWithOutChecks(@Nullable String externalPendingReqId) throws PendingReqIdValidationException;
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AttributeBuilderException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AttributeBuilderException.java
index f02b3bf6..e98ffca0 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AttributeBuilderException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AttributeBuilderException.java
@@ -1,37 +1,30 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.exceptions;
-public class AttributeBuilderException extends EAAFIDPException {
+public class AttributeBuilderException extends EaafIdpException {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- public AttributeBuilderException(String attrName) {
- super("builder.12", new Object[] {attrName});
- }
+ public AttributeBuilderException(final String attrName) {
+ super("builder.12", new Object[] { attrName });
+ }
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AttributePolicyException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AttributePolicyException.java
index 4a0e2fc1..a91d7520 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AttributePolicyException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AttributePolicyException.java
@@ -1,44 +1,37 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.exceptions;
public class AttributePolicyException extends AttributeBuilderException {
-
- private static final long serialVersionUID = 1L;
-
- private String attributeName;
-
- public AttributePolicyException(String attributeName) {
- super("Attribute " + attributeName + " is restricted by IDP policy.");
- this.attributeName = attributeName;
- }
-
- public String getAttributeName() {
- return attributeName;
- }
-
+
+ private static final long serialVersionUID = 1L;
+
+ private final String attributeName;
+
+ public AttributePolicyException(final String attributeName) {
+ super("Attribute " + attributeName + " is restricted by IDP policy.");
+ this.attributeName = attributeName;
+ }
+
+ public String getAttributeName() {
+ return attributeName;
+ }
+
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AuthnRequestValidatorException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AuthnRequestValidatorException.java
index 30db0b09..b30363fa 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AuthnRequestValidatorException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/AuthnRequestValidatorException.java
@@ -1,84 +1,93 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.exceptions;
import at.gv.egiz.eaaf.core.api.IRequest;
/**
+ * Authentication request validation error.
+ *
* @author tlenz
*
*/
-public class AuthnRequestValidatorException extends EAAFProtocolException {
-
- private IRequest errorRequest = null;
- protected String statusCodeValue;
-
- /**
- *
- */
- private static final long serialVersionUID = 4939651000658508576L;
-
- /**
- * @param messageId
- * @param parameters
- */
- public AuthnRequestValidatorException(String internalMsgId, Object[] params) {
- super(internalMsgId, params);
-
- }
-
- public AuthnRequestValidatorException(String internalMsgId, Object[] params, Throwable e) {
- super(internalMsgId, params,e);
-
- }
-
- public AuthnRequestValidatorException(String internalMsgId, Object[] params, IRequest errorRequest) {
- super(internalMsgId, params);
- this.errorRequest = errorRequest;
-
- }
-
- public AuthnRequestValidatorException(String internalMsgId, Object[] params, IRequest errorRequest, Throwable e) {
- super(internalMsgId, params, e);
- this.errorRequest = errorRequest;
-
- }
-
- /**
- * @return the errorRequest
- */
- public IRequest getErrorRequest() {
- return errorRequest;
- }
-
- public String getStatusCodeValue() {
- return statusCodeValue;
- }
-
-
+public class AuthnRequestValidatorException extends EaafProtocolException {
+
+ private IRequest errorRequest = null;
+ protected String statusCodeValue;
+
+ private static final long serialVersionUID = 4939651000658508576L;
+
+ public AuthnRequestValidatorException(final String internalMsgId, final Object[] params) {
+ super(internalMsgId, params);
+
+ }
+
+ public AuthnRequestValidatorException(final String internalMsgId, final Object[] params, final Throwable e) {
+ super(internalMsgId, params, e);
+
+ }
+
+ /**
+ * Protocol validation error.
+ *
+ * @param internalMsgId Internal error-code
+ * @param params Message parameters
+ * @param errorRequest Pending-Request that generates the error
+ */
+ public AuthnRequestValidatorException(final String internalMsgId, final Object[] params,
+ final IRequest errorRequest) {
+ super(internalMsgId, params);
+ this.errorRequest = errorRequest;
+
+ }
+
+ /**
+ * Protocol validation error.
+ *
+ * @param internalMsgId Internal error-code
+ * @param params Message parameters
+ * @param errorRequest Pending-Request that generates the error
+ * @param e error
+ */
+ public AuthnRequestValidatorException(final String internalMsgId, final Object[] params, final IRequest errorRequest,
+ final Throwable e) {
+ super(internalMsgId, params, e);
+ this.errorRequest = errorRequest;
+
+ }
+
+ /**
+ * PendingRequest object that generates the error.
+ *
+ * @return the errorRequest
+ */
+ public IRequest getErrorRequest() {
+ return errorRequest;
+ }
+
+ public String getStatusCodeValue() {
+ return statusCodeValue;
+ }
+
+ public void setStatusCodeValue(String statusCodeValue) {
+ this.statusCodeValue = statusCodeValue;
+ }
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFAuthenticationException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFAuthenticationException.java
deleted file mode 100644
index e6bdb804..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFAuthenticationException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.exceptions;
-
-public class EAAFAuthenticationException extends EAAFException {
-
-
-
- private static final long serialVersionUID = -4793625336456467005L;
-
- public EAAFAuthenticationException(String internalMsgId, Object[] params) {
- super(internalMsgId, params);
-
- }
-
- public EAAFAuthenticationException(String internalMsgId, Object[] params, Throwable e) {
- super(internalMsgId, params, e);
-
- }
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFBuilderException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFBuilderException.java
deleted file mode 100644
index dc2b61f7..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFBuilderException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.exceptions;
-
-public class EAAFBuilderException extends EAAFException {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- public EAAFBuilderException(String errorId, Object[] params, String msg) {
- super(errorId, params);
- }
-
- public EAAFBuilderException(String errorId, Object[] objects, String message, Throwable ex) {
- super(errorId, objects, ex);
- }
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFConfigurationException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFConfigurationException.java
deleted file mode 100644
index 71f46cb5..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFConfigurationException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.exceptions;
-
-public class EAAFConfigurationException extends EAAFException {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- public EAAFConfigurationException(String msg, Object[] params) {
- super(msg, params);
- }
-
- public EAAFConfigurationException(String msg, Object[] params, Throwable e) {
- super(msg, params, e);
- }
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFException.java
deleted file mode 100644
index affd1dab..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFException.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.exceptions;
-
-import at.gv.egiz.eaaf.core.impl.logging.LogMessageProviderFactory;
-
-public class EAAFException extends Exception {
-
- private static final long serialVersionUID = 1L;
-
- private String errorId = null;
- private Object[] params = null;
-
- public EAAFException(String errorId) {
- super(LogMessageProviderFactory.getMessager().getMessage(errorId, null));
- this.errorId = errorId;
- }
-
- public EAAFException(String errorId, Object[] params) {
- super(LogMessageProviderFactory.getMessager().getMessage(errorId, params));
- this.errorId = errorId;
- this.params = params;
-
- }
-
- public EAAFException(String errorId, Object[] params, Throwable e) {
- super(LogMessageProviderFactory.getMessager().getMessage(errorId, params), e);
- this.errorId = errorId;
- this.params = params;
-
- }
-
- public String getErrorId() {
- return this.errorId;
-
- }
-
- public Object[] getParams() {
- return this.params;
-
- }
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFIDPException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFIDPException.java
deleted file mode 100644
index 7f504a5a..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFIDPException.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.exceptions;
-
-public class EAAFIDPException extends EAAFException {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- public EAAFIDPException(String msg) {
- super(msg, null);
-
- }
-
- public EAAFIDPException(String msg, Object[] params) {
- super(msg, params);
-
- }
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFIllegalStateException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFIllegalStateException.java
deleted file mode 100644
index 95688260..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFIllegalStateException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.exceptions;
-
-import at.gv.egiz.eaaf.core.api.IStatusMessenger;
-
-public class EAAFIllegalStateException extends EAAFException {
- private static final long serialVersionUID = 261484121729891927L;
-
- public EAAFIllegalStateException(Object[] params) {
- super(IStatusMessenger.CODES_INTERNAL_ILLEGAL_STATE, params);
-
- }
-
- public EAAFIllegalStateException(Object[] params, Throwable e) {
- super(IStatusMessenger.CODES_INTERNAL_ILLEGAL_STATE, params, e);
-
- }
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFJsonMapperException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFJsonMapperException.java
deleted file mode 100644
index 41431d02..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFJsonMapperException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package at.gv.egiz.eaaf.core.exceptions;
-
-public class EAAFJsonMapperException extends EAAFParserException {
-
-
- private static final long serialVersionUID = 2278865064672630267L;
-
- public EAAFJsonMapperException(String reason) {
- super("parser.03", new Object[] {reason});
- }
-
- public EAAFJsonMapperException(String reason, Throwable ex) {
- super("parser.03", new Object[] {reason}, ex);
- }
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFParserException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFParserException.java
deleted file mode 100644
index 07987f92..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFParserException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.exceptions;
-
-public class EAAFParserException extends EAAFException {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- public EAAFParserException(String errorId, Object[] params) {
- super(errorId, params);
- }
-
- public EAAFParserException(String errorId, Object[] objects, Throwable ex) {
- super(errorId, objects, ex);
- }
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFProtocolException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFProtocolException.java
deleted file mode 100644
index da529c29..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFProtocolException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.exceptions;
-
-public class EAAFProtocolException extends EAAFException {
-
- private static final long serialVersionUID = 7982298114399440473L;
-
- public EAAFProtocolException(String errorId, Object[] params) {
- super(errorId, params);
-
- }
-
- public EAAFProtocolException(String errorId, Object[] params, Throwable e) {
- super(errorId, params, e);
- }
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFSSOException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFSSOException.java
deleted file mode 100644
index 27afcd4a..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFSSOException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.exceptions;
-
-public class EAAFSSOException extends EAAFException {
-
- /**
- *
- */
- private static final long serialVersionUID = -5942886204347860148L;
-
- public EAAFSSOException(String errorId, Object[] params, Throwable e) {
- super(errorId, params, e);
-
- }
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFServiceException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFServiceException.java
deleted file mode 100644
index 7094c270..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFServiceException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package at.gv.egiz.eaaf.core.exceptions;
-
-import javax.annotation.Nonnull;
-
-public abstract class EAAFServiceException extends EAAFException {
-
- private static final long serialVersionUID = -867758153828290337L;
-
- public EAAFServiceException(String errorId, Object[] params) {
- super(errorId, params);
-
- }
-
- public EAAFServiceException(String errorId, Object[] params, Throwable e) {
- super(errorId, params, e);
-
- }
-
- /**
- * Get a textual identifier of the service that throws this exception
- *
- * @return
- */
- @Nonnull
- protected abstract String getServiceIdentifier();
-
-
-
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFStorageException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFStorageException.java
deleted file mode 100644
index b99472c3..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EAAFStorageException.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.exceptions;
-
-public class EAAFStorageException extends EAAFException {
-
- private static final long serialVersionUID = 1L;
-
- public EAAFStorageException(String msg) {
- super("internal.02", new Object[] {msg});
- }
-
- public EAAFStorageException(String msg, Throwable e) {
- super("internal.02", new Object[] {msg}, e);
- }
-
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafAuthenticationException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafAuthenticationException.java
new file mode 100644
index 00000000..22c8a8ca
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafAuthenticationException.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.exceptions;
+
+public class EaafAuthenticationException extends EaafException {
+
+ private static final long serialVersionUID = -4793625336456467005L;
+
+ public EaafAuthenticationException(final String internalMsgId, final Object[] params) {
+ super(internalMsgId, params);
+
+ }
+
+ public EaafAuthenticationException(final String internalMsgId, final Object[] params, final Throwable e) {
+ super(internalMsgId, params, e);
+
+ }
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafBuilderException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafBuilderException.java
new file mode 100644
index 00000000..70e75e87
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafBuilderException.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.exceptions;
+
+public class EaafBuilderException extends EaafException {
+
+ private static final long serialVersionUID = 1L;
+ private final String msg;
+
+ public EaafBuilderException(final String errorId, final Object[] params, final String msg) {
+ super(errorId, params);
+ this.msg = msg;
+ }
+
+ public EaafBuilderException(final String errorId, final Object[] objects, final String message, final Throwable ex) {
+ super(errorId, objects, ex);
+ this.msg = message;
+ }
+
+ public String getDetailMessage() {
+ return this.msg;
+ }
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafConfigurationException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafConfigurationException.java
new file mode 100644
index 00000000..7ae749a1
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafConfigurationException.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.exceptions;
+
+public class EaafConfigurationException extends EaafException {
+
+ private static final long serialVersionUID = 1L;
+
+ public EaafConfigurationException(final String msg, final Object[] params) {
+ super(msg, params);
+ }
+
+ public EaafConfigurationException(final String msg, final Object[] params, final Throwable e) {
+ super(msg, params, e);
+ }
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafException.java
new file mode 100644
index 00000000..351c6bbe
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafException.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.exceptions;
+
+import java.util.Arrays;
+
+import javax.annotation.Nullable;
+
+import at.gv.egiz.eaaf.core.impl.logging.LogMessageProviderFactory;
+
+public class EaafException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
+ private String errorId = null;
+ private Object[] params = null;
+
+ public EaafException(final String errorId) {
+ super(LogMessageProviderFactory.getMessager().getMessage(errorId, null));
+ this.errorId = errorId;
+ }
+
+ /**
+ * Generic processing-error in EAAF framework.
+ *
+ * @param errorId Internal error-code that is also used to generate i18n
+ * messages
+ * @param params Message parameters
+ */
+ public EaafException(final String errorId, final Object[] params) {
+ super(LogMessageProviderFactory.getMessager().getMessage(errorId, params));
+ this.errorId = errorId;
+ this.params = makeCopyIfNotNull(params);
+
+ }
+
+ /**
+ * Generic processing-error in EAAF framework.
+ *
+ * @param errorId Internal error-code that is also used to generate i18n
+ * messages
+ * @param params Message parameters
+ * @param e Exception
+ */
+ public EaafException(final String errorId, final Object[] params, final Throwable e) {
+ super(LogMessageProviderFactory.getMessager().getMessage(errorId, params), e);
+ this.errorId = errorId;
+ this.params = makeCopyIfNotNull(params);
+
+ }
+
+ public String getErrorId() {
+ return this.errorId;
+
+ }
+
+ /**
+ * Get a copy of message parameters.
+ *
+ * @return
+ */
+ @Nullable
+ public Object[] getParams() {
+ return makeCopyIfNotNull(this.params);
+
+ }
+
+ private Object[] makeCopyIfNotNull(Object[] params) {
+ if (params != null) {
+ return Arrays.copyOf(params, params.length);
+ } else {
+ return null;
+ }
+ }
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafFactoryException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafFactoryException.java
new file mode 100644
index 00000000..4e2a0242
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafFactoryException.java
@@ -0,0 +1,28 @@
+package at.gv.egiz.eaaf.core.exceptions;
+
+public class EaafFactoryException extends EaafException {
+
+ private static final long serialVersionUID = 4710605711787308220L;
+
+ /**
+ * In case that a factory can not build an object.
+ *
+ * @param errorId ErrorCode
+ * @param params Message parameters
+ * @param e Exception
+ */
+ public EaafFactoryException(String errorId, Object[] params, Throwable e) {
+ super(errorId, params, e);
+ }
+
+ /**
+ * In case that a factory can not build an object.
+ *
+ * @param errorId ErrorCode
+ * @param params Message parameters
+ */
+ public EaafFactoryException(String errorId, Object[] params) {
+ super(errorId, params);
+ }
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafIdpException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafIdpException.java
new file mode 100644
index 00000000..52f9abbb
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafIdpException.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.exceptions;
+
+public class EaafIdpException extends EaafException {
+
+ private static final long serialVersionUID = 1L;
+
+ public EaafIdpException(final String msg) {
+ super(msg, null);
+
+ }
+
+ public EaafIdpException(final String msg, final Object[] params) {
+ super(msg, params);
+
+ }
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafIllegalStateException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafIllegalStateException.java
new file mode 100644
index 00000000..34544a95
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafIllegalStateException.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.exceptions;
+
+import at.gv.egiz.eaaf.core.api.IStatusMessenger;
+
+public class EaafIllegalStateException extends EaafException {
+ private static final long serialVersionUID = 261484121729891927L;
+
+ public EaafIllegalStateException(final Object[] params) {
+ super(IStatusMessenger.CODES_INTERNAL_ILLEGAL_STATE, params);
+
+ }
+
+ public EaafIllegalStateException(final Object[] params, final Throwable e) {
+ super(IStatusMessenger.CODES_INTERNAL_ILLEGAL_STATE, params, e);
+
+ }
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafJsonMapperException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafJsonMapperException.java
new file mode 100644
index 00000000..331a9551
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafJsonMapperException.java
@@ -0,0 +1,15 @@
+package at.gv.egiz.eaaf.core.exceptions;
+
+public class EaafJsonMapperException extends EaafParserException {
+
+ private static final long serialVersionUID = 2278865064672630267L;
+
+ public EaafJsonMapperException(final String reason) {
+ super("parser.03", new Object[] { reason });
+ }
+
+ public EaafJsonMapperException(final String reason, final Throwable ex) {
+ super("parser.03", new Object[] { reason }, ex);
+ }
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafParserException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafParserException.java
new file mode 100644
index 00000000..51909d74
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafParserException.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.exceptions;
+
+public class EaafParserException extends EaafException {
+
+ private static final long serialVersionUID = 1L;
+
+ public EaafParserException(final String errorId, final Object[] params) {
+ super(errorId, params);
+ }
+
+ public EaafParserException(final String errorId, final Object[] objects, final Throwable ex) {
+ super(errorId, objects, ex);
+ }
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafProtocolException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafProtocolException.java
new file mode 100644
index 00000000..d5d73608
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafProtocolException.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.exceptions;
+
+public class EaafProtocolException extends EaafException {
+
+ private static final long serialVersionUID = 7982298114399440473L;
+
+ public EaafProtocolException(final String errorId, final Object[] params) {
+ super(errorId, params);
+
+ }
+
+ public EaafProtocolException(final String errorId, final Object[] params, final Throwable e) {
+ super(errorId, params, e);
+ }
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafServiceException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafServiceException.java
new file mode 100644
index 00000000..7ba10d54
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafServiceException.java
@@ -0,0 +1,27 @@
+package at.gv.egiz.eaaf.core.exceptions;
+
+import javax.annotation.Nonnull;
+
+public abstract class EaafServiceException extends EaafException {
+
+ private static final long serialVersionUID = -867758153828290337L;
+
+ public EaafServiceException(final String errorId, final Object[] params) {
+ super(errorId, params);
+
+ }
+
+ public EaafServiceException(final String errorId, final Object[] params, final Throwable e) {
+ super(errorId, params, e);
+
+ }
+
+ /**
+ * Get a textual identifier of the service that throws this exception.
+ *
+ * @return
+ */
+ @Nonnull
+ protected abstract String getServiceIdentifier();
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafSsoException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafSsoException.java
new file mode 100644
index 00000000..fc740e6a
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafSsoException.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.exceptions;
+
+public class EaafSsoException extends EaafException {
+
+ private static final long serialVersionUID = -5942886204347860148L;
+
+ public EaafSsoException(final String errorId, final Object[] params, final Throwable e) {
+ super(errorId, params, e);
+
+ }
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafStorageException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafStorageException.java
new file mode 100644
index 00000000..990e7108
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafStorageException.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.exceptions;
+
+public class EaafStorageException extends EaafException {
+
+ private static final long serialVersionUID = 1L;
+
+ public EaafStorageException(final String msg) {
+ super("internal.02", new Object[] { msg });
+ }
+
+ public EaafStorageException(final String msg, final Throwable e) {
+ super("internal.02", new Object[] { msg }, e);
+ }
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/GUIBuildException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/GUIBuildException.java
deleted file mode 100644
index 011488f7..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/GUIBuildException.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.exceptions;
-
-/**
- * @author tlenz
- *
- */
-public class GUIBuildException extends Exception {
-
- private static final long serialVersionUID = -278663750102498205L;
-
- /**
- * @param string
- */
- public GUIBuildException(String msg) {
- super(msg);
-
- }
-
- public GUIBuildException(String msg, Throwable e) {
- super(msg, e);
-
- }
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/GuiBuildException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/GuiBuildException.java
new file mode 100644
index 00000000..9e9c08a7
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/GuiBuildException.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.exceptions;
+
+/**
+ * GUI generation error.
+ *
+ * @author tlenz
+ *
+ */
+public class GuiBuildException extends Exception {
+
+ private static final long serialVersionUID = -278663750102498205L;
+
+ /**
+ * GUI generation error.
+ *
+ * @param msg error message
+ */
+ public GuiBuildException(final String msg) {
+ super(msg);
+
+ }
+
+ public GuiBuildException(final String msg, final Throwable e) {
+ super(msg, e);
+
+ }
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/InvalidDateFormatAttributeException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/InvalidDateFormatAttributeException.java
index 5d35ac84..aeddeaac 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/InvalidDateFormatAttributeException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/InvalidDateFormatAttributeException.java
@@ -1,39 +1,30 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.exceptions;
public class InvalidDateFormatAttributeException extends AttributeBuilderException {
- private static final long serialVersionUID = 1L;
-
- public InvalidDateFormatAttributeException() {
- super("Date format is invalid.");
- }
+ private static final long serialVersionUID = 1L;
+
+ public InvalidDateFormatAttributeException() {
+ super("Date format is invalid.");
+ }
-
-
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/InvalidProtocolRequestException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/InvalidProtocolRequestException.java
index 8ed09525..1a0437ab 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/InvalidProtocolRequestException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/InvalidProtocolRequestException.java
@@ -1,47 +1,33 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.exceptions;
-/**
- * @author tlenz
- *
- */
-public class InvalidProtocolRequestException extends EAAFProtocolException {
+public class InvalidProtocolRequestException extends EaafProtocolException {
- /**
- *
- */
- private static final long serialVersionUID = -7866198705324084601L;
+ private static final long serialVersionUID = -7866198705324084601L;
- public InvalidProtocolRequestException(String internalMsgId, Object[] params) {
- super(internalMsgId, params);
- }
+ public InvalidProtocolRequestException(final String internalMsgId, final Object[] params) {
+ super(internalMsgId, params);
+ }
- public InvalidProtocolRequestException(String internalMsgId, Object[] params, Throwable e) {
- super(internalMsgId, params, e);
- }
+ public InvalidProtocolRequestException(final String internalMsgId, final Object[] params, final Throwable e) {
+ super(internalMsgId, params, e);
+ }
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/NoPassivAuthenticationException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/NoPassivAuthenticationException.java
index 495d61bc..bf7a15c6 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/NoPassivAuthenticationException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/NoPassivAuthenticationException.java
@@ -1,42 +1,32 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.exceptions;
import at.gv.egiz.eaaf.core.api.IStatusMessenger;
-public class NoPassivAuthenticationException extends EAAFAuthenticationException {
+public class NoPassivAuthenticationException extends EaafAuthenticationException {
- public NoPassivAuthenticationException() {
- super(IStatusMessenger.CODES_INTERNAL_ERROR_AUTH_REQUEST_INVALID, null);
- }
+ public NoPassivAuthenticationException() {
+ super(IStatusMessenger.CODES_INTERNAL_ERROR_AUTH_REQUEST_INVALID, null);
+ }
- /**
- *
- */
- private static final long serialVersionUID = 596920452166197688L;
+ private static final long serialVersionUID = 596920452166197688L;
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/PendingReqIdValidationException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/PendingReqIdValidationException.java
index e558c3cb..ddc051b0 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/PendingReqIdValidationException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/PendingReqIdValidationException.java
@@ -1,60 +1,62 @@
package at.gv.egiz.eaaf.core.exceptions;
-
import javax.annotation.Nonnull;
import at.gv.egiz.eaaf.core.api.IRequest;
-public class PendingReqIdValidationException extends EAAFException {
-
- /**
- *
- */
- private static final long serialVersionUID = -6886402432880791308L;
-
- private final String invalidInternalPendingReqId;
- private IRequest invalidPendingReq;
-
- /**
- *
- * @param pendingReqId
- * @param reason
- */
- public PendingReqIdValidationException(String internalPendingReqId, @Nonnull String reason) {
- super("process.99", new Object[] {internalPendingReqId, reason});
- this.invalidInternalPendingReqId = internalPendingReqId;
-
- }
-
- public PendingReqIdValidationException(String internalPendingReqId, @Nonnull String reason, Throwable e) {
- super("process.99", new Object[] {internalPendingReqId, reason}, e );
- this.invalidInternalPendingReqId = internalPendingReqId;
- }
-
- /**
- * Get the invalid pending-request
- *
- * @return
- */
- public IRequest getInvalidPendingReq() {
- return invalidPendingReq;
- }
-
-
- /**
- * Get the internal invalid pending-request id
- *
- * @return
- */
- public String getInvalidInternalPendingReqId() {
- return invalidInternalPendingReqId;
- }
-
- public void setInvalidPendingReq(IRequest invalidPendingReq) {
- this.invalidPendingReq = invalidPendingReq;
-
- }
-
-
+public class PendingReqIdValidationException extends EaafException {
+
+ private static final long serialVersionUID = -6886402432880791308L;
+
+ private final String invalidInternalPendingReqId;
+ private IRequest invalidPendingReq;
+
+ /**
+ * Pending-Request Id validation error.
+ *
+ * @param internalPendingReqId Internal Pending-Request Id
+ * @param reason error-message
+ */
+ public PendingReqIdValidationException(final String internalPendingReqId, @Nonnull final String reason) {
+ super("process.99", new Object[] { internalPendingReqId, reason });
+ this.invalidInternalPendingReqId = internalPendingReqId;
+
+ }
+
+ /**
+ * Pending-Request Id validation error.
+ *
+ * @param internalPendingReqId Internal Pending-Request Id
+ * @param reason error-message
+ * @param e error
+ */
+ public PendingReqIdValidationException(final String internalPendingReqId, @Nonnull final String reason,
+ final Throwable e) {
+ super("process.99", new Object[] { internalPendingReqId, reason }, e);
+ this.invalidInternalPendingReqId = internalPendingReqId;
+ }
+
+ /**
+ * Get the invalid pending-request.
+ *
+ * @return
+ */
+ public IRequest getInvalidPendingReq() {
+ return invalidPendingReq;
+ }
+
+ /**
+ * Get the internal invalid pending-request id.
+ *
+ * @return
+ */
+ public String getInvalidInternalPendingReqId() {
+ return invalidInternalPendingReqId;
+ }
+
+ public void setInvalidPendingReq(final IRequest invalidPendingReq) {
+ this.invalidPendingReq = invalidPendingReq;
+
+ }
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProcessExecutionException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProcessExecutionException.java
index b72237b2..8d97ada5 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProcessExecutionException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProcessExecutionException.java
@@ -1,62 +1,53 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.exceptions;
/**
* Indicates a problem when executing a process.
- *
+ *
* @author tknall
- *
+ *
*/
public class ProcessExecutionException extends Exception {
- private static final long serialVersionUID = 1L;
+ 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 and the respective {@code cause}.
+ *
+ * @param message The message.
+ * @param cause The cause.
+ */
+ public ProcessExecutionException(final String message, final 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);
- }
+ /**
+ * Creates a new process execution exception providing a {@code message}
+ * describing the reason.
+ *
+ * @param message The message.
+ */
+ public ProcessExecutionException(final String message) {
+ super(message);
+ }
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProtocolNotActiveException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProtocolNotActiveException.java
index 79c94c7b..014ec9b2 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProtocolNotActiveException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProtocolNotActiveException.java
@@ -1,44 +1,36 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.exceptions;
/**
+ * Protocol not-active error.
+ *
* @author tlenz
*
*/
-public class ProtocolNotActiveException extends EAAFProtocolException {
+public class ProtocolNotActiveException extends EaafProtocolException {
- /**
- *
- */
- private static final long serialVersionUID = 1832697083163940710L;
+ private static final long serialVersionUID = 1832697083163940710L;
- public ProtocolNotActiveException(String internalMsgId, Object[] params) {
- super(internalMsgId, params);
- }
+ public ProtocolNotActiveException(final String internalMsgId, final Object[] params) {
+ super(internalMsgId, params);
+ }
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProtocolResponseExceptions.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProtocolResponseExceptions.java
index 194505d3..7a1af227 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProtocolResponseExceptions.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/ProtocolResponseExceptions.java
@@ -1,14 +1,14 @@
package at.gv.egiz.eaaf.core.exceptions;
-public class ProtocolResponseExceptions extends EAAFProtocolException {
+public class ProtocolResponseExceptions extends EaafProtocolException {
- private static final long serialVersionUID = -7866198705324084601L;
+ private static final long serialVersionUID = -7866198705324084601L;
- public ProtocolResponseExceptions(String internalMsgId, Object[] params) {
- super(internalMsgId, params);
- }
+ public ProtocolResponseExceptions(final String internalMsgId, final Object[] params) {
+ super(internalMsgId, params);
+ }
- public ProtocolResponseExceptions(String internalMsgId, Object[] params, Throwable e) {
- super(internalMsgId, params, e);
- }
+ public ProtocolResponseExceptions(final String internalMsgId, final Object[] params, final Throwable e) {
+ super(internalMsgId, params, e);
+ }
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/SLOException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/SLOException.java
deleted file mode 100644
index 4a52e7a2..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/SLOException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.exceptions;
-
-/**
- * @author tlenz
- *
- */
-public class SLOException extends EAAFException {
- private static final long serialVersionUID = -5284624715788385022L;
-
- /**
- * @param messageId
- * @param parameters
- */
- public SLOException(String messageId, Object[] parameters) {
- super(messageId, parameters);
-
- }
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/SloException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/SloException.java
new file mode 100644
index 00000000..4924fa6a
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/SloException.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.exceptions;
+
+/**
+ * Single Log-Out processing error.
+ *
+ * @author tlenz
+ *
+ */
+public class SloException extends EaafException {
+ private static final long serialVersionUID = -5284624715788385022L;
+
+ public SloException(final String messageId, final Object[] parameters) {
+ super(messageId, parameters);
+
+ }
+
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/TaskExecutionException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/TaskExecutionException.java
index 773cbc4a..deccb6f0 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/TaskExecutionException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/TaskExecutionException.java
@@ -1,77 +1,73 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.exceptions;
import at.gv.egiz.eaaf.core.api.IRequest;
/**
+ * Task execution error.
+ *
* @author tlenz
*
*/
public class TaskExecutionException extends ProcessExecutionException {
- private static final long serialVersionUID = 1L;
- Throwable originalException = null;
- String pendingRequestID = null;
-
- /**
- * @param message
- * @param cause
- */
- public TaskExecutionException(IRequest pendingReq, String message, Throwable cause) {
- super(message, cause);
- this.originalException = cause;
-
- if (pendingReq.getPendingRequestId() != null && !pendingReq.getPendingRequestId().isEmpty())
- this.pendingRequestID = pendingReq.getPendingRequestId();
-
- }
+ private static final long serialVersionUID = 1L;
+ Throwable originalException = null;
+ String pendingRequestID = null;
+
+ /**
+ * Task execution error.
+ *
+ * @param pendingReq Current processed pending-request
+ * @param message error message
+ * @param cause error reason
+ */
+ public TaskExecutionException(final IRequest pendingReq, final String message, final Throwable cause) {
+ super(message, cause);
+ this.originalException = cause;
+
+ if (pendingReq.getPendingRequestId() != null && !pendingReq.getPendingRequestId().isEmpty()) {
+ this.pendingRequestID = pendingReq.getPendingRequestId();
+ }
+
+ }
+
+ /**
+ * Get the original internal exception from task.
+ *
+ * @return the originalException
+ */
+ public Throwable getOriginalException() {
+ return originalException;
+
+ }
- /**
- * Get the original internal exception from task
- *
- * @return the originalException
- */
- public Throwable getOriginalException() {
- return originalException;
-
- }
+ /**
+ * Get the pending-request ID of that request, which was processed when the
+ * exception occurs.
+ *
+ * @return the pendingRequestID
+ */
+ public String getPendingRequestID() {
+ return pendingRequestID;
+ }
- /**
- * Get the pending-request ID of that request, which was processed when the exception occurs
- *
- * @return the pendingRequestID
- */
- public String getPendingRequestID() {
- return pendingRequestID;
- }
-
-
-
-
-
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/UnavailableAttributeException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/UnavailableAttributeException.java
index 626cbea7..2bec2d2b 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/UnavailableAttributeException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/UnavailableAttributeException.java
@@ -1,46 +1,36 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.exceptions;
public class UnavailableAttributeException extends AttributeBuilderException {
- /**
- *
- */
- private static final long serialVersionUID = -1114323185905118432L;
+ private static final long serialVersionUID = -1114323185905118432L;
+
+ private final String attributeName;
- private final String attributeName;
-
- public UnavailableAttributeException(String attributeName) {
- super(attributeName);
- this.attributeName = attributeName;
- }
+ public UnavailableAttributeException(final String attributeName) {
+ super(attributeName);
+ this.attributeName = attributeName;
+ }
- public String getAttributeName() {
- return attributeName;
- }
+ public String getAttributeName() {
+ return attributeName;
+ }
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/XPathException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/XPathException.java
index fe3a96e6..b20efe3d 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/XPathException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/XPathException.java
@@ -1,30 +1,21 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
package at.gv.egiz.eaaf.core.exceptions;
@@ -33,34 +24,32 @@ import java.io.PrintWriter;
/**
* An exception occurred evaluating an XPath.
- *
+ *
*/
public class XPathException extends RuntimeException {
- /**
- *
- */
- private static final long serialVersionUID = 1736311265333034392L;
-/** The wrapped exception. */
+
+ private static final long serialVersionUID = 1736311265333034392L;
+ /** The wrapped exception. */
private Throwable wrapped;
-
+
/**
* Create a <code>XPathException</code>.
- *
+ *
* @param message The exception message.
* @param wrapped The exception being the likely cause of this exception.
*/
- public XPathException(String message, Throwable wrapped) {
+ public XPathException(final String message, final Throwable wrapped) {
super(message);
- this.wrapped = wrapped;
+ this.wrapped = wrapped;
}
-
- public XPathException(String string) {
- super(string);
-}
-/**
+ public XPathException(final String string) {
+ super(string);
+ }
+
+ /**
* Return the wrapped exception.
- *
+ *
* @return The wrapped exception being the likely cause of this exception.
*/
public Throwable getWrapped() {
@@ -68,9 +57,12 @@ public class XPathException extends RuntimeException {
}
/**
+ * Print error message.
+ *
* @see java.lang.Throwable#printStackTrace(java.io.PrintStream)
*/
- public void printStackTrace(PrintStream s) {
+ @Override
+ public void printStackTrace(final PrintStream s) {
super.printStackTrace(s);
if (getWrapped() != null) {
s.print("Caused by: ");
@@ -79,14 +71,17 @@ public class XPathException extends RuntimeException {
}
/**
+ * Print error message.
+ *
* @see java.lang.Throwable#printStackTrace(java.io.PrintWriter)
*/
- public void printStackTrace(PrintWriter s) {
+ @Override
+ public void printStackTrace(final PrintWriter s) {
super.printStackTrace(s);
if (getWrapped() != null) {
s.print("Caused by: ");
getWrapped().printStackTrace(s);
}
}
-
+
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/data/Pair.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/data/Pair.java
index 1e2f6994..aabd7f00 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/data/Pair.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/data/Pair.java
@@ -1,55 +1,58 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+
package at.gv.egiz.eaaf.core.impl.data;
-public class Pair<P1, P2> {
- private final P1 first;
- private final P2 second;
-
- private Pair(final P1 newFirst, final P2 newSecond) {
- this.first = newFirst;
- this.second = newSecond;
- }
-
- public P1 getFirst() {
- return this.first;
- }
-
- public P2 getSecond() {
- return this.second;
- }
-
- public static <P1, P2> Pair<P1, P2> newInstance(final P1 newFirst, final P2 newSecond) {
- return new Pair<P1, P2>(newFirst, newSecond);
- }
-
- @Override
- public String toString() {
- return "[bPK-Value: " + getFirst() + " bPK-Type: " + getSecond() + "]";
-
- }
+import java.io.Serializable;
+import java.text.MessageFormat;
+
+public class Pair<P1, P2> implements Serializable {
+ private static final long serialVersionUID = 1022855782082259449L;
+ private final P1 first;
+ private final P2 second;
+
+ private static final String TO_STRING_PATTERN = "[{0}:{2} {1}:{3}]";
+
+ private Pair(final P1 newFirst, final P2 newSecond) {
+ this.first = newFirst;
+ this.second = newSecond;
+ }
+
+ public P1 getFirst() {
+ return this.first;
+ }
+
+ public P2 getSecond() {
+ return this.second;
+ }
+
+ public static <P1, P2> Pair<P1, P2> newInstance(final P1 newFirst, final P2 newSecond) {
+ return new Pair<>(newFirst, newSecond);
+ }
+
+ @Override
+ public String toString() {
+ return MessageFormat.format(TO_STRING_PATTERN,
+ this.first != null ? this.first.getClass().getSimpleName() : "null",
+ this.second != null ? this.second.getClass().getSimpleName() : "null",
+ this.first,
+ this.second);
+
+ }
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/data/Trible.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/data/Trible.java
deleted file mode 100644
index 1aa61a87..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/data/Trible.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
-package at.gv.egiz.eaaf.core.impl.data;
-
-public class Trible<P1, P2, P3> {
- private final P1 first;
- private final P2 second;
- private final P3 third;
-
- private Trible(final P1 newFirst, final P2 newSecond, final P3 newThird) {
- this.first = newFirst;
- this.second = newSecond;
- this.third = newThird;
- }
-
- public P1 getFirst() {
- return this.first;
- }
-
- public P2 getSecond() {
- return this.second;
- }
-
- public P3 getThird() {
- return this.third;
- }
-
- public static <P1, P2, P3> Trible<P1, P2, P3> newInstance(final P1 newFirst, final P2 newSecond, final P3 newThird) {
- return new Trible<P1, P2, P3>(newFirst, newSecond, newThird);
- }
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/data/Triple.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/data/Triple.java
new file mode 100644
index 00000000..e4d2c4dd
--- /dev/null
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/data/Triple.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
+package at.gv.egiz.eaaf.core.impl.data;
+
+import java.text.MessageFormat;
+
+public class Triple<P1, P2, P3> {
+
+ private static final String TO_STRING_PATTERN = "[{0}:{3} {1}:{4} {2}:{5}]";
+
+ private final P1 first;
+ private final P2 second;
+ private final P3 third;
+
+
+
+ private Triple(final P1 newFirst, final P2 newSecond, final P3 newThird) {
+ this.first = newFirst;
+ this.second = newSecond;
+ this.third = newThird;
+ }
+
+ public P1 getFirst() {
+ return this.first;
+ }
+
+ public P2 getSecond() {
+ return this.second;
+ }
+
+ public P3 getThird() {
+ return this.third;
+ }
+
+ public static <P1, P2, P3> Triple<P1, P2, P3> newInstance(final P1 newFirst, final P2 newSecond, final P3 newThird) {
+ return new Triple<>(newFirst, newSecond, newThird);
+ }
+
+ @Override
+ public String toString() {
+ return MessageFormat.format(TO_STRING_PATTERN,
+ this.first != null ? this.first.getClass().getSimpleName() : "null",
+ this.second != null ? this.second.getClass().getSimpleName() : "null",
+ this.third != null ? this.third.getClass().getSimpleName() : "null",
+ this.first,
+ this.second,
+ this.third);
+
+ }
+}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatusMessager.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatusMessager.java
index 19bc9951..dd3701b3 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatusMessager.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatusMessager.java
@@ -1,27 +1,22 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.impl.logging;
import java.util.Arrays;
@@ -30,32 +25,29 @@ import at.gv.egiz.eaaf.core.api.IStatusMessenger;
public class DummyStatusMessager implements IStatusMessenger {
- @Override
- public String getMessage(String messageId, Object[] parameters) {
- return "No StatusMessager-Backend available! "
- + "StatusCode:" + messageId
- + " Params:" + Arrays.toString(parameters);
-
- }
-
- @Override
- public String getMessageWithoutDefault(String messageId, Object[] parameters) {
- return getMessage(messageId, parameters);
-
- }
-
-
- @Override
- public String getResponseErrorCode(Throwable throwable) {
- return "No StatusMessager-Backend available!";
-
- }
-
- @Override
- public String mapInternalErrorToExternalError(String intErrorCode) {
- return "No StatusCode Mapper available! StatusCode:" + intErrorCode;
-
- }
+ @Override
+ public String getMessage(final String messageId, final Object[] parameters) {
+ return "No StatusMessager-Backend available! " + "StatusCode:" + messageId + " Params:"
+ + Arrays.toString(parameters);
+
+ }
+
+ @Override
+ public String getMessageWithoutDefault(final String messageId, final Object[] parameters) {
+ return getMessage(messageId, parameters);
+
+ }
+
+ @Override
+ public String getResponseErrorCode(final Throwable throwable) {
+ return "No StatusMessager-Backend available!";
+
+ }
+
+ @Override
+ public String mapInternalErrorToExternalError(final String intErrorCode) {
+ return "No StatusCode Mapper available! StatusCode:" + intErrorCode;
+ }
}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/LogMessageProviderFactory.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/LogMessageProviderFactory.java
index eb21edb0..ed0de0ca 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/LogMessageProviderFactory.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/LogMessageProviderFactory.java
@@ -1,27 +1,22 @@
-/*******************************************************************************
- * Copyright 2017 Graz University of Technology
- * EAAF-Core Components has been developed in a cooperation between EGIZ,
- * A-SIT Plus, A-SIT, and Graz University of Technology.
+/*
+ * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
+ * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
*
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
+ * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
+ * compliance with the Licence. You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- *******************************************************************************/
-/*******************************************************************************
- *******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software distributed under the Licence
+ * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the Licence for the specific language governing permissions and limitations under
+ * the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text file for details on the
+ * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
+ * works that you distribute must include a readable copy of the "NOTICE" text file.
+*/
+
package at.gv.egiz.eaaf.core.impl.logging;
import org.slf4j.Logger;
@@ -29,28 +24,35 @@ import org.slf4j.LoggerFactory;
import at.gv.egiz.eaaf.core.api.IStatusMessenger;
+/**
+ * Static Holder to get Spring-based messenger-implementation in non-Spring
+ * applications-code.
+ *
+ * @author tlenz
+ *
+ */
public class LogMessageProviderFactory {
- private static final Logger log = LoggerFactory.getLogger(LogMessageProviderFactory.class);
- private static IStatusMessenger internalMessager = new DummyStatusMessager();
-
- /**
- * Get the implementation specific StatusCode messager
- *
- * @return
- */
- public static IStatusMessenger getMessager() {
- return internalMessager;
-
- }
-
- /**
- * Set the implementation specific status messanger.
- *
- * @param messanger
- */
- public static void setStatusMessager(IStatusMessenger messanger) {
- internalMessager = messanger;
- log.info("Set StatusMessanger to '" + messanger.getClass().getName() + "'");
-
- }
+ private static final Logger log = LoggerFactory.getLogger(LogMessageProviderFactory.class);
+ private static IStatusMessenger internalMessager = new DummyStatusMessager();
+
+ /**
+ * Get the implementation specific StatusCode messager.
+ *
+ * @return
+ */
+ public static IStatusMessenger getMessager() {
+ return internalMessager;
+
+ }
+
+ /**
+ * Set the implementation specific status messanger.
+ *
+ * @param messanger Status messager implementation
+ */
+ public static void setStatusMessager(final IStatusMessenger messanger) {
+ internalMessager = messanger;
+ log.info("Set StatusMessanger to '" + messanger.getClass().getName() + "'");
+
+ }
}